Is non-XIP possible on RT1050 QSPI Flash

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Is non-XIP possible on RT1050 QSPI Flash

3,711件の閲覧回数
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 返答(返信)

2,419件の閲覧回数
jay_heng
NXP Employee
NXP Employee

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

0 件の賞賛

2,419件の閲覧回数
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 件の賞賛

2,419件の閲覧回数
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,419件の閲覧回数
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 件の賞賛

2,419件の閲覧回数
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