IMX95LPD5EVK-19

The IMX95LPD5EVK-19 board is a platform designed to show the most commonly used features of the i.MX 95 automotive applications processor .

Features

  • Multicore Processing [1]
    • 1x Arm Cortex-M7

    • 6x Arm Cortex-A55 multicore complex

    • 1x Arm Cortex-M33

  • Memory
    • On-Chip Memory
      • 1376kB SRAM (ECC)

    • External Memory
      • Up to 6.4GT/s x32 LPDDR5/LPDDR4X (with Inline ECC & Inline Encrpytion)

      • 1x Octal SPI, including support for SPI NOR and SPI NAND memories

  • Connectivity
    • CAN FD

    • UART/USART/Profibus, I²C, SPI

    • Messaging Units (MU) to support IPC between heterogeneous cores

Serial Console

The IMX95LPD5EVK-19 board features a high-speed USB-to-UART/MPSSE device, FT4232H (U70) that provides a debug interface for the i.MX95 processor through the USB type-C connector (J31). The device acts as a bridge to enable communication between the target processor and the host computer, which connects to the USB connector (J31) through a USB cable.

Channel A is used as UART port to provide USB-to-UART option for debugging the Arm Cortex-M7 core of the i.MX 95 processor (default option).

Firmware location

Instruction Tightly Coupled Memory (ITCM)

The purpose of the Tightly-Coupled Memory (TCM) is to provide low-latency memory that the processor can use without the unpredictability that is a feature of caches. By default the firmware will be located in this area (256K).

DDR

DDR memory can be used in case the code memory footprint becomes bigger than the ITCM size. Using this configuration implies that other cores should be aware of this. For the default sd-card image from the EVK, these adaptations are needed on the software running on the M33 and A55 cores.

  • System Manager (M33) should give the M7 access to the DDR region

  • linux-imx (A55) should reserve the DDR region by specifying it in the device tree so linux won’t make use of it

Configurations

All the configurations can be used in combination with the default sd-card image that is shipped with the EVK.

nsh

Configures the NuttShell (nsh) located at examples/nsh. This NSH configuration is focused on low level, command-line driver testing. Built-in applications are supported, but none are enabled. This configuration does not support a network.

can

Configures the NuttShell (nsh) and also adds CAN support. CAN1 is enabled and can be accessed at J17 on the EVK. Make sure that SW9[3] (PDM_CAN_SEL) is set to ON. The configuration includes CAN utilities as candump and cansend.

Note

System Manager (M33) should give the M7 access rights to the PIN_PDM_CLK (CAN1_TX) and PIN_PDM_BIT_STREAM0 (CAN1_RX) pins in the mx95evk.cfg.

Alternatively these can be set manually in the system manager’s console:

>$ mm 0x443c01e0 0x6
>$ mm 0x443c01e4 0x6

rpmsg

This configuration is similar to nsh but in addition it offers the Remote Processing Messaging (RPMsg) service to enable heterogeneous inter-core communication. A virtual UART (CONFIG_RPMSG_UART) is made available on which an OS running on the A55 cores can connect. There is also an option to use the filesystem client feature in which a remote directory can be mounted to a local directory (CONFIG_FS_RPMSGFS).

Note

linux-imx (A55) needs the NuttX compatible rpmsg_tty and rpmsg_fs drivers. See dev mailing list