Is non-XIP possible on RT1050 QSPI Flash

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Is non-XIP possible on RT1050 QSPI Flash

3,716 Views
ryanshuttlewort
Contributor IV

Hello all, I was wondering if it's possible to load and execute a RAM based, non-XIP image from QSPI NOR Flash on the RT1050.  I have been looking at the example bd files in the Flashloader_RT1050_1.x archive and associated documentation but I am still unsure or what is required for the non-XIP image.  If it is possible, please suggest the necessary bd file or file changes.

I have seen this post but the suggested solution is for non-XIP out of SD.

Thanks.

Labels (1)
0 Kudos
5 Replies

2,424 Views
jay_heng
NXP Employee
NXP Employee

Of course, it is possible, you can try this GUI tool Releases · JayHeng/NXP-MCUBootUtility · GitHub 

0 Kudos

2,424 Views
Lorac
Contributor III

Finally, Is it possible to use QSPI Nor Flash interface to contain code, but execute the code in internal SRAM or external SDRAM?

0 Kudos

2,424 Views
igorpadykov
NXP Employee
NXP Employee

Hi Ryan

yes this is possible, one can look at AN1208 How to Enable Boot from QSPI Flash

sect.4.3. MFG Boot from QSPI Flash with DCD for SDRAM

https://www.nxp.com/docs/en/application-note/AN12108.pdf 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

2,424 Views
ryanshuttlewort
Contributor IV

Hello Igor.  The document section you recommended (4.3. MFG Boot from QSPI Flash with DCD for SDRAM) does not appear to produce a non-XIP image.  It appears to produce an image where code is executing from Flash but data is placed in SRAM.  Did you perhaps mean that the boot from SD card section could be adapted from QSPI?

What I was hoping for was an image that would be loaded from QSPI but would execute entirely from RAM. 

Please clarify, thanks.

0 Kudos

2,424 Views
ryanshuttlewort
Contributor IV

It appears that the SD example is the one to follow.  I had had to modify both my IAR linker script (MIMXRT1052xxxxx_ram.icf) and the imx-itcm-unsigned.bd

The linker script requires the following mods:

define symbol m_interrupts_start       = 0x00002000;
define symbol m_interrupts_end         = 0x000023FF;

define symbol m_text_start             = 0x00002400;
define symbol m_text_end               = 0x0001FFFF;

And imx-itcm-unsigned.bd requires the following options section:

options {
    flags = 0x00;
    startAddress = 0x0;
    ivtOffset = 0x1000;
    initialLoadSize = 0x8000;
}

I then build the boot image with:

elftosb.exe -f imx -V -c imx-itcm-unsigned.bd -o ivt_itcm_my_image.bin my_image.out
elftosb.exe -f kinetis -V -c program_flexspinor_image_qspinor.bd -o boot_image.sb ivt_itcm_my_image_nopadding.bin