Part Number: AM2434
Other Parts Discussed in Thread: UNIFLASH
I'm trying to get our custom board to boot from QSPI flash.
We use the same flash device, and copied the schematic from the AM243x launchpad.
I have modified the SBL DFU uniflash project for our board.
I have modified the null bootloader project for our board.
USB DFU mode is set as the fallback boot method with resistors.
I run the usb_dfu_uniflash.py script with our config file to write the null SBL @ 0x0 and 0x400000.
The modified SBL DFU uniflash runs OK -- I see the USB device name change from "AM64x DFU" from the ROM boot to "AM64x-AM243x DFU" set in the SBL.
However, after programming the null SBL, when I change the bootswitches to QSPI flash, the device doesn't boot and falls back to USB DFU mode instantly.
I can load programs via JTAG and can successfully read the qspi flash -- I have read back and checksummed each 32KiB block of the bootloader and it matches the null bootloader .tiimage on my PC prior to upload.
I have tried putting a loop_forever as the first line in main() on the null bootloader, but when I connect to r5_0_0 it's never at a valid execution point.
I think the fact the "AM64x DFU" device instantly appears also indicates it's failing at the ROM boot stage and falling back to the secondary boot method.
We have tried putting a 100k pull down on the DQS->LBCLKO pins -- that net was floating around 0.7V prior to this before any traffic started and is now close to 0V before traffic so this looks like a worthwhile mod.
I have tried with B8 in positions 0 and 1 -- from the AM243x TRM 0 seems to be correct for the DQS->LBCLKO connection, although the MCU-PLUS-SDK tells you to set this to 1 on the launchpad.
I am using mcu_plus_sdk_am243x_10_01_00_32.
Questions:
Are there any logs/status info from the ROM bootloader that I could check for clues?
Do you have any further suggestions?