1.. zephyr:board:: mimxrt1062_fmurt6 2 3Overview 4******** 5 6The MIMXRT1062_FMURT6 adds to the industry's crossover 7processor series and expands the i.MX RT series to three scalable families. 8 9The i.MX RT1062 doubles the On-Chip SRAM to 1MB while keeping pin-to-pin 10compatibility with i.MX RT1050. This series introduces additional features 11ideal for real-time applications such as High-Speed GPIO, CAN FD, and 12synchronous parallel NAND/NOR/PSRAM controller. The i.MX RT1062 runs on the 13Arm® Cortex-M7® core up to 600 MHz. 14 15Hardware 16******** 17 18- MIMXRT1062DVL6B MCU (600 MHz, 1024 KB on-chip memory) 19 20- Memory 21 22 - 256 Mbit SDRAM 23 - 512 Mbit Hyper Flash 24 - TF socket for SD card 25 26- Ethernet 27 28 - 10/100 Mbit/s Ethernet PHY 29 30- USB 31 32 - USB 2.0 OTG connector 33 - USB 2.0 host connector 34 35- Audio 36 37 - 3.5 mm audio stereo headphone jack 38 - Board-mounted microphone 39 - Left and right speaker out connectors 40 41- Power 42 43 - 5 V DC jack 44 45- Debug 46 47 - JTAG 20-pin connector 48 - OpenSDA with DAPLink 49 50- Sensor 51 52 - BMI088 6-axis e-compass 53 54- Expansion port 55 56 - Arduino interface 57 58- CAN bus connector 59 60For more information about the MIMXRT1062 SoC and MIMXRT1062-FMURT6 board, see 61these references: 62 63- `i.MX RT1060 Website`_ 64- `i.MX RT1060 Reference Manual`_ 65- `MIMXRT1062-FMURT6 User Guide`_ 66- `MIMXRT1062-FMURT6 Schematics`_ 67 68Supported Features 69================== 70 71The mimxrt1062_fmurt6 board configuration supports the hardware features listed 72below. For additional features not yet supported, please also refer to the 73:zephyr:board:`mimxrt1064_evk` , which is the superset board in NXP's i.MX RT10xx family. 74NXP prioritizes enabling the superset board with NXP's Full Platform Support for 75Zephyr. Therefore, the mimxrt1064_evk board may have additional features 76already supported, which can also be re-used on this mimxrt1060_evk board: 77 78+-----------+------------+-------------------------------------+ 79| Interface | Controller | Driver/Component | 80+===========+============+=====================================+ 81| NVIC | on-chip | nested vector interrupt controller | 82+-----------+------------+-------------------------------------+ 83| SYSTICK | on-chip | systick | 84+-----------+------------+-------------------------------------+ 85| DISPLAY | on-chip | display | 86+-----------+------------+-------------------------------------+ 87| FLASH | on-chip | QSPI hyper flash | 88+-----------+------------+-------------------------------------+ 89| GPIO | on-chip | gpio | 90+-----------+------------+-------------------------------------+ 91| SPI | on-chip | spi | 92+-----------+------------+-------------------------------------+ 93| I2C | on-chip | i2c | 94+-----------+------------+-------------------------------------+ 95| ADC | on-chip | adc | 96+-----------+------------+-------------------------------------+ 97| WATCHDOG | on-chip | watchdog | 98+-----------+------------+-------------------------------------+ 99| PWM | on-chip | pwm | 100+-----------+------------+-------------------------------------+ 101| UART | on-chip | serial port-polling; | 102| | | serial port-interrupt | 103+-----------+------------+-------------------------------------+ 104| ENET | on-chip | ethernet | 105+-----------+------------+-------------------------------------+ 106| USB | on-chip | USB device | 107+-----------+------------+-------------------------------------+ 108| CAN | on-chip | can | 109+-----------+------------+-------------------------------------+ 110| DMA | on-chip | dma | 111+-----------+------------+-------------------------------------+ 112| GPT | on-chip | gpt | 113+-----------+------------+-------------------------------------+ 114| FLEXSPI | on-chip | flash programming | 115+-----------+------------+-------------------------------------+ 116 117The default configuration can be found in 118:zephyr_file:`boards/nxp/mimxrt1062_fmurt6/mimxrt1062_fmurt6_defconfig` 119 120Other hardware features are not currently supported by the port. 121 122Connections and I/Os 123==================== 124 125The MIMXRT1062 SoC has five pairs of pinmux/gpio controllers. 126 127+---------------+-----------------+---------------------------+ 128| Name | Function | Usage | 129+===============+=================+===========================+ 130| GPIO_AD_B1_08 | FLEXCAN1 TX | CAN | 131+---------------+-----------------+---------------------------+ 132| GPIO_B0_03 | FLEXCAN1 RX | CAN | 133+---------------+-----------------+---------------------------+ 134| GPIO_AD_B0_06 | PWM2A0 | PWM | 135+---------------+-----------------+---------------------------+ 136| GPIO_EMC_08 | PWM2A1 | PWM | 137+---------------+-----------------+---------------------------+ 138| GPIO_EMC_10 | PWM2A2 | PWM | 139+---------------+-----------------+---------------------------+ 140| GPIO_AD_B0_09 | PWM2A3 | PWM | 141+---------------+-----------------+---------------------------+ 142| GPIO_EMC_31 | LPUART7_TX | UART Console | 143+---------------+-----------------+---------------------------+ 144| GPIO_EMC_32 | LPUART7_RX | UART Console | 145+---------------+-----------------+---------------------------+ 146| GPIO_B0_04 | LPI2C2_SCL | I2C | 147+---------------+-----------------+---------------------------+ 148| GPIO_B0_05 | LPI2C2_SDA | I2C | 149+---------------+-----------------+---------------------------+ 150| GPIO_AD_B1_00 | LPI2C1_SCL | I2C | 151+---------------+-----------------+---------------------------+ 152| GPIO_AD_B1_01 | LPI2C1_SDA | I2C | 153+---------------+-----------------+---------------------------+ 154| GPIO_AD_B0_12 | LPI2C4_SCL | I2C | 155+---------------+-----------------+---------------------------+ 156| GPIO_AD_B0_13 | LPI2C4_SDA | I2C | 157+---------------+-----------------+---------------------------+ 158| WAKEUP | GPIO | SW0 | 159+---------------+-----------------+---------------------------+ 160| GPIO_B1_01 | ENET_RX_DATA00 | Ethernet | 161+---------------+-----------------+---------------------------+ 162| GPIO_B1_02 | ENET_RX_DATA01 | Ethernet | 163+---------------+-----------------+---------------------------+ 164| GPIO_B1_03 | ENET_RX_EN | Ethernet | 165+---------------+-----------------+---------------------------+ 166| GPIO_B0_12 | ENET_TX_DATA00 | Ethernet | 167+---------------+-----------------+---------------------------+ 168| GPIO_B0_13 | ENET_TX_DATA01 | Ethernet | 169+---------------+-----------------+---------------------------+ 170| GPIO_B0_14 | ENET_TX_EN | Ethernet | 171+---------------+-----------------+---------------------------+ 172| GPIO_B0_15 | ENET_REF_CLK | Ethernet | 173+---------------+-----------------+---------------------------+ 174| GPIO_B1_00 | ENET_RX_ER | Ethernet | 175+---------------+-----------------+---------------------------+ 176| GPIO_B1_12 | GPIO | SD Card | 177+---------------+-----------------+---------------------------+ 178| GPIO_B1_14 | USDHC1_VSELECT | SD Card | 179+---------------+-----------------+---------------------------+ 180| GPIO_EMC_40 | ENET_MDC | Ethernet | 181+---------------+-----------------+---------------------------+ 182| GPIO_B0_01 | ENET_MDIO | Ethernet | 183+---------------+-----------------+---------------------------+ 184| GPIO_SD_B0_00 | USDHC1_CMD | SD Card | 185+---------------+-----------------+---------------------------+ 186| GPIO_SD_B0_01 | USDHC1_CLK | SD Card | 187+---------------+-----------------+---------------------------+ 188| GPIO_SD_B0_02 | USDHC1_DATA0 | SD Card | 189+---------------+-----------------+---------------------------+ 190| GPIO_SD_B0_03 | USDHC1_DATA1 | SD Card | 191+---------------+-----------------+---------------------------+ 192| GPIO_SD_B0_04 | USDHC1_DATA2 | SD Card | 193+---------------+-----------------+---------------------------+ 194| GPIO_SD_B0_05 | USDHC1_DATA3 | SD Card | 195+---------------+-----------------+---------------------------+ 196| GPIO_EMC_27 | LPSPI1_SCK | SPI | 197+---------------+-----------------+---------------------------+ 198| GPIO_EMC_28 | LPSPI1_SDO | SPI | 199+---------------+-----------------+---------------------------+ 200| GPIO_EMC_29 | LPSPI1_SDI | SPI | 201+---------------+-----------------+---------------------------+ 202| GPIO_EMC_00 | LPSPI2_SCK | SPI | 203+---------------+-----------------+---------------------------+ 204| GPIO_EMC_02 | LPSPI2_SDO | SPI | 205+---------------+-----------------+---------------------------+ 206| GPIO_EMC_03 | LPSPI2_SDI | SPI | 207+---------------+-----------------+---------------------------+ 208| GPIO_AD_B1_15 | LPSPI3_SCK | SPI | 209+---------------+-----------------+---------------------------+ 210| GPIO_AD_B1_14 | LPSPI3_SDO | SPI | 211+---------------+-----------------+---------------------------+ 212| GPIO_AD_B1_13 | LPSPI3_SDI | SPI | 213+---------------+-----------------+---------------------------+ 214| GPIO_AD_B1_11 | ADC | ADC1 Channel 0 | 215+---------------+-----------------+---------------------------+ 216| GPIO_AD_B1_09 | ADC | ADC1 Channel 14 | 217+---------------+-----------------+---------------------------+ 218| GPIO_AD_B0_15 | ADC | ADC1 Channel 4 | 219+---------------+-----------------+---------------------------+ 220| GPIO_AD_B1_02 | UART2_TX_GPS1 | UART GPS | 221+---------------+-----------------+---------------------------+ 222| GPIO_AD_B1_03 | UART2_RX_GPS1 | UART GPS | 223+---------------+-----------------+---------------------------+ 224 225 226System Clock 227============ 228 229The MIMXRT1062 SoC is configured to use SysTick as the system clock source, 230running at 600MHz. 231 232When power management is enabled, the 32 KHz low frequency 233oscillator on the board will be used as a source for the GPT timer to 234generate a system clock. This clock enables lower power states, at the 235cost of reduced resolution 236 237 238Serial Port 239=========== 240 241The MIMXRT1062 SoC has eight UARTs. ``LPUART7`` is configured for the console, 242``LPUART8 and 2`` for GPS/MAG, ``LPUART3 and 4`` for Telemetry and the remaining are not used. 243 244Programming and Debugging 245************************* 246 247Build and flash applications as usual (see :ref:`build_an_application` and 248:ref:`application_run` for more details). 249 250Configuring a Debug Probe 251========================= 252 253A debug probe is used for both flashing and debugging the board. This board is 254configured by default to use the :ref:`opensda-daplink-onboard-debug-probe`, 255however the :ref:`pyocd-debug-host-tools` do not yet support programming the 256external flashes on this board so you must reconfigure the board for one of the 257following debug probes instead. 258 259.. _Using J-Link RT1062: 260 261Using J-Link 262--------------------------------- 263 264Install the :ref:`jlink-debug-host-tools` and make sure they are in your search 265path. 266 267For Hyperflash support on i.MxRT106x use JLink_V780 or above. 268 269There are two options: the onboard debug circuit can be updated with Segger 270J-Link firmware, or :ref:`jlink-external-debug-probe` can be attached to the 271FMURT6 on J23 FMU Debug Port. 272Run JLink.exe and choose device / core as MIMXRT106A-ALEXA. 273 274Configuring a Console 275===================== 276 277Regardless of your choice in debug probe, we will use the OpenSDA 278microcontroller as a usb-to-serial adapter for the serial console. 279 280Connect a USB cable from your PC to PixHawk debug adapter. 281 282Use the following settings with your serial terminal of choice (minicom, putty, 283etc.): 284 285- Speed: 115200 286- Data: 8 bits 287- Parity: None 288- Stop bits: 1 289 290Using SWO 291--------- 292SWO can be used as a logging backend, by setting ``CONFIG_LOG_BACKEND_SWO=y``. 293Your SWO viewer should be configured with a CPU frequency of 132MHz, and 294SWO frequency of 7500KHz. 295 296Flashing 297======== 298 299Here is an example for the :zephyr:code-sample:`hello_world` application. 300 301.. zephyr-app-commands:: 302 :zephyr-app: samples/hello_world 303 :board: mimxrt1062_fmurt6 304 :goals: flash 305 306Open a serial terminal, reset the board (press the SW9 button), and you should 307see the following message in the terminal: 308 309.. code-block:: console 310 311 ***** Booting Zephyr OS v3.20.0 ***** 312 Hello World! mimxrt1062_fmurt6 313 314Debugging 315========= 316 317Here is an example for the :zephyr:code-sample:`hello_world` application. 318 319.. zephyr-app-commands:: 320 :zephyr-app: samples/hello_world 321 :board: mimxrt1062_fmurt6 322 :goals: debug 323 324Open a serial terminal, step through the application in your debugger, and you 325should see the following message in the terminal: 326 327.. code-block:: console 328 329 ***** Booting Zephyr OS v3.20.0 ***** 330 Hello World! mimxrt1062_fmurt6 331 332Troubleshooting 333=============== 334 335If the west flash or debug commands fail, and the command hangs while executing 336runners.jlink, confirm the J-Link debug probe is configured, powered, and 337connected to the FMURT6 properly. 338 339.. _MIMXRT1062-FMURT6 Website: 340 https://www.nxp.com/part/RDDRONE-FMURT6# 341 342.. _MIMXRT1062-FMURT6 User Guide: 343 https://docs.px4.io/master/en/ 344 345.. _MIMXRT1062-FMURT6 Schematics: 346 https://github.com/NXPHoverGames/NXP-FMUMRT6 347 348.. _i.MX RT1060 Website: 349 https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/i.mx-applications-processors/i.mx-rt-series/i.mx-rt1060-crossover-processor-with-arm-cortex-m7-core:i.MX-RT1060 350 351.. _i.MX RT1060 Datasheet: 352 https://www.nxp.com/docs/en/nxp/data-sheets/IMXRT1060CEC.pdf 353 354.. _i.MX RT1060 Reference Manual: 355 https://www.nxp.com/webapp/Download?colCode=IMXRT1060RM 356