RT1050 QSPI Boot image

cancel
Showing results for 
Search instead for 
Did you mean: 

RT1050 QSPI Boot image

1,941 Views
Contributor III

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?

Labels (1)
0 Kudos
6 Replies

54 Views
NXP Employee
NXP Employee
0 Kudos

54 Views
NXP TechSupport
NXP TechSupport

Hi Christian

NXP provides only Flashloader for programming qspi:

Programmers (Flash, etc.) (1)
Flashloader i.MX-RT1050

https://www.nxp.com/products/processors-and-microcontrollers/applications-processors/i.mx-applicatio...

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!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

54 Views
Contributor III

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.

0 Kudos

54 Views
NXP TechSupport
NXP TechSupport

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

0 Kudos

54 Views
Contributor III

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.

0 Kudos

54 Views
NXP TechSupport
NXP TechSupport

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:

pastedImage_1.jpg

pastedImage_2.jpg

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

https://www.nxp.com/products/processors-and-microcontrollers/applications-processors/i.mx-applicatio...

So one can add fcb qspi specific parameters to fsl_flexspi_nor_flash.c, struct "flexspi_nor_config_t".

Best regards
igor

0 Kudos