Technical content and expertise to help jump start your design and get you to production faster.
Start your designDownload our latest development and embedded software solutions.
Expedite time-to-market with our extensive lineup of development kits.
Jump-start your design with proven hardware and software solutions.
Get the latest specifications in our technical documentation library.
Further your technical expertise with online and in-person instruction.
Get comprehensive paid support to fast-track your product development.
Design ideas, demo videos, quality answers. Connect with NXP professionals and other knowledgeable designers ready to help.
Software, documentation, evaluation tools. The resources to build comprehensive solutions and accelerate your time to market.
Access our design resource libraryWe're always looking for passionate and talented people to work with us.
Join our teamLet's take your MIMXRT1020-EVK for a test drive! You have the choice of watching the sequence in a short video or following the detailed actions list below.
Your MIMXRT1020-EVK comes loaded with a "led blinky" demo that uses the onboard LED. When the board is powered, the Green LED should flash on and off.
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 MIMXRT1020-EVK
You can also use the online SDK Builder to create a custom SDK package for the MIMXRT1020-EVK using the SDK builder.
NXP offers a complimentary toolchain called 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.
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.
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 MIMXRT1020-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 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.
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.
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 MIMXRT1020-EVK (
To learn more about specific example code, open the readme.txt file in an example’s directory.
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?
The following steps guide you through opening the hello_world example application. These steps may change slightly for other example applications as some of these applications may have additional layers of folders in their path.
If not already done, open the desired demo application workspace. Most example application workspace files can be located using the following path:
Using the the hello_world demo as an example, the path is located in:
Select the desired build target from the drop-down.
For this example, select the “hello_world – flexspi_nor_debug” target.
To build the demo application, click the “Make” button, highlighted in red below.
To download and run the application, perform these steps:
Open the terminal application on the PC, such as PuTTY or TeraTerm, and connect to the debug COM port. Configure the terminal with these settings:
In IAR, click the "Download and Debug" button to download the application to the target.
The application is then downloaded to the target and automatically runs to the main() function.
Run the code by clicking the "Go" button to start the application.
The hello_world application is now running and a banner is displayed on the terminal. If this is not true, check your terminal settings and connections.
After the MDK tools are installed, Cortex® Microcontroller Software Interface Standard (CMSIS) device packs must be installed to fully support the device from a debug perspective. These packs include things such as memory map information, register definitions and flash programming algorithms. Follow these steps to install the MIMXRT102x CMSIS pack.
Open the MDK IDE, which is called µVision. In the IDE, select the "Pack Installer" icon.
In the Pack Installer window, navigate to the Devices tab and select the MIMXRT1021 device under NXP.
After the installation finishes, close the Pack Installer window and return to the µVision IDE.
The following steps will guide you through opening the hello_world application. These steps may change slightly for other example applications as some of these applications may have additional layers of folders in their path.
If not already done, open the desired demo application workspace in:
The workspace file is named
To build the demo project, select the "Rebuild" button, highlighted in red.
The build completes without errors.
To download and run the application, perform these steps:
Connect the development platform to your PC via USB cable.
Open the terminal application on the PC, such as PuTTY or TeraTerm, and connect to the debug serial port number. Configure the terminal with these settings:
After the application is properly built, click the "Load" button to download the application to the target.
To debug the application, click the “Start/Stop Debug Session” button, highlighted in red.
Run the code by clicking the "Run" button to start the application.
The hello_world application is now running and a banner is displayed on the terminal. If this is not true, check your terminal settings and connections.
The following steps will guide you through opening the hello_world example.
Find the Quickstart Panel in the lower left hand corner
Then click on Import SDK examples(s)…
Click on the evkmimxrt1020 board to select that you want to import an example that can run on that board, and then click on Next.
Use the arrow button to expand the demo_apps category, and then click the checkbox next to hello_world to select that project. Make sure UART is selected as the SDK Debug Console. Then, click on Finish.
Now build the project by clicking on the project name and then click on the Build icon.
You can see the status of the build in the Console tab.
MCUXpresso IDE will probe for connected boards and should find the CMSIS-DAP debug probe that is part of the integrated OpenSDA circuit on the MIMXRT1020-EVK. Click on OK to continue.
The firmware will be downloaded to the board and the debugger started.
Open up a terminal program and connect to the COM port the board enumerated as. Use 115200 baud 8 data bits, no parity and 1 stop bit.
Start the application by clicking the "Resume" button:
The hello_world application is now running and a banner is displayed on the terminal. If this is not the case, check your terminal settings and connections.
Use the controls in the menu bar to pause, step into, and step over instructions, and then stop the debugging session by click on the Terminate icon:
This section contains the steps to install the necessary components required to build and run a KSDK demo application with the Arm GCC toolchain, as supported by the Kinetis SDK. There are many ways to use Arm GCC tools, but this example focuses on a Windows environment. Though not discussed here, GCC tools can also be used with both Linux OS and Mac OSX.
Download and run the installer from launchpad.net/gcc-arm-embedded. This is the actual toolchain (i.e., compiler, linker, etc.). The GCC toolchain should correspond to the latest supported version, as described in the Kinetis SDK Release Notes.
The Minimalist GNU for Windows (MinGW) development tools provide a set of tools that are not dependent on third party C-Runtime DLLs (such as Cygwin). The build environment used by the KSDK does not utilize the MinGW build tools, but does leverage the base install of both MinGW and MSYS. MSYS provides a basic shell with a Unix-like interface and tools.
Download the latest MinGW mingw-get-setup installer from sourceforge.net/projects/mingw/files/Installer/.
Run the installer. The recommended installation path is C:\MinGW, however, you may install to any location.
NOTE
The installation path cannot contain any spaces.
Ensure that the "mingw32-base" and "msys-base" are selected under Basic Setup.
Click "Apply Changes" in the "Installation" menu and follow the remaining instructions to complete the installation.
Add the appropriate item to the Windows operating system Path environment variable. It can be found under Control Panel -> System and Security -> System -> Advanced System Settings in the "Environment Variables..." section. The path is:
Assuming the default installation path, C:\MinGW, an example is shown below. If the path is not set correctly, the toolchain does not work.
NOTE
If you have "C:\MinGW\msys\x.x\bin" in your PATH variable (as required by KSDK 1.0.0), remove it to ensure that the new GCC build system works correctly.
Create a new system environment variable and name it ArmGCC_DIR. The value of this variable should point to the Arm GCC Embedded tool chain installation path, which, for this example, is:
C:\Program Files (x86)\GNU Tools Arm Embedded\4.9 2015q3
Reference the installation folder of the GNU Arm GCC Embedded tools for the exact path name of your installation.
Download CMake 3.0.x from www.cmake.org/cmake/resources/software.html
Install CMake, ensuring that the option "Add CMake to system PATH" is selected when installing. It's up to the user to select whether it's installed into the PATH for all users or just the current user. In this example, the assumption is that it's installed for all users.
Follow the remaining instructions of the installer.
You may need to reboot your system for the PATH changes to take effect.
To build an example application, follow these steps.
1. If not already running, open a GCC Arm Embedded tool chain command window. To launch the window, from the Windows operating system Start menu, go to “Programs -> GNU Tools Arm Embedded
Change the directory to the example application project directory, which has a path like this:
For this guide, the exact path is:
Type “build_flexspi_nor_debug.bat” on the command line or double click on the "build_flexspi_nor_debug.bat" file in Windows operating system Explorer to perform the build. The output is shown in this figure:
This section describes steps to run a demo application using J-Link GDB Server application. To perform this exercise, two things must be done:
Make sure that either:
The OpenSDA interface on your board is programmed with the J-Link OpenSDA firmware. If your board does not support OpenSDA, then a standalone J-Link pod is required.
You have a standalone J-Link pod that is connected to the debug interface of your board. Note that some hardware platforms require hardware modification in order to function correctly with an external debug interface.
After the J-Link interface is configured and connected, follow these steps to download and run the demo applications:
This board supports the J-Link debug probe. Before using it, install SEGGER software, which can be downloaded from segger homepage
Connect the development platform to your PC via USB cable between the OpenSDA USB connector and the PC USB connector. If using a standalone J-Link debug pod, also connect it to the SWD/JTAG connector of the board.
Open the terminal application on the PC, such as PuTTY or TeraTerm, and connect to the debug serial port number. Configure the terminal with these settings:
115200 baud rate, (reference BOARD_DEBUG_UART_BAUDRATE variable in board.h file)
No parity
8 data bits
1 stop bit
Open the J-Link GDB Server application. Go to the SEGGER install folder, for example, C:\Program Files (x86)\SEGGER\JLink_V632f. Open the command windows here, for Debug and Release targets, and use the command "JLinkGDBServer.exe". Note: for the sdram_debug and sdram_release targets, use the command "JLinkGDBServer.exescriptfile
The target device selection chosen for this example is the MIMXRT1021xxx5A.
After it is connected, the screen should resemble this figure:
If not already running, open a GCC Arm Embedded tool chain window. To launch the window, from the Windows operating system Start menu, go to “Programs -> GNU Tools Arm Embedded
Change to the directory that contains the example application output. The output can be found in using one of these paths, depending on the build target selected:
For this example, the path is:
Run the command “arm-none-eabi-gdb.exe
Run these commands:
"target remote localhost:2331"
"monitor reset"
"monitor halt"
"load"
The hello_world application is now running and a banner is displayed on the terminal. If this is not true, check your terminal settings and connections.
Explore beyond the MIMXRT1020-EVK by adding other NXP solutions to your project and interact with our worldwide design community
Explore the world with a full assortment of NXP sensor solutions. From accelerometers, pressure sensors, touch sensors, and many more, NXP has a sensor solution for your project. Find out more at http://nxp.com/sensors
Near Field Communication is a simple, intuitive technology that lets you interact securely with the world around you with a simple touch. Learn more about NXP’s NFC solutions at http://nxp.com/nfc
Connect with other engineers and get expert advice on designing with i.MX processors and MCUXpresso Software and Tools. Join the community discussion in one of our two dedicated communities: i.MX Community or MCUXpresso Software and Tools Community
No problem! Your board simply came in the old packaging and has a different out-of-box demo loaded into the flash memory.
You should be seeing the RGB LED toggling between each of the three colors; red, blue and green. It's OK to move onto the next step when you're ready.
Try proceeding to the next steps to get other example applications running on your board. If you still have problems, try contacting us through the i.MX Community.
Now export the pin_mux.c and pin_mux.h files by clicking on the Sources tab on the right side to get to the Sources view, and selecting the export icon.
Select the directory to export the pin_mux.c and pin_mux.h files. In this example export to the “board” folder in the led_output project in the workspace that was created in the previous section.
(i.e. C:\MCUXpressoIDE_Lab\evkmimxrt1020_driver_examples_gpio_led_output\board). Select Finish.
Select the directory to export the clock_config.c and clock_config.h files. In this example export to the “board” folder in the led_output project in the workspace.
(i.e. C:\MCUXpressoIDE_Lab\evkmimxrt1020_driver_examples_gpio_led_output\board). Select Finish.