NXP i.MX RT1180

From SEGGER Knowledge Base
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.

Flash Banks

QSPI Flash

Flash Bank Base address J-Link Support Loader
Name Size
FlexSPI1 (NS)[1] 0x28000000 YES.png PortA Up to 128 MB
PortB[2] Up to 128 MB
FlexSPI1 (S)[1] 0x38000000 YES.png PortA Up to 128 MB
PortB[2] Up to 128 MB
FlexSPI2 (NS)[1] 0x04000000 YES.png PortA Up to 64MB
FlexSPI2 (S)[1] 0x14000000 YES.png PortA 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.

J-Link supports one pin configuration for FlexSPI1 Port A.

Signal = Pin
FlexSPI1_A_CLK = GPIO_B2_08
FlexSPI1_A_SS0 = GPIO_B2_09
FlexSPI1_A_D0   = GPIO_B2_10
FlexSPI1_A_D1   = GPIO_B2_11
FlexSPI1_A_D2   = GPIO_B2_12
FlexSPI1_A_D3   = GPIO_B2_13

J-Link supports one pin configuration for FlexSPI1 Port B.

Signal = Pin
FlexSPI1_B_CLK = GPIO_SD_B2_07
FlexSPI1_B_SS0 = GPIO_SD_B2_06
FlexSPI1_B_D0   = GPIO_SD_B2_08
FlexSPI1_B_D1   = GPIO_SD_B2_09
FlexSPI1_B_D2   = GPIO_SD_B2_10
FlexSPI1_B_D3   = GPIO_SD_B2_11

J-Link supports one pin configuration for FlexSPI2 Port A.

Signal = Pin
FlexSPI2_CLK_A = GPIO_AON_23
FlexSPI2_A_SS0 = GPIO_AON_22
FlexSPI2_D0_A   = GPIO_AON_24
FlexSPI2_D1_A   = GPIO_AON_25
FlexSPI2_D2_A   = GPIO_AON_26
FlexSPI2_D3_A   = GPIO_AON_27

Flash programming is supported via Cortex-M33 as well as Cortex-M7.

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.

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