1.. zephyr:board:: mimxrt1180_evk 2 3Overview 4******** 5 6The dual core i.MX RT1180 runs on the Cortex-M33 core at 240 MHz and on the 7Cortex-M7 at 792 MHz. The i.MX RT1180 MCU offers support over a wide 8temperature range and is qualified for consumer, industrial and automotive 9markets. 10 11Hardware 12******** 13 14- MIMXRT1189CVM8B MCU 15 16 - 240MHz Cortex-M33 & 792Mhz Cortex-M7 17 - 1.5MB SRAM with 512KB of TCM for Cortex-M7 and 256KB of TCM for Cortex-M4 18 19- Memory 20 21 - 512 Mbit SDRAM 22 - 128 Mbit QSPI Flash 23 - 512 Mbit HYPER RAM 24 - TF socket for SD card 25 26- Ethernet 27 28 - 1000 Mbit/s Ethernet PHY 29 30- USB 31 32 - 2* USB 2.0 OTG connector 33 34- Audio 35 36 - 3.5 mm audio stereo headphone jack 37 - Board-mounted microphone 38 - Left and right speaker out connectors 39 40- Power 41 42 - 5 V DC jack 43 44- Debug 45 46 - JTAG 20-pin connector 47 - MCU-Link with DAPLink 48 49- Expansion port 50 51 - Arduino interface 52 53- CAN bus connector 54 55For more information about the MIMXRT1180 SoC and MIMXRT1180-EVK board, see 56these references: 57 58- `i.MX RT1180 Website`_ 59- `MIMXRT1180-EVK Website`_ 60 61External Memory 62=============== 63 64This platform has the following external memories: 65 66+--------------------+------------+-------------------------------------+ 67| Device | Controller | Status | 68+====================+============+=====================================+ 69| W9825G6KH | SEMC | Enabled via device configuration | 70| | | data block, which sets up SEMC at | 71| | | boot time | 72+--------------------+------------+-------------------------------------+ 73| W25Q128JWSIQ | FLEXSPI | Enabled via flash configurationn | 74| | | block, which sets up FLEXSPI at | 75| | | boot time. | 76+--------------------+------------+-------------------------------------+ 77 78Supported Features 79================== 80 81NXP considers the MIMXRT1180-EVK as the superset board for the i.MX RT118x 82family of MCUs. This board is a focus for NXP's Full Platform Support for 83Zephyr, to better enable the entire RT118x family. NXP prioritizes enabling 84this board with new support for Zephyr features. The mimxrt1180_evk board 85configuration supports the following hardware features: 86 87+-----------+------------+-------------------------------------+ 88| Interface | Controller | Driver/Component | 89+===========+============+=====================================+ 90| NVIC | on-chip | nested vector interrupt controller | 91+-----------+------------+-------------------------------------+ 92| SYSTICK | on-chip | systick | 93+-----------+------------+-------------------------------------+ 94| GPIO | on-chip | gpio | 95+-----------+------------+-------------------------------------+ 96| GPT | on-chip | counter | 97+-----------+------------+-------------------------------------+ 98| QTMR | on-chip | counter | 99+-----------+------------+-------------------------------------+ 100| UART | on-chip | serial port-polling; | 101| | | serial port-interrupt | 102+-----------+------------+-------------------------------------+ 103| I2C | on-chip | i2c | 104+-----------+------------+-------------------------------------+ 105| ACMP | on-chip | sensor | 106+-----------+------------+-------------------------------------+ 107| ADC | on-chip | adc | 108+-----------+------------+-------------------------------------+ 109| NETC | on-chip | ethernet, mdio | 110+-----------+------------+-------------------------------------+ 111| CAN | on-chip | can | 112+-----------+------------+-------------------------------------+ 113| LPTMR | on-chip | counter | 114+-----------+------------+-------------------------------------+ 115| FLEXSPI | on-chip | flash programming | 116+-----------+------------+-------------------------------------+ 117| PWM | on-chip | pwm | 118+-----------+------------+-------------------------------------+ 119| PWM | on-chip | tpm | 120+-----------+------------+-------------------------------------+ 121| I3C | on-chip | i3c | 122+-----------+------------+-------------------------------------+ 123 124The default configuration can be found in the defconfig file: 125:zephyr_file:`boards/nxp/mimxrt1180_evk/mimxrt1180_evk_mimxrt1189_cm33_defconfig` 126 127Other hardware features are not currently supported by the port. 128 129 130Connections and I/Os 131==================== 132 133The MIMXRT1180 SoC has six pairs of pinmux/gpio controllers. 134 135+---------------+-----------------+---------------------------+ 136| Name | Function | Usage | 137+===============+=================+===========================+ 138| GPIO_AON_04 | GPIO | SW8 | 139+---------------+-----------------+---------------------------+ 140| GPIO_AD_27 | GPIO | LED | 141+---------------+-----------------+---------------------------+ 142| GPIO_AON_08 | LPUART1_TX | UART Console | 143+---------------+-----------------+---------------------------+ 144| GPIO_AON_09 | LPUART1_RX | UART Console | 145+---------------+-----------------+---------------------------+ 146 147System Clock 148============ 149 150The MIMXRT1180 SoC is configured to use SysTick as the system clock source, 151running at 240MHz. When targeting the M7 core, SysTick will also be used, 152running at 792MHz 153 154Serial Port 155=========== 156 157The MIMXRT1180 SoC has 12 UARTs. One is configured for the console and the 158remaining are not used. 159 160Ethernet 161======== 162 163NETC driver supports to manage the Physical Station Interface (PSI). 164 165Programming and Debugging 166************************* 167 168Build and flash applications as usual (see :ref:`build_an_application` and 169:ref:`application_run` for more details). 170 171Configuring a Debug Probe 172========================= 173 174A debug probe is used for both flashing and debugging the board. This board is 175configured by default to use the :ref:`mcu-link-cmsis-onboard-debug-probe`, 176however the :ref:`pyocd-debug-host-tools` do not yet support programming the 177external flashes on this board so you must reconfigure the board for one of the 178following debug probes instead. 179 180.. _Using J-Link RT1180: 181 182Using J-Link 183------------ 184 185Please ensure used JLINK above V7.94g and jumper JP5 installed if using 186external jlink plus on J37 as debugger. 187 188When debugging cm33 core, need to ensure the SW5 on "0100" mode. 189When debugging cm7 core, need to ensure the SW5 on "0001" mode. 190(Only support run cm7 image when debugging due to default boot core on board is cm33 core) 191 192Install the :ref:`jlink-debug-host-tools` and make sure they are in your search 193path. 194 195There are two options: the onboard debug circuit can be updated with Segger 196J-Link firmware, or :ref:`jlink-external-debug-probe` can be attached to the 197EVK. 198 199 200Using Linkserver 201---------------- 202 203Please ensure used linkserver above V1.5.30 and jumper JP5 uninstalled. 204 205When debugging cm33 core, need to ensure the SW5 on "0100" mode. 206When debugging cm7 core, need to ensure the SW5 on "0001" mode. 207(Only support run cm7 image when debugging due to default boot core on board is cm33 core) 208 209Configuring a Console 210===================== 211 212Regardless of your choice in debug probe, we will use the MCU-Link 213microcontroller as a usb-to-serial adapter for the serial console. Check that 214jumpers JP5 and JP3 are **on** (they are on by default when boards ship from 215the factory) to connect UART signals to the MCU-Link microcontroller. 216 217Connect a USB cable from your PC to J53. 218 219Use the following settings with your serial terminal of choice (minicom, putty, 220etc.): 221 222- Speed: 115200 223- Data: 8 bits 224- Parity: None 225- Stop bits: 1 226 227Flashing 228======== 229 230Here is an example for the :zephyr:code-sample:`hello_world` application on cm33 core. 231 232Before power on the board, make sure SW5 is set to 0100b 233 234.. zephyr-app-commands:: 235 :zephyr-app: samples/hello_world 236 :board: mimxrt1180_evk/mimxrt1189/cm33 237 :goals: flash 238 239Power off the board, then power on the board and 240open a serial terminal, reset the board (press the SW3 button), and you should 241see the following message in the terminal: 242 243.. code-block:: console 244 245 ***** Booting Zephyr OS v3.7.0-xxx-xxxxxxxxxxxxx ***** 246 Hello World! mimxrt1180_evk/mimxrt1189/cm33 247 248Debugging 249========= 250 251Here is an example for the :zephyr:code-sample:`hello_world` application. 252 253.. zephyr-app-commands:: 254 :zephyr-app: samples/hello_world 255 :board: mimxrt1180_evk/mimxrt1189/cm33 256 :goals: debug 257 258Open a serial terminal, step through the application in your debugger, and you 259should see the following message in the terminal: 260 261.. code-block:: console 262 263 ***** Booting Zephyr OS v3.7.0-xxx-xxxxxxxxxxxxx ***** 264 Hello World! mimxrt1180_evk/mimxrt1189/cm33 265 266.. _MIMXRT1180-EVK Website: 267 https://www.nxp.com/design/design-center/development-boards-and-designs/i-mx-evaluation-and-development-boards/i-mx-rt1180-evaluation-kit:MIMXRT1180-EVK 268 269.. _i.MX RT1180 Website: 270 https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/i-mx-rt-crossover-mcus/i-mx-rt1180-crossover-mcu-with-tsn-switch-and-edgelock:i.MX-RT1180 271