This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

NXP MIMXRT1160-EVK

Overview

The dual core i.MX RT1160 runs on the Cortex-M7 core at 600 MHz and on the Cortex-M4 at 240 MHz. The i.MX RT1160 MCU offers support over a wide temperature range and is qualified for consumer, industrial and automotive markets.

MIMXRT1160-EVK

Hardware

  • MIMXRT1166DVM6A MCU

    • 600MHz Cortex-M7 & 240Mhz Cortex-M4

    • 2MB SRAM with 512KB of TCM for Cortex-M7 and 256KB of TCM for Cortex-M4

  • Memory

    • 512 Mbit SDRAM

    • 128 Mbit QSPI Flash

    • 512 Mbit Octal Flash

    • TF socket for SD card

  • Display

    • MIPI LCD connector

  • Ethernet

    • 10/100 Mbit/s Ethernet PHY

    • 10/100/1000 Mbit/s Ethernet PHY

  • USB

    • USB 2.0 OTG connector

    • USB 2.0 host connector

  • Audio

    • 3.5 mm audio stereo headphone jack

    • Board-mounted microphone

    • Left and right speaker out connectors

  • Power

    • 5 V DC jack

  • Debug

    • JTAG 20-pin connector

    • OpenSDA with DAPLink

  • Sensor

    • MIPI camera sensor connector

  • Expansion port

    • Arduino interface

  • CAN bus connector

For more information about the MIMXRT1160 SoC and MIMXRT1160-EVK board, see these references:

Supported Features

The mimxrt1160_evk board configuration supports the following hardware features:

Interface

Controller

Driver/Component

NVIC

on-chip

nested vector interrupt controller

SYSTICK

on-chip

systick

GPIO

on-chip

gpio

COUNTER

on-chip

counter

UART

on-chip

serial port-polling; serial port-interrupt

SPI

on-chip

spi

I2C

on-chip

i2c

ADC

on-chip

adc

CAN

on-chip

flexcan

WATCHDOG

on-chip

watchdog

The default configuration can be found in the defconfig file: boards/arm/mimxrt1160_evk/mimxrt1160_evk_cm7_defconfig

Other hardware features are not currently supported by the port.

Connections and I/Os

The MIMXRT1160 SoC has six pairs of pinmux/gpio controllers.

Name

Function

Usage

WAKEUP

GPIO

SW7

GPIO_AD_04

GPIO

LED

GPIO_AD_24

LPUART1_TX

UART Console

GPIO_AD_25

LPUART1_RX

UART Console

GPIO_LPSR_00

CAN3_TX

flexcan

GPIO_LPSR_01

CAN3_RX

flexcan

GPIO_AD_29

SPI1_CS0

spi

GPIO_AD_28

SPI1_CLK

spi

GPIO_AD_30

SPI1_SDO

spi

GPIO_AD_31

SPI1_SDI

spi

GPIO_AD_08

LPI2C1_SCL

i2c

GPIO_AD_09

LPI2C1_SDA

i2c

GPIO_LPSR_05

LPI2C5_SCL

i2c

GPIO_LPSR_04

LPI2C5_SDA

i2c

System Clock

The MIMXRT1160 SoC is configured to use the 24 MHz external oscillator on the board with the on-chip PLL to generate a 600 MHz core clock.

Serial Port

The MIMXRT1160 SoC has 12 UARTs. One is configured for the console and the remaining are not used.

Programming and Debugging

Build and flash applications as usual (see Building an Application and Run an Application for more details).

Configuring a Debug Probe

A debug probe is used for both flashing and debugging the board. This board is configured by default to use the OpenSDA DAPLink Onboard Debug Probe, however the pyOCD Debug Host Tools do not yet support programming the external flashes on this board so you must reconfigure the board for one of the following debug probes instead.

Configuring a Console

Regardless of your choice in debug probe, we will use the OpenSDA microcontroller as a usb-to-serial adapter for the serial console. Check that jumpers J5 and J8 are on (they are on by default when boards ship from the factory) to connect UART signals to the OpenSDA microcontroller.

Connect a USB cable from your PC to J11.

Use the following settings with your serial terminal of choice (minicom, putty, etc.):

  • Speed: 115200

  • Data: 8 bits

  • Parity: None

  • Stop bits: 1

Flashing

Here is an example for the Hello World application.

Before power on the board, make sure SW1 is set to 0001b

# From the root of the zephyr repository
west build -b mimxrt1160_evk_cm7 samples/hello_world
west flash

Power off the board, and change SW1 to 0010b. Then power on the board and open a serial terminal, reset the board (press the SW4 button), and you should see the following message in the terminal:

***** Booting Zephyr OS v2.6.0-xxxx-xxxxxxxxxxxxx *****
Hello World! mimxrt1160_evk_cm7

Debugging

Here is an example for the Hello World application.

# From the root of the zephyr repository
west build -b mimxrt1160_evk_cm7 samples/hello_world
west debug

Open a serial terminal, step through the application in your debugger, and you should see the following message in the terminal:

***** Booting Zephyr OS v2.4.0-xxxx-xxxxxxxxxxxxx *****
Hello World! mimxrt1160_evk_cm7