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