Getting Started with the MIMXRT1040-EVK

Last Modified: Jan 16, 2023Supports i.MX RT1040-EVK

1. Plug It In

Let's take your MIMXRT1040-EVK for a test drive. The pictures below show the MIMXRT1040-EVK image.

1.1 Configure Boot Mode

The device has four boot modes (one is reserved for NXP use). The boot mode is selected based on the binary value stored in the internal BOOT_MODE register. Switch SW4 is used to select the boot mode on the MIMXRT1040-EVK board.

To boot from the QSPI flash, make sure SW4 is set to 0010.

1.2 Attach the USB Cable

The MIMXRT1040-EVK comes preprogrammed with a demo that will initiate the LED on the board to flash periodically when plugged in. When the board is tilted, the green LED gradually illuminates based on the degree of tilt on the X-axis.

2. Get Software

2.1 Jump Start Your Design with the MCUXpresso SDK

Want to learn about SDK

The MCUXpresso SDK is complimentary and includes full source code under a permissive open-source license for all hardware abstraction and peripheral driver software.

Click below to download a pre-configured SDK release for the MIMXRT1040-EVK

Get MCUXpresso SDK

You can also use the online SDK Builder to create a custom SDK package for the MIMXRT1040-EVK using the SDK builder.

2.2 Install Your Toolchain

NXP offers a complimentary toolchain called MCUXpresso IDE.

Get MCUXpresso IDE

Want to use a different toolchain?

No problem! The MCUXpresso SDK includes support for other tools such as IAR, Keil, and command-line GCC.

2.3 PC Configuration

Many of the example applications output data over the MCU UART so you'll want to make sure that the driver for the board's virtual COM port is installed. Before you run the driver installer, you MUST have the board plugged into your PC.

Download Driver

With the serial port driver installed, run your favorite terminal application to view the serial output from the MCU's UART. Configure the terminal to 115200 baud rate, 8 data bits, no parity and 1 stop bit. To determine the port number of the MIMXRT1040-EVK virtual COM port, open the device manager and look under the "Ports" group.

Not sure how to use a terminal application? Try one of these tutorials:

Tera Term Tutorial, PuTTY Tutorial

3. Build, Run

3.1 Explore the MCUXpresso SDK Example Code

The MCUXpresso SDK comes with a long list of example application code. To see what's available, browse to the SDK boards folder of your SDK installation and select your board, the MIMXRT1040-EVK (<sdk_install_directory>/boards/evkMIMXRT1040</sdk_install_directory>) or MIMXRT1040-EVK (<sdk_install_directory>/boards/MIMXRT1040EVK</sdk_install_directory>).

To learn more about specific example code, open the readme.txt file in an example’s directory.

3.2 Build, Run and Debug MCUXpresso SDK Examples

If one or more of the demo applications or driver examples sounds interesting, you're probably wanting to know how you can build and debug yourself. The getting started with MCUXpresso SDK guide provides easy, step-by-step instructions on how to configure, build and debug demos for all toolchains supported by the SDK.

Use the guide below to learn how to open, build and debug an example application using MCUXpresso IDE.

Using a different toolchain?

Boot Options

Learn more about the different boot sources supported by the i.MX RT family, including Execute in Place (XIP).

Boot Options for i.MX RT Crossover MCUs

Security

i.MX RT Secure Boot Lab Guide - Learn how to use the secure boot features of the i.MX family, including how to generate key pairs and certificates, program fuses using leftosb tool, and sign firmware.

Realizing Today's Security Requirements: Achieving End-To-End Security with a Crossover Processor - Learn about common shared security goals that IoT end and edge nodes should meet, as well as the steps, tools and procedures needed to achieve root of trust in end devices.

One-stop secure boot tool: NXP-MCUBootUtility v1.0.0 is released - NXP-MCUBootUtility is a GUI tool specially designed for NXP MCU secure boot. It includes all the features of NXP's official security enablement toolset with support for full graphical user interface operation.

External Memory

How to Enable Boot from QSPI Flash - This document describes how to use Flashloader step by step to program a bootable image into the external storage device either by using Open SDA or MfgTool.

How to Enable Debugging for FLEXSPI NOR Flash - . This application note describes how to program, debug and configure a new FLEXSPI NOR flash

Developing Code Using the Adesto EcoXip Memory - Learn about the hardware and software requirements for configuring the NXP i.MX RT1050 EVK board with an Adesto EcoXiP Flash device.

Motor Control

Get Your Motor Spinning with i.MX RT - This presentation covers the MCU requirements, motor control basics and framework to spin a BLDC, PMSM or ACIM motor and how to implement motor control on the i.MX RT.

PMSM Field-Oriented Control on MIMXRT10xx EVK Application Note- Describes the implementation of the sensor and sensorless speed and position motor control software for 3-phase Permanent Magnet Synchronous Motors (PMSM).

PMSM Field-Oriented Control on MIMXRT10xx EVK User's Guide - Step-by-step guide on how to open, compile, debug, and run Permanent Magnet Synchronous Motor (PMSM) projects in most common IDEs, such as IAR Embedded Workbench®, MCUXpresso, and Vision® Keil® IDEs. It also describes how to turn the NXP Freedom PMSM power stage and the i.MX RT10xx evaluation kit into a complete motor control reference design, as well as initializing the FreeMASTER GUI tool for controlling motor-control applications.

Machine Learning

eIQ® Transfer Learning Lab with i.MX RT - Learn how to perform transfer learning on models and run them on the i.MX RT1040 platform.

eIQ Glow Lab for i.MX RT - Learn how to use the Glow neural network compiler tool by running a handwritten digit recognition model example. A step-by-step video covering this lab is also available below

Getting started with Glow Neural Network Compiler:

Graphics

Implementing Graphics in Real-time Industrial HMI Systems with NXP MCUs and Embedded Wizard - NXP has partnered with TARA Systems to offer Embedded Wizard as an Enabling Software Technology. Fully integrated Embedded Wizard example projects are available in the MCUXpresso SDK for the i.MX RT1040.

Getting Started with Embedded Wizard and MCUXpresso - Learn how to download an SDK that includes Embedded Wizard and get an example project up and running on your device.

Implementing Graphics in Real Time Industrial HMI Systems with i.MX RT10xx MCUs and Crank Storyboard - NXP has partnered with Crank Software to offer Storyboard as an Enabling Software Technology. Fully integrated Storyboard example projects are available in the MCUXpresso SDK for the i.MX RT1040.

Wi-Fi®

Getting Started with NXP Wi-Fi modules using i.MX RT platform - Let's take your Wi-Fi module for a test drive. This guide uses the Wi-Fi modules and i.MX RT platforms!

Tera Term Tutorial

Tera Term Tutorial

Tera Term is a very popular open source terminal emulation application. This program can be used to display information sent from your NXP development platform's virtual serial port.

  1. Download Tera Term from SourceForge. After the download, run the installer and then return to this webpage to continue
  2. Download

  3. Launch Tera Term. The first time it launches, it will show you the following dialog. Select the serial option. Assuming your board is plugged in, there should be a COM port automatically populated in the list
  4. Configure the serial port settings (using the COM port number identified earlier) to 115200 baud rate, 8 data bits, no parity and 1 stop bit. To do this, go to Setup -> Serial Port and change the settings
  5. Verify that the connection is open. If connected, Tera Term will show something like below in it's title bar
  6. You're ready to go

PuTTY Tutorial

PuTTY Tutorial

PuTTY is a popular terminal emulation application. This program can be used to display information sent from your NXP development platform's virtual serial port.

  1. Download PuTTY using the button below. After the download, run the installer and then return to this webpage to continue.
  2. Download

  3. Launch PuTTY by either double clicking on the *.exe file you downloaded or from the Start menu, depending on the type of download you selected.
  4. Configure In the window that launches, select the Serial radio button and enter the COM port number that you determined earlier. Also enter the baud rate, in this case 115200.
  5. Click Open to open the serial connection. Assuming the board is connected and you entered the correct COM port, the terminal window will open. If the configuration is not correct, PuTTY will alert you.
  6. You're ready to go

Design Resources

Software

Support

Learn more about the RT1040 with design tips, training documents, and the NXP Community. If you need additional help, contact NXP Support.

Design Tips

Hardware Design Tips for i.MX RT Crossover MCUs - Helpful hints to get your first i.MX RT1040 design off to a good start, including using the power management unit, different boot modes and configuration options.

Training

Communities

Connect with other engineers and get expert advice on designing with i.MX RT Crossover MCUs on one of our community sites.