Hi,
For context, We are testing a custom PCB with a AM5K2E02 SOC. We can connect to the board using CCSv8 and XDS100v2 and are able to load and run basic programs. One of these basic programs reads/writes from the attached NAND flash using the EMIF interface. The reads/writes are successful.
When configuring the boot pins to boot from UART we are able to boot and run a program. However when loading a GP header image into NAND flash the processor does not boot.
The flash part is S34MS01G200TFV000 and should be compatible. The program we are using to write and read flash, is using code taken from the TI nandwriter located \ti\pdk_k2e_4_0_12\packages\ti\boot\writer\nand\ which has been modified to build for the AM5K2E02 instead of the C66x DSP. This should ensure the ECC and data is written to flash correctly.
I'd like to verify the following:
- The flash part is compatible with the bootloader and the bootloader is reading the flash geometry correctly and attempting to boot.
- The programmed image I have written to flash is of the right format (GP Header). Could an example file be provided? I have written it to every block in flash to avoid the RBL skipping bad blocks to be an issue.
I have will attach.dat files of the boot ROM Log and Trace data located at 0x0c1b0300 and 0x0c1b1fe0 captured shortly after power on (see reply below), similar to what was requested on this thread e2e.ti.com/.../2819493. If source cannot be provided so I can debug, can someone assist in telling me what the bootloader is doing?
Using the debugger I can see the PC seems to be around 0x4AFC most the time, sometimes it is just stuck at 0x9B8 which I understand to be an error state.
(0x02620020) DEVSTAT Value: 0067
(0x0C1B0500) Boot Parameter Table:
002A 0000 0050 0000 4019 0102 0000 0000 04E2 04E2 0001 0001 0000 0000 0000
0000 0000 0000 0000 0002 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
As you can see, many vital fields in the Boot Parameter table for the NAND boot mode are 0's. Does this indicate an issue? When using UART the fields are all filled in correctly, here there is only the chip select and block to boot from (0 anyway).
I am happy to run more tests and provide more data to understand why the boot is not completing.
Thanks,
Jasvinder