Is non-XIP possible on RT1050 QSPI Flash

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Is non-XIP possible on RT1050 QSPI Flash

4,521 次查看
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.

标签 (1)
标记 (5)
0 项奖励
回复
5 回复数

3,229 次查看
jay_heng
NXP Employee
NXP Employee

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

0 项奖励
回复

3,229 次查看
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 项奖励
回复

3,229 次查看
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!
-----------------------------------------------------------------------------------------------------------------------

3,229 次查看
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 项奖励
回复

3,229 次查看
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