Home Forums Gallery FAQs Downloads
 
 

Go Back   Meizu Me > miniPlayer M6 / SL > Community Development > Rockbox

Register Today!  

The structure of the Infomation Block for NANDBoot in M6SL

This is a discussion on The structure of the Infomation Block for NANDBoot in M6SL within the Rockbox forums, part of the Community Development category; The information blocks reside at the block1 & block2 of the NAND flash is employed by the bootrom to load ...


Reply
 
Thread Tools Display Modes
Old 04-01-2008   #1
Freshman
 
Join Date: Jan 2008
Posts: 46
Thanks: 0
Thanked 0 Times in 0 Posts
The structure of the Infomation Block for NANDBoot in M6SL

The information blocks reside at the block1 & block2 of the NAND flash is employed by the bootrom to load the bootloader and verify its integrity, they are also in use by the bootloader to load the firmware. If we want a multiboot option in rockbox, maybe we should find a way to utilize them.

Block1, Page 0
-------------------------------------------------------
0 [2 bytes] Device ID (HEX "87 00")
2 [254 bytes] Block Table (0 - good block, 1-FD, bad block, replaced by the block in this number, FE - to replace another block, FF - n/a )
0x100 [1 byte] Number of Reserved blocks
0x101 [3 bytes] Size of bootloader
0x104 [4 bytes] CRC/Checksum of bootloader
0x108 [1 byte] ECC_flag (0 = Disable ECC, 1= Enable ECC)
0x109 [1 byte] CRC_flag (0 = No CRC, 1 = CRC, 2 = Checksum)
0x10A [4 bytes] CRC/Checksum of Page 0

Block1, Page 1
-------------------------------------------------------
0 [2 bytes] N= Total Module Number ( HEX 00 02)


2 [10 x N bytes] Info table of each module
1 byte - Start block #
2 bytes - Start page #
4 bytes - CRC/Checksum of Module
3 bytes - Module Size in bytes
4 bytes - CRC/Checksum of Page 1
Block1 Page 3
-------------------------------------------------------
The bootloader is start at page 2 following the information blocks, it's a copy of Module 0.


Block 2 is a copy of Block1 for redundancy, if one of them is failed, the bootrom will choose another.

The firmware area is start from block 3 in normal (consists both Module 0 and Module 1).
kgb2008 nincs online   Reply With Quote
Old 04-01-2008   #2
Junior Member
 
markun's Avatar
 
Join Date: Mar 2008
Location: Netherlands
Posts: 72
Thanks: 0
Thanked 0 Times in 0 Posts
Thanks. Don't we need this info anyway if we want to boot rockbox even without a multiboot option?

I will not be working on the port this week due to exams.
markun nincs online   Reply With Quote
Old 04-01-2008   #3
Freshman
 
Join Date: Jan 2008
Posts: 46
Thanks: 0
Thanked 0 Times in 0 Posts
markun: You still need it if you want to build an opensource DFU tools, The DFU utils for M6SL will update the information blocks after burning the firmware, so the bootrom knows where to find the modules inside the nand flash.

I gather this info from the disassembly of updateNAND_BE_070831.dfu and M0_NandLoader.bin, pls verify this by upload the main area of blocks to binary dumping files with the NAND utility.

Last edited by kgb2008; 04-01-2008 at 12:57 PM.
kgb2008 nincs online   Reply With Quote

   
 
Meizu Me is an independent resource for all things Meizu. All rights reserved. Powered by vBulletin. Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc. Meizu M8, miniPlayer and all related names are properties of MEIZU Electronic Technology, Inc. Copyright 2009 Meizu Me.