NXP i.MX 94

From SEGGER Knowledge Base
Jump to navigation Jump to search

The NXP iMX 94 are applications processors integrating up to 4 Arm Cortex-A55 cores, 2 ARM Cortex-M7, 2 ARM Cortex-M33, Neutron Neural Processing Unit and Edgelock secure enclave security.

Flash Banks

Cortex-A55

Flash Bank Base address J-Link Support Loader
Name Size
QSPI Flash [1] 0x28000000 YES.png Default 128 MB
  1. QSPI flash programming requires special handling compared to internal flash. For more information about this, please see the QSPI Flash Programming Support article.

Limitations

  • In order to use QSPI flashloader, device must be booted using the following boot image:File:NXP iMX94 boot.bin
    It should be written to one of the boot media, e.g. SD card:
 dd if=NXP_iMX94_boot.bin of=/dev/sdc bs=1024 seek=32; sync

QSPI flash

The QSPI flashloader uses the following pin configuration:

Alternate function Port / Pin
CLK XSPI1_CLK
nCS XSPI1_SS0B
IO0 XSPI1_DATA0
IO1 XSPI1_DATA1
IO2 XSPI1_DATA2
IO3 XSPI1_DATA3

ECC RAM

  • ECC TCM and ECC Cache features of Cortex-M33 are enabled during connecting to the target device.

Configurable TCM size

  • User application should ensure configured TCM size before using it.

Multi-Core Support

  • Before proceeding with this article, please check out the generic article regarding Multi-Core debugging here.

The iMX 94 family comes with a variety of multi-core options.
Some devices from this family feature a secondary core which is disabled after reset / by default.
Some of the are available with enabled lockstep mode, only.

Core J-Link Support
4x Cortex A-55 YES.png
2x Cortex M-33 YES.png
2x Cortex M-7 YES.png
1x Neutron NPU NO.png

In below, the debug related multi-core behavior of the J-Link is described for each core:

Cortex-A55

Init/Setup

  • Cortex-A55 cores must be enabled by the bootloader before it can be used for debugging.

Reset

  • Core reset is not performed.

Attach

  • Attach to a running target is supported only assuming it is already configured by bootloader/OS kernel.

Cortex-M7

Init/Setup

  • Cortex-M7 clock must be enabled by the bootloader/OS kernel before it can be used for debugging.

Reset

  • Core reset is not performed.

Attach

  • Attach is supported.

Cortex-M33

Init/Setup

  • The target device must contain a valid boot-image that performs initial configuration and enables debug access.

Reset

  • Core reset is not performed.

Attach

  • Attach is supported.

Device Specific Handling

Limitations

  • Some U-Boot/Linux images can reconfigure SWD/JTAG pins restricting access to the debug components. Please refer to the corresponding silicon/board vendor in order to get information about SWD/JTAG configuration.
  • The Cortex-A55 Application domain is held in reset until the EdgeLock Enclave (ELE) successfully authenticates an AHAB boot container. Therefore, a valid boot image must be programmed into one of the supported boot media (e.g. SD card),
    or downloaded via the Serial Download Protocol (SDP), before the Cortex-A55 cores can be released from reset.

Evaluation Boards

Example Application