How to access IMXRT1064 Onboard Flash ?

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

How to access IMXRT1064 Onboard Flash ?

Jump to solution
1,882 Views
rtilson
Contributor III

I have both the IMXRT1060 and the IMXRT1064 EVKs. I know how to setup and address the QSPI NOR on the RT1060 board. However, its not clear how to access the 4M Flash on the RT1064. How do I setup the FlexSPI to access the 4MB flash internal to the RT1064.

The Reference Manual for the RT1064 is really lite on information. Section 24.5 SIP 4M Flash Memory just states that its a Winbond 25Q43JV and to reference winbond. That's not particularly helpful when trying to setup the chip to access the onboard flash. What do I need to do to setup the flash for XIP or other data storage?

Thanks.

0 Kudos
Reply
1 Solution
1,877 Views
mjbcswitzerland
Specialist V

Hi

In comparison to the external QSPI setup of the 1060, the 1064 requires the following slight adjustments in the flash config setup:
- its 4MByte size to be set to to flash config entry 0x050-0x053
- its 4k sectors size to entry 0x1c4
- 256k block size set to entry 0x1d0-0x1d3

Likewise in the boot data section:
- its start address 0x70000000 (and again 4M size) set in the boot data section

This is all needed to set up for XiP use (and link the code to 0x70000000 rather than 0x60000000).

 

To use the internal QSPI for file system/parameter type use the flash driver needs to use FlexSPI2 (internal) rather than FexSPI1 but the rest of the operation is otherwise the same as when using an external Winbond part.
The internal Flash is W25Q32JV (I assume 25Q43JV is a typo).

 

For an immediate solution with complete bootloader concept, use of internal and/or external QSPI flash (with file and parameter system) and simulation of the FlexSPI operation for accurate analysis consider the uTasker project, which allows compatible code for i.MX 1010..1064
- i.MX RT 1064: https://www.utasker.com/iMX/RT1064.html
- Boot loader concept including XiP on-the-fly decryption, clone protection or AES256 protected RAM execution:
-- Boot Loader concept flow chart: https://www.utasker.com/docs/iMX/Loader.pdf and usage reference https://www.utasker.com/docs/iMX/uTaskerLoader_TestDrive.pdf
-- Serial Loader features: https://www.utasker.com/docs/uTasker/uTaskerSerialLoader.pdf
-- Building the loader with MCUXpress: https://www.utasker.com/docs/iMX/MCUXpresso.pdf (and video guide https://youtu.be/p_eUGo6GypY ) - the guide document explains how to use with any application (eg. SDK) and to enabling its operation with On-The-Fly decryption in 5 minutes
-- Building the loader with IAR: https://www.utasker.com/docs/iMX/IAR.pdf (and video guide https://youtu.be/XPCwVndP99s )
-- Building the loader with VisualStudio and GCC: https://www.utasker.com/docs/iMX/GCC.pdf (and video guide https://youtu.be/0UzLLSXABK8 )

Regards

Mark
uTasker project developer for Kinetis and i.MX RT]
Contact me by personal message or on the uTasker web site to discuss professional training or product development requirements

 

View solution in original post

1 Reply
1,878 Views
mjbcswitzerland
Specialist V

Hi

In comparison to the external QSPI setup of the 1060, the 1064 requires the following slight adjustments in the flash config setup:
- its 4MByte size to be set to to flash config entry 0x050-0x053
- its 4k sectors size to entry 0x1c4
- 256k block size set to entry 0x1d0-0x1d3

Likewise in the boot data section:
- its start address 0x70000000 (and again 4M size) set in the boot data section

This is all needed to set up for XiP use (and link the code to 0x70000000 rather than 0x60000000).

 

To use the internal QSPI for file system/parameter type use the flash driver needs to use FlexSPI2 (internal) rather than FexSPI1 but the rest of the operation is otherwise the same as when using an external Winbond part.
The internal Flash is W25Q32JV (I assume 25Q43JV is a typo).

 

For an immediate solution with complete bootloader concept, use of internal and/or external QSPI flash (with file and parameter system) and simulation of the FlexSPI operation for accurate analysis consider the uTasker project, which allows compatible code for i.MX 1010..1064
- i.MX RT 1064: https://www.utasker.com/iMX/RT1064.html
- Boot loader concept including XiP on-the-fly decryption, clone protection or AES256 protected RAM execution:
-- Boot Loader concept flow chart: https://www.utasker.com/docs/iMX/Loader.pdf and usage reference https://www.utasker.com/docs/iMX/uTaskerLoader_TestDrive.pdf
-- Serial Loader features: https://www.utasker.com/docs/uTasker/uTaskerSerialLoader.pdf
-- Building the loader with MCUXpress: https://www.utasker.com/docs/iMX/MCUXpresso.pdf (and video guide https://youtu.be/p_eUGo6GypY ) - the guide document explains how to use with any application (eg. SDK) and to enabling its operation with On-The-Fly decryption in 5 minutes
-- Building the loader with IAR: https://www.utasker.com/docs/iMX/IAR.pdf (and video guide https://youtu.be/XPCwVndP99s )
-- Building the loader with VisualStudio and GCC: https://www.utasker.com/docs/iMX/GCC.pdf (and video guide https://youtu.be/0UzLLSXABK8 )

Regards

Mark
uTasker project developer for Kinetis and i.MX RT]
Contact me by personal message or on the uTasker web site to discuss professional training or product development requirements