NXP i.MX RT1180
The NXP i.MXRT1180 (RT1180) series features a high performance Cortex-M7 core and a power efficient Cortex-M33 core.
Supported devices
Refer to the supported device list for a full list of all supported i.MXRT1180 family devices, their corresponding names and connection diagrams.
Target interfaces
| Interface | J-Link support | Flasher support |
|---|---|---|
| JTAG | ||
| SWD |
Flash Banks
QSPI Flash
| Flash bank | Base address | J-Link support | Flasher support | Loader | |
|---|---|---|---|---|---|
| Name | Bank size | ||||
| FlexSPI1 (NS)[1] | 0x28000000 | PortA_CLK@B2_08_nCS@B2_09_D0@B2_10_D1@B2_11_D2@B2_12_D3@B2_13 | Up to 128 MB | ||
| PortB_CLK@SD_B2_07_nCS@SD_B2_06_D0@SD_B2_08_D1@SD_B2_09_D2@SD_B2_10_D3@SD_B2_11[2] | Up to 128 MB | ||||
| FlexSPI1 (S)[1] | 0x38000000 | PortA_CLK@B2_08_nCS@B2_09_D0@B2_10_D1@B2_11_D2@B2_12_D3@B2_13 | Up to 128 MB | ||
| PortB_CLK@SD_B2_07_nCS@SD_B2_06_D0@SD_B2_08_D1@SD_B2_09_D2@SD_B2_10_D3@SD_B2_11[2] | Up to 128 MB | ||||
| FlexSPI2 (NS)[1] | 0x04000000 | PortA_CLK@AON_23_nCS@AON_22_D0@AON_24_D1@AON_25_D2@AON_26_D3@AON_27 | Up to 64MB | ||
| PortA_CLK@B1_41_nCS@B1_39_D0@B1_35_D1@B1_36_D2@B1_37_D3@B1_38 | Up to 64MB | ||||
| PortB_CLK@AON_19_nCS@AON_21_D0@AON_18_D1@AON_17_D2@AON_16_D3@AON_15 | Up to 64MB | ||||
| FlexSPI2 (S)[1] | 0x14000000 | PortA_CLK@AON_23_nCS@AON_22_D0@AON_24_D1@AON_25_D2@AON_26_D3@AON_27 | Up to 64MB | ||
| PortA_CLK@B1_41_nCS@B1_39_D0@B1_35_D1@B1_36_D2@B1_37_D3@B1_38 | Up to 64MB | ||||
| PortB_CLK@AON_19_nCS@AON_21_D0@AON_18_D1@AON_17_D2@AON_16_D3@AON_15 | Up to 64MB | ||||
- ↑ 1.0 1.1 1.2 1.3
QSPI flash programming requires special handling compared to internal flash. For more information about this, please see the QSPI Flash Programming Support article.
J-Link supports multiple pin configurations for this device. The default loader is marked in bold. For details on how to select a specific flash loader, please see here. - ↑ 2.0 2.1 For MIMXRT1182 devices the default loader for FlexSPI1 differs and is PortB. MIMXRT1182 devices don't expose external pins for FlexSPI1 PortA.
Flash programming is supported via Cortex-M33 as well as Cortex-M7.
For pin configurations, different from the ones mentioned above, please get in touch with SEGGER directly via our support system: https://www.segger.com/ticket/.
TRDC Configuration Prerequisite
The Trusted Resource Domain Controller (TRDC) must be configured to grant CM33 core read and write access to both the FlexSPI ARDF/ATDF AHB windows and the corresponding FlexSPI memory window. These permissions are required for successful flash programming via FlexSPI1 or FlexSPI2.
| FlexSPI | ARDF/ATDF AHB windows | FlexSPI memory window |
|---|---|---|
| FlexSPI1 | 0x47420000 – 0x4743FFFF (NS) 0x57420000 – 0x5743FFFF (S) |
0x28000000 – 0x2FFFFFFF (NS) 0x38000000 – 0x3FFFFFFF (S) |
| FlexSPI2 | 0x4DE00000 – 0x4DE000FF (NS) 0x5DE00000 – 0x5DE000FF (S) |
0x04000000 – 0x07FFFFFF (NS) 0x14000000 – 0x17FFFFFF (S) |
ECC RAM
ECC RAM needs to be initialized before it can be used. By default, the J-Link initializes RAM regions which are required for the initial connect to the target only. For the RT1180 series, the initialized regions depend on the selected core. For details, please refer to the sections below. Please note that reading to uninitialized regions result in ECC errors.
Watchdog Handling
- The device has five watchdogs WDOG1, WDOG2, WDOG3, WDOG4 and WDOG5.
- All watchdogs can be configured in normal or window mode.
- If it is configured in normal mode the watchdog is fed during flash programming.
- If it is configured in window mode the watchdog is fed during flash programming.
Multi-Core Support
Before proceeding with this article, please check out the generic article regarding Multi-Core debugging here.
The RT1180 family comes with a Cortex-M33 (main core) and a Cortex-M7 (secondary core). After reset / by default, the Cortex-M7 is disabled.
In below, the debug related multi-core behavior of the J-Link is described for each core:
Main core
Init/Setup
- Initiate the M33 System TCM RAM @ 0x20000000 (128 KB) which is used as work RAM during flash programming on connect.
Reset
- No reset is performed.
Attach
- Attach is not supported because the J-Link initializes certain RAM regions by default
Secondary core(s)
Init/Setup
- If the secondary core is not enabled yet:
- it will be enabled / released from reset
- The M33 System ITCM RAM @ 0x00000000 (128 KB) which is used as work RAM during flash programming on connect will be initialized
- If it's already enabled, a simple attach will be performed
Reset
- No reset is performed.
Attach
- Attach is supported / desired
Evaluation Boards
- NXP X-MIMXRT1180-EVK: NXP X-MIMXRT1180-EVK
- NXP FRDM-IMXRT1186: NXP_FRDM-IMXRT1186