Hi,
I have a problem booting DM6467 form NAND Flash. The Flash is NAND02G-B2D, Device_ID=DA and the DM6467 is rev1.1. The NAND write_protect is '0' and the EM_WAIT[5:3] are pulled high by the DM6467 internal pull-up resistors (the pins on the board are not connected)
I've connected LA to the EMIF bus and this is what I can see:
After reset the NAND Electronic Signature is read:
Then Block 1 page 0 address is set for reading:
Then the data is read:
After the hole page is read the RBL starts reading block 2 page 0 and keeps doing this until reads Block 5 page 0 and after that it gives-up.
It looks lake RBL either does not recognizes the magic number or read error happens.
I can also see that the magic number read is stored in the IRAM at address 0x20 and the next 4 words are the corrects UBL descriptor.
0x00000020 0xA1ACED00
0x00000024 0x00000020
0x00000028 0x00000007
0x0000002C 0x00000001
0x00000030 0x00000001
Here are my questions:
1. What are the possible magic numbers (what is UBL_MAGIC_SAFE)?
2. According to DM6467_Boot_loader_UserGuide.doc : "When the RBL reads the NAND memory pages, it always verifies the data by checking ECC values." - How is this done?
3. Do I need to write ECC/CRC information somewhere in the page where the magic number is written? Is that why it is failing?
4. How to calculate the ECC/CRC for the page where the magic number is written?
5. According to spraas0c.pdf Figure 10. Boot Parameter Search (page 11), the RBL will fail if "If no Magic Number Found, or NAND Read Error Detected." - How is the NAND Read Error Detected?
THANKS[:)]