I'm working on a project based on DaVinci TMSDM355ZCE 270 ($4A-97AC84W EI).
I can succesfully boot a user boot loader from UART and from SD-CARD.
When I boot UBL and U-boot from these interfaces, we can succesfully
acess the NAND (MT29F2G08AADWP:D) flash interfacing the AEMIF. I can
write and read pages.
However, I cannot boot from this same NAND Flash. Through an
oscilloscope, I verify that as soon as the DM355 is powered on, the
RBL perfoms the following steps, as expected:
-it resets flash;
-it reads the id correctly: 0x2CDA8095 ;
-it reads a sequence of 24 blocks in an attempts to find the correct descriptor;
-it boots from sdcard as it can't find descriptor.
The problem is that the RBL is expected to read blocks from 1 through 24 in its search for the descriptors,
but the oscilloscope shows us that it is actually reading blocks from 25 through 49.
The first read page address is 0x000640 (That is 0x320000 in the ARM address space).
What would make the RBL try to access page 0x000640?
I also copied the entire block 1(descriptor and ubl) into the block 25, which the RBL is trying to acccess first (0x000640).
The correct descriptor was read from block 25 but still the ubl was not load.
I also observed that before the RBL issues the reset command, it
issues four read cycles and then four write cycles without asserting
ALE neither CLE high.
This flash boots from the development kit EVMDM355.
Appreciate any help.
Regards,
Wandson