+ Reply to Thread
Results 1 to 3 of 3

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 ...

  1. #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).

  2. #2
    Junior Member
    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.

  3. #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.


 

Similar Threads

  1. The volume of radio of M6SL is too high [M6SL]
    By hahae in forum Audio and Sound
    Replies: 2
    Last Post: 03-18-2008, 03:00 AM
  2. M8 New UI structure
    By I4M8 in forum General Meizu M8
    Replies: 23
    Last Post: 03-17-2008, 10:42 AM
  3. A few questions on M6SL
    By vanderlan in forum General Meizu M6
    Replies: 5
    Last Post: 01-16-2008, 09:39 PM
  4. My MEIZU M6 its block
    By bbee in forum Technical
    Replies: 21
    Last Post: 04-17-2007, 03:08 AM