NXP i.MX RT1180

From SEGGER Knowledge Base [STAGING]
Jump to navigation Jump to search

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. ↑ 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. ↑ 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