Difference between revisions of "i.MXRT1050"
(→Examples) |
|||
(17 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[Category:Device families]] |
||
+ | This article covers the NXP i.MXRT1050 family devices. |
||
+ | As for all i.MXRT10xx devices, JTAG is not active per default. Instead SWD can be used. |
||
+ | To activate JTAG on this target device eFuses must be set. For more information see the corresponding target reference manual. |
||
+ | |||
__TOC__ |
__TOC__ |
||
− | |||
= Flash Programming = |
= Flash Programming = |
||
NXP's iMXRT105x family features a Cortex-M7 core without internal flash but with support for QSPI and HyperFlash through a so called FLEXSPI controller. NXP's official evaluation board, the ''MIMXRT1050 EVK'' is shipped with a 512Mbit Hyper Flash device by default. Alternatively, a QSPI flash can be mounted but several board modifications (removing the hyper flash, adding resistors, etc...) are required. As both flashes are accessed through the same memory mapped address space, either the HyperFlash or the QSPI flash RAMCode needs to be used for memory accesses to this area. Please find below further information how to enable the desired flash algorithm (RAMCode). Official flash programming support has been added in J-Link software version V6.31d. |
NXP's iMXRT105x family features a Cortex-M7 core without internal flash but with support for QSPI and HyperFlash through a so called FLEXSPI controller. NXP's official evaluation board, the ''MIMXRT1050 EVK'' is shipped with a 512Mbit Hyper Flash device by default. Alternatively, a QSPI flash can be mounted but several board modifications (removing the hyper flash, adding resistors, etc...) are required. As both flashes are accessed through the same memory mapped address space, either the HyperFlash or the QSPI flash RAMCode needs to be used for memory accesses to this area. Please find below further information how to enable the desired flash algorithm (RAMCode). Official flash programming support has been added in J-Link software version V6.31d. |
||
− | == |
+ | == Minimum requirements == |
+ | * Min. J-Link software version '''V6.31d (beta)''' or '''V6.32 (release)''' is required. Later versions will also work. Earlier versions do not support flash programming on this device. |
||
− | ===Hyper Flash=== |
||
− | By default, the Hyper Flash algorithm is selected in the J-Link software. No additional steps are required. |
||
− | == |
+ | == Available flash loaders == |
+ | J-Link comes with multiple selectable FLEXSPI flashloaders for i.MXRT1050 devices. There are [[J-Link_Multiple_Flashloader#Command_line_parameter|several options]] to select a different loader than the default one. |
||
− | To enable the QSPI flash support in the J-Link software, the JLinkDevices.xml needs to be modified. |
||
− | For further information regarding the JLinkDevices.xml, please refer to the ''Open Flashloader'' chapter in the J-Link User Manual (UM08001). |
||
+ | {| class="wikitable" |
||
− | #Open the JLinkDevices.xml (e.g. '''C:\Program Files (x86)\SEGGER\JLink_V631d\JLinkDevices.xml''' |
||
+ | |- |
||
− | #Search the desired iMXRT <Device> entry |
||
+ | ! Loader name !! Pin configuration !! Notes |
||
− | #Change ''Loader="Devices/NXP/iMXRT105x/NXP_iMXRT105x_HyperFlash.elf"'' to ''Loader="Devices/NXP/iMXRT105x/NXP_iMXRT105x_QSPI.elf"'' |
||
+ | |- |
||
− | #Save the JLinkDevices.xml |
||
+ | | HyperFlash || FLEXSPIB_DATA03 = GPIO_SD_B1_00<br>FLEXSPIB_DATA02 = GPIO_SD_B1_01<br>FLEXSPIB_DATA01 = GPIO_SD_B1_02<br>FLEXSPIB_DATA00 = GPIO_SD_B1_03<br>FLEXSPIB_SCLK = GPIO_SD_B1_04<br>FLEXSPIA_DQS = GPIO_SD_B1_05<br>FLEXSPIA_SS0_B = GPIO_SD_B1_06<br>FLEXSPIA_SCLK = GPIO_SD_B1_07<br>FLEXSPIA_DATA00 = GPIO_SD_B1_08<br>FLEXSPIA_DATA01 = GPIO_SD_B1_09<br>FLEXSPIA_DATA02 = GPIO_SD_B1_10<br>FLEXSPIA_DATA03 = GPIO_SD_B1_11 || Default loader |
||
− | From now, the J-Link software uses the QSPI RAMCode instead of the HyperFlash RAMCode for the flash download. |
||
+ | |- |
||
+ | | QSPI || FLEXSPIB_DATA03 = GPIO_SD_B1_00<br>FLEXSPIB_DATA02 = GPIO_SD_B1_01<br>FLEXSPIB_DATA01 = GPIO_SD_B1_02<br>FLEXSPIB_DATA00 = GPIO_SD_B1_03<br>FLEXSPIB_SCLK = GPIO_SD_B1_04<br>FLEXSPIA_DQS = GPIO_SD_B1_05<br>FLEXSPIA_SS0_B = GPIO_SD_B1_06<br>FLEXSPIA_SCLK = GPIO_SD_B1_07<br>FLEXSPIA_DATA00 = GPIO_SD_B1_08<br>FLEXSPIA_DATA01 = GPIO_SD_B1_09<br>FLEXSPIA_DATA02 = GPIO_SD_B1_10<br>FLEXSPIA_DATA03 = GPIO_SD_B1_11 || - |
||
+ | |} |
||
− | + | {{Note|Please note that several hardware modifications needs to be done on the evaluation board to enable QSPI programming / booting from QSPI. For further information regarding this, please refer to NXPs board user manual.}} |
|
== Examples == |
== Examples == |
||
− | The example projects below can be used to evaluate Hyper Flash and QSPI Flash programming support with J-Link using a simple blinky project. The |
+ | The example projects below can be used to evaluate Hyper Flash and QSPI Flash programming support with J-Link using a simple blinky project. The projects include the boot header, required for booting the application without an external debugger attached to it. Please find below an overview of the setup: |
*SEGGER Embedded Studio for ARM 3.35 |
*SEGGER Embedded Studio for ARM 3.35 |
||
− | *NXP MIMXRT1050-EVK (Hyper Flash configuration) |
+ | *NXP MIMXRT1050-EVK (Hyper Flash configuration for '''Hyper Flash''' example and QSPI Flash configuration for '''QSPI Flash''' example) |
− | *J-Link software version |
+ | *J-Link software version V7.70d or higher |
=== Hyper Flash === |
=== Hyper Flash === |
||
#Make sure that SEGGER Embedded Studio for ARM 3.35 is installed |
#Make sure that SEGGER Embedded Studio for ARM 3.35 is installed |
||
− | #Install at least J-Link software version |
+ | #Install at least J-Link software version V7.70d and update the J-Link DLL used by Embedded Studio at the end of the setup process (using the J-Link DLL Updater) |
#Download the project [[File:NXP_MIMXRT1050-EVK_HyperFlash_EmbeddedStudio.zip]] |
#Download the project [[File:NXP_MIMXRT1050-EVK_HyperFlash_EmbeddedStudio.zip]] |
||
#Open the project in Embedded Studio |
#Open the project in Embedded Studio |
||
Line 33: | Line 38: | ||
=== QSPI Flash === |
=== QSPI Flash === |
||
− | #Make sure that SEGGER Embedded Studio for ARM 3.35 is installed |
+ | #Make sure that SEGGER Embedded Studio for ARM 3.35 or later is installed |
− | #Install at least J-Link software version |
+ | #Install at least J-Link software version V7.70d and update the J-Link DLL used by Embedded Studio at the end of the setup process (using the J-Link DLL Updater) |
− | #Enable the QSPI flashloader in the used J-Link software package (see https://wiki.segger.com/IMXRT105x#QSPI_flash) |
||
#Download the project [[File:NXP_MIMXRT1050-EVK_QSPI_EmbeddedStudio.zip]] |
#Download the project [[File:NXP_MIMXRT1050-EVK_QSPI_EmbeddedStudio.zip]] |
||
#Open the project in Embedded Studio |
#Open the project in Embedded Studio |
||
#Done! |
#Done! |
||
+ | '''NOTE:''' Please note that several hardware modifications needs to be done on the evaluation board to enable QSPI programming / booting from QSPI. For further information regarding this, please refer to NXPs board user manual.<br> |
||
+ | '''NOTE:''' The QSPI example application contains a FlexSPI boot header, which makes sure that the QE bit in the status register is set. |
Latest revision as of 13:08, 15 May 2024
This article covers the NXP i.MXRT1050 family devices. As for all i.MXRT10xx devices, JTAG is not active per default. Instead SWD can be used. To activate JTAG on this target device eFuses must be set. For more information see the corresponding target reference manual.
Contents
Flash Programming
NXP's iMXRT105x family features a Cortex-M7 core without internal flash but with support for QSPI and HyperFlash through a so called FLEXSPI controller. NXP's official evaluation board, the MIMXRT1050 EVK is shipped with a 512Mbit Hyper Flash device by default. Alternatively, a QSPI flash can be mounted but several board modifications (removing the hyper flash, adding resistors, etc...) are required. As both flashes are accessed through the same memory mapped address space, either the HyperFlash or the QSPI flash RAMCode needs to be used for memory accesses to this area. Please find below further information how to enable the desired flash algorithm (RAMCode). Official flash programming support has been added in J-Link software version V6.31d.
Minimum requirements
- Min. J-Link software version V6.31d (beta) or V6.32 (release) is required. Later versions will also work. Earlier versions do not support flash programming on this device.
Available flash loaders
J-Link comes with multiple selectable FLEXSPI flashloaders for i.MXRT1050 devices. There are several options to select a different loader than the default one.
Loader name | Pin configuration | Notes |
---|---|---|
HyperFlash | FLEXSPIB_DATA03 = GPIO_SD_B1_00 FLEXSPIB_DATA02 = GPIO_SD_B1_01 FLEXSPIB_DATA01 = GPIO_SD_B1_02 FLEXSPIB_DATA00 = GPIO_SD_B1_03 FLEXSPIB_SCLK = GPIO_SD_B1_04 FLEXSPIA_DQS = GPIO_SD_B1_05 FLEXSPIA_SS0_B = GPIO_SD_B1_06 FLEXSPIA_SCLK = GPIO_SD_B1_07 FLEXSPIA_DATA00 = GPIO_SD_B1_08 FLEXSPIA_DATA01 = GPIO_SD_B1_09 FLEXSPIA_DATA02 = GPIO_SD_B1_10 FLEXSPIA_DATA03 = GPIO_SD_B1_11 |
Default loader |
QSPI | FLEXSPIB_DATA03 = GPIO_SD_B1_00 FLEXSPIB_DATA02 = GPIO_SD_B1_01 FLEXSPIB_DATA01 = GPIO_SD_B1_02 FLEXSPIB_DATA00 = GPIO_SD_B1_03 FLEXSPIB_SCLK = GPIO_SD_B1_04 FLEXSPIA_DQS = GPIO_SD_B1_05 FLEXSPIA_SS0_B = GPIO_SD_B1_06 FLEXSPIA_SCLK = GPIO_SD_B1_07 FLEXSPIA_DATA00 = GPIO_SD_B1_08 FLEXSPIA_DATA01 = GPIO_SD_B1_09 FLEXSPIA_DATA02 = GPIO_SD_B1_10 FLEXSPIA_DATA03 = GPIO_SD_B1_11 |
- |
Please note that several hardware modifications needs to be done on the evaluation board to enable QSPI programming / booting from QSPI. For further information regarding this, please refer to NXPs board user manual.
Examples
The example projects below can be used to evaluate Hyper Flash and QSPI Flash programming support with J-Link using a simple blinky project. The projects include the boot header, required for booting the application without an external debugger attached to it. Please find below an overview of the setup:
- SEGGER Embedded Studio for ARM 3.35
- NXP MIMXRT1050-EVK (Hyper Flash configuration for Hyper Flash example and QSPI Flash configuration for QSPI Flash example)
- J-Link software version V7.70d or higher
Hyper Flash
- Make sure that SEGGER Embedded Studio for ARM 3.35 is installed
- Install at least J-Link software version V7.70d and update the J-Link DLL used by Embedded Studio at the end of the setup process (using the J-Link DLL Updater)
- Download the project File:NXP MIMXRT1050-EVK HyperFlash EmbeddedStudio.zip
- Open the project in Embedded Studio
- Done!
QSPI Flash
- Make sure that SEGGER Embedded Studio for ARM 3.35 or later is installed
- Install at least J-Link software version V7.70d and update the J-Link DLL used by Embedded Studio at the end of the setup process (using the J-Link DLL Updater)
- Download the project File:NXP MIMXRT1050-EVK QSPI EmbeddedStudio.zip
- Open the project in Embedded Studio
- Done!
NOTE: Please note that several hardware modifications needs to be done on the evaluation board to enable QSPI programming / booting from QSPI. For further information regarding this, please refer to NXPs board user manual.
NOTE: The QSPI example application contains a FlexSPI boot header, which makes sure that the QE bit in the status register is set.