I'm using the EVK board with µVision Keil. I have dismounted the hyperflash and use the QSPI Flash.
My firmware can now read and program the qspi flash.
I have set boot pins to QSPI.
What are the steps to create qpsi image, so that my firmware starts from QSPI flash?
The documents AN12108.pdf and AN12107.pdf say to use elftosb.exe to get a "boot_image.sb" file.
In Keil µVision i changed my linker script file to "MIMXRT1052xxxxx_flexspi_nor.scf", recompiled my firmware, copied the AXF file to the elftosb directory and started the image process as described in the documents.
"elftosb.exe -f imx -V -c ../../bd_file/imx10xx/imx-flexspinor-normal-unsigned.bd -o ivt_shantal.bin shantal.axf"
=> Elftosb.exe crashes.
Then i changed the addresses in the Linkerscript file to 0x60002000, etc.
"elftosb.exe -f imx -V -c ../../bd_file/imx10xx/imx-flexspinor-normal-unsigned.bd -o ivt_shantal.bin shantal.axf"
ivt_shantal.bin and ivt_shantal_nopadding.bin are now in the directory
Then i executed
"elftosb.exe -f kinetis -V -c ../../bd_file/imx10xx/program_flexspinor_image_qspinor.bd -o boot_image.sb ivt_shantal_nopadding.bin"
I programmed the "boot_image.sb" into the QSPI flash with an programmer and switched the bootcfg to QSPI load.
But after power up nothing happened. I checked content of the QSPI flash, everything ok.
Whats wrong here?
You can also try this tool
Hi Christian
NXP provides only Flashloader for programming qspi:
Programmers (Flash, etc.) (1)
Flashloader i.MX-RT1050
If using external programmer, seems one can program one chip with mfg tools and then
copy it to other parts using external programmer.
Regarding described AN1208 programming steps, one can check also :
Figure 15. Modify the parameter from 0xc0233007 to 0xc0000005
Also may be useful
IMXRT105x - SEGGER - Support Wiki
https://community.nxp.com/thread/466478
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Ok and how should this work for a our mass production?
Our new product must boot from qspi flash. we want to prepogramm it before we will mount it.
"if using external programmer, seems one can program one chip with mfg tools and then
copy it to other parts using external programmer" is a bad idea, not really a satisfactory answer for our software team.
please can you suggest another way how to create a qspi flash image.
Then we have another problem. Actually we can create and download our firmware to QSPI flash by using mfgtool.exe.
But the firmware crashes, because the software does not start at the reset vector address, the software start direct from main. very strange.
Do you have any idea why FCFB etc. dose not jump to beginning of the vector table (reset vector).
i looked into the files
xxx_nopadding.bin => vector table at offset 0x1000
xxx_padding.bin => vetor table at offset 0x2000
boot_image.sd => vetor table at offset 0x10E0
In my AXF file the vetor table starts at address 0x60002000, etc.
I have not other suggestions for mass production, sorry. As
for "another problem" one can check sect.2.5. Boot Image
AN12107 How to Enable Boot from HyperFlash and SD Card
https://www.nxp.com/docs/en/application-note/AN12107.pdf
Best regards
igor
Hi,
in this pdf i do not rellay understand, how to create the image file.
elftosb generates 2 files; which of them should i now copy / flash to which address of the qspi flash.
Are these steps correct?
1.) i compile and link my project using the norflash linkerscript: code addresses are set to 0x60002000 ...
2.) elftosb.exe -f imx -V -c ../../bd_file/imx10xx/imx-flexspinor-normal-unsigned.bd -o ivt_shantal.bin shantal.axf
3.) program the new file "ivt_shantal_nopadding.bin" to the address 0x400 of then QSI flash
I tried this it does not work.
Hi Christian
as stated in AN12108 sect.3. Program tools available next programming options:
3.1. DAP-Link (OpenSDA MSD drag/drop)
3.2. MFG tool
one can check qspi image for:
FlexSPI configuration block described in Table 8-14. FlexSPI Configuration block i.MX RT1050 Processor Reference Manual
https://www.nxp.com/docs/en/reference-manual/IMXRT1050RM.pdf
Also may be useful to check sect.8.2.1 FlexSPI NOR Configuration Block MCUX Flashloader
Reference Manual.pdf
sect.4.1.4. BD file for memory programming i.MX MCU Manufacturing User's Guide.pdf
included in /doc folder of Flashloader package:
Programmers (Flash, etc.) (1)
Flashloader i.MX-RT1050
So one can add fcb qspi specific parameters to fsl_flexspi_nor_flash.c, struct "flexspi_nor_config_t".
Best regards
igor