This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM437x SK EVM qspiboot config

Hi,

i did not see any specific instructions in the wiki 

http://processors.wiki.ti.com/index.php/Linux_Core_U-Boot_User%27s_Guide#Building_MLO_and_u-boot

for a QSPI NOR XIP boot for the AM437x Starterkit EVM. 

But here is what I am thinking:

[] build u-boot with host# make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am43xx_evm_qspiboot_config

[] output will be u-boot.img and u-boot.bin

[] need to flash one of those binaries into QSPI NOR at offset 0

[] then it should boot from qspi nor with execute in place

Can someone confirm that this is correct?

What binary needs to be flashed into the QSPI NOR exactly? Can you share the exact u-boot cmds just so there is no question about the flashing?

Thanks,

--Gunter

  • Hi,

    I found this on qspiboot
    e2e.ti.com/.../1386600
    processors.wiki.ti.com/.../Linux_Core_U-Boot_User's_Guide#AM43xx_support

    This seems to be the answer. I will try this, but then will have another question about how to do this outside of u-boot.

    Regards,
    --Gunter
  • Hi Gunter,

    Thanks for updating the thread. Let us know if further questions arise.
  • Hi,

    For now I have used CCS and for the moment sidelined the QSPI XIP boot mode from ROM, but instead tried to start the u-boot-qspiboot (which is flashed into QSPI at 0x30000000) with CCS to make sure it is functional.

    CCS debug works reliably now, as far as connecting, stepping and running goes. Since we are in NOR flash code at 0x30000000, SW breakpoints don’t work understandably. However I have had no luck with HW breakpoints.

    The sequence for startup of the u-boot-qspiboot, which is flashed into the QSPI is for me:

    [] Boot up from SDCARD to u-boot prompt, btw QSPI flash is already flashed with u-boot-qspiboot.bin
    [] # sf probe 0
    [] Connect with CCS to A9
    [] Run GEL script default  AM43xxStartState (this will put it in SPV mode and turn MMU off)
    [] Run GEL script default  Disable Watchdog
    [] Set 0x47900064 register to 0x3 (now QSPI is visible through 0x30000000)
    [] Load symbols of u-boot-qspiboot
    [] Set PC to symbol “reset”
    [] Now I can step from there, or run

    When running, the u-boot prompt for the u-boot-qspiboot comes up correctly. Initially the code was executing XIP, then u-boot relocates itself to DDR as expected. So this would tell me that the u-boot-qspiboot code is correct.

    HOWEVER, the pure QSPI bootmode from ROM code does not seem to work. It does not seem to execute XIP from the QSPI NOR, even though the above proves that the code is flashed correctly. Is there something I am missing?? The SDCARD is removed, the QSPI flashed and then just power up, it should fall eventually into 0x30000000 and start executing, but I never see that.

    Does someone have this working?


    Regards,
    --Gunter