Skip to main content

Getting started

Introduction​

This section contains information about how to get started with program development on the iMX RT Developer’s Kit. The document covers the following kits:

Kit (and MCU)
iMX RT1064 Developer's Kit
iMX RT1166 Developer's Kit
iMX RT1176 Developer's Kit
note

Note that the iMX RT1052/RT1062 OEM Developer’s Kit is not covered in this document. There is a separate document for that kit.

Most of the examples in this document refer to the iMX RT1176 Developer’s Kit (and associated iMX RT1176 uCOM board). For other kits/MCUs, the paths and names may change slightly but it will be obvious where the changes are.

To start program development, you need the following things, all of them:

  1. Patched version of MCUXpresso SDK - this is a package of sample software from NXP that has been patched by Embedded Artists to work with the iMX RT Developer’s Kit. The zip-file can be downloaded from http://imx.embeddedartists.com.
  2. Integrated Development Environment (IDE)
    1. NXP MCUXpresso, Keil uVision/MDK and IAR Embedded Workbench. Update to latest version of respective IDE.
    2. Programming of the flash is also supported via NXP's MCUXpresso Secure Provisioning Tools standalone application, but it is not a suitable tool to use during program development.
  3. JTAG probe to be able to download the application to SRAM, SDRAM or the flash memory and in general to be able to debug - set breakpoints, inspect memory, etc.
    1. The low-cost MCU-Link (Pro) or LPC-Link2 are excellent choices. Keil ULINK2 and ULINKplus, as well as Segger JLINK, are also excellent debug probes.
    2. Technically it is possible to program/flash without a JTAG probe (via NXP's MCUXpresso Secure Provisioning Tools application), but it is strongly recommended to use the proper tool for debugging - i.e., use a JTAG probe!
  4. And of course, the iMX RT Developer's Kit!

Downloading the SDK​

Starting with SDK version 2.8.6 and going forward, Embedded Artists has published a version of the SDK that has already been patched to work with the iMX RT Developer’s Kit. The file can be downloaded from http://imx.embeddedartists.com and will have a filename like

ea<mcu>_sdk_<version>_<date>.zip

About the SDK​

NXP’s SDK builder (https://mcuxpresso.nxp.com/en/) was used to generate an SDK.

Depending on which options are selected it limits the number of examples that can be downloaded. The SDK with the broadest set of examples is the Windows/All IDEs/All Examples and that is the combination that was selected for the patched SDK. SDK builder for 2.8.6 forced a choice between FreeRTOS or Azure RTOS and in that case FreeRTOS was selected. Starting with 2.9.0 the SDKs have support for both operating systems.

In general, this is what has been patched (see the release notes for more detail):

  • The memory configuration (e.g., size of SDRAM) is changed to match the iMX RT Developer’s Kit
  • The flash configuration (e.g., size/model/make) is changed to match the iMX RT Developer’s Kit. This includes changes to selected flash algorithms and flash headers
  • Use of I2C busses, UARTs and pinning is changed where needed
  • Buttons and LEDs are remapped to work on the iMX RT Developer’s Kit
  • Drivers for peripherals unique to the iMX RT Developer’s Kit are added. This includes for example
    • GPIO Expander PCA6416
    • PWM Expander PCA9530
    • EEPROM for MAC address
  • LWIP projects are modified to read the MAC address

This has been added:

  • Wi-Fi/Bluetooth support is extended to support a larger selection of Embedded Artists’ M.2 wireless modules.
  • HDMI display support is added if it can be supported by the MCU
  • Parallel RGB display support is added if it can be supported by the MCU

This has been removed:

  • All projects for the expansion board AGM01

Preparing the Hardware​

Please follow the instructions on the getting started page for the iMX RT Developer's Kit to power the board and connect to the console (UART-to-USB bridge). https://www.embeddedartists.com/getting-started-with-ucom-developers-kit/

Getting Started with a Specific IDE​

The following sections will describe how to get started with several different IDEs.