I am using an i.MX RT1011 development board and am having issues with running my application from the onboard QSPI flash.
I am able to build, run, and debug example projects with no issues, but when I create a new project using the Wizard I can no longer run from flash. When debugging I can see that execution is stuck in the ROM section (0x20xxxx). If I select "Link application to RAM" I can run without issue, but this is not a solution.
I have spent the last day comparing settings between an example application that does run from flash and my new project and have run out of places to look. The linker files are exactly the same, memory regions defined identically, same flash driver, startup code the same. I figure I'm probably missing some minor setting somewhere but don't know where else to look.
Solved! Go to Solution.
Hi whermann,
Thanks for your interest in the NXP MIMXRT product, I would like to provide service for you.
From your description about your test result, we can know, your hardware totally have no issues, and it is mainly in the software side, more precise point, it is your created new project issues.
Let me tell you some QSPI boot image requirement:
FDCB+IVT+BD+DCD+APP
You can generate your new project .s19, and send it to me, I will help you to check it.
Or you also can check it yourself.
0X60000000 is FDCB, which is used to configure the flexSPI interface, which is used to boot from external QSPI
0X60001000 is the IVT+BD+DCD area
0X60002000 is the detail APP area.
Please check it on your side.
XIP_BOOT_HEADER_DCD_ENABLE=1
XIP_BOOT_HEADER_ENABLE=1
Any updated information, kindly let me know.
Best Regards,
kerry
Hi whermann,
Thanks for your interest in the NXP MIMXRT product, I would like to provide service for you.
From your description about your test result, we can know, your hardware totally have no issues, and it is mainly in the software side, more precise point, it is your created new project issues.
Let me tell you some QSPI boot image requirement:
FDCB+IVT+BD+DCD+APP
You can generate your new project .s19, and send it to me, I will help you to check it.
Or you also can check it yourself.
0X60000000 is FDCB, which is used to configure the flexSPI interface, which is used to boot from external QSPI
0X60001000 is the IVT+BD+DCD area
0X60002000 is the detail APP area.
Please check it on your side.
XIP_BOOT_HEADER_DCD_ENABLE=1
XIP_BOOT_HEADER_ENABLE=1
Any updated information, kindly let me know.
Best Regards,
kerry
Hi Kerry,
Thank you for your response. Your info got me looking for where the IVT and BD sections were defined and I found that the files fsl_flexspi_nor_boot.c and fsl_flexspi_nor_boot.h were missing from my new project. I copied these from an example project and now have my new project running from flash.
Thanks again for your help, I really appreciate the prompt and informative response.
Just a point for future, if you are using the SDK, you can add the component "xip_device" under the Drivers and "xip_board" under Board Components. This would automatically import the necessary files.
Good!
Any new issues in the future, welcome to create the new case.
Best Regards,
Kerry