1
Plug It In2
Get Software3
Build, Run4
Create5
MCUXpresso Developer ExperienceLet's take your FRDM board for a test drive! You have the choice of watching the sequence in a short video or following the detailed actions listed below.
The FRDM-MCXA156 board is pre-programmed with a LED blinky demo. This serves as a sanity check to verify that the device is working as expected out of the box.
Something went wrong! Please try again.
Connect a type-C USB cable from connector J21
to a host computer or power supply to power up the board and run the demo program. At this point, you should see the RGB LED blinking at a steady rhythm.
Something went wrong! Please try again.
NXP offers a complimentary toolchain called MCUXpresso IDE. Please download MCUXpresso v11.8.1 or above.
Learn how to install VS Code for your host PC with the following tutorial.
No problem! The MCUXpresso SDK includes support for other tools such as IAR , Keil and command-line GCC .
Something went wrong! Please try again.
The MCUXpresso SDK is complimentary and includes full source code under a permissive open source license for all hardware abstraction and peripheral driver software. You may install the MCUXpresso SDK directly form the MCUXpresso SDK website at MCUXpresso SDK Builder . Click on the button below to open this board's SDK builder.
Something went wrong! Please try again.
The MCUXpresso Config Tools is an integrated suite of configuration tools that guides users in creating new MCUXpresso SDK projects, and also provides pin and clock tools to generate initialization C code for custom board support, it is fully integrated as a part of MCUXpresso IDE and also as a separate tool if using a different IDE.
Click the Get MCUXpresso Config Tools below to get the Config Tools installer.
Something went wrong! Please try again.
NXP provides MCUXpresso Secure Provisioning (SEC) for trial run and mass production use. It supports secure programming and device provisioning on NXP's microcontrollers at the production stage. The MCUXpresso Secure Provisioning (SEC) Tool is a GUI-based application provided to simplify generation and provisioning of bootable executables on NXP MCU devices.
The Secure Provisioning SDK (SPSDK) is an open source development kit with its source code released on GitHub and PyPI . This command-line tool is useful when interfacing with a custom or partner programming tool.
Something went wrong! Please try again.
The following steps will guide you through the hello_world demo application using MCUXpresso IDE for the Cortex-M33 application. The MCUXpresso IDE installation and the SDK for the MCXA-Series can be found at section Get Software of this Getting Started guide.
J21
'MCU-LINK' portSomething went wrong! Please try again.
MCUXpresso for Visual Studio Code (VS Code) provides an optimized embedded developer experience for code editing and development. Learn how to build and flash an application with VS Code.
This demo is also available for IAR and Keil.
Something went wrong! Please try again.
The following steps will guide you through the manipulation of the general-purpose outputs. The example sets up a CTimer to generate a PWM signal and change between two LEDs.
driver_examples
category, then expand the ctimer examples, click on the checkbox next to ctimer_match_interrupt_example
to select it. To use the UART for printing (instead of the default semihosting), select UART as the SDK Debug Console checkbox under the project options. Then, click on Finishfrdmmcxa156_ctimer_match_interrupt_example
project in the Project Explorer View and build, compile and run the demo as described in the previous sectionSomething went wrong! Please try again.
The following steps will guide you through the manipulation of the general-purpose outputs. The example sets up a CTimer to make RED and GREEN LED changing back and forth.
ctimer_match_interrupt_example
example project. You can then also specify where to clone the project and the name. Then, click on FinishSomething went wrong! Please try again.
Note: Previously, you had to clone an SDK project like in the previous step.
Something went wrong! Please try again.
PIO3_12
and PIO3_13
are routed as the outputs of the CTimer. Let's change the pin configuration and add the BLUE LEDModify the CTimer output pin PIO3_12
as GPIO and output Logical 1
to disable RED LED
Modify the CTimer output pin PIO3_13
as GPIO to drive GREEN LED
P3_0
and select GPIO3,0
under the GPIO columnNote: The clocks and other files may also be tagged as being updated since the header has been changed.
GPIO3
peripheral, to ensure it is ready to useSomething went wrong! Please try again.
Check out each of the following sections to learn about the ecosystem provided for flexible prototyping and development. In the video below, we will introduce you to the FRDM platform, the full-featured EVK and the compatible shields for extended capabilities. In addition, we will walk you through our Application Code Hub portal where we provide numerous application examples through NXP's GitHub.
For quick prototyping platforms, we offer both the low-cost FRDM platform and the full-featured EVK.
FRDM Development Boards come with standard form factor and headers, easy access to MCU I/Os, onboard MCU-Link debugger and a USB-C cable. Our full features evaluation kits include extended I/Os and interface access, extendable with WiFi and additional MCU-Link features. There are also many compatible Click Boards and/or Arduino Shields. For those that are supported with an Open CMSIS Pack example may be available on ACH, but if not many of them are easy to use via serial interface like I²C, SPI and UART, for which we provide drivers with examples in the MCUXpresso SDK.
Something went wrong! Please try again.
The Application Code Hub further enhances our MCUXpresso Developer Experience by giving developers an interactive dashboard to quickly locate software. Visit the ACH today to start exploring or discover additional details and benefits of the new interactive Application Code Hub. Software accessible from Application Code Hub is located in NXP’s GitHub repository so, it can be easily accessed and cloned from that location directly.
Something went wrong! Please try again.
The following demo walks us through importing a project from ACH using a system based on the FRDM platform with a motor control shield and a low-cost LCD. Although your evaluation board may differ from this system, the following steps can be replicated and used for all supported platforms.
Something went wrong! Please try again.
The most recent versions of MCUXpresso IDE count with a terminal emulation application. This tool can be used to display information sent from your NXP development platform's virtual serial port.
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 following steps will guide you through opening the hello_world application. The instructions for compiling and debugging the Cortex M33 core are covered in the instructions below.
Please use IAR Embedded Workbench for Arm version 9.50.1 or above.
Open the desired example application workspace. Most example application workspace files can be located using the following path:
<install_dir>/boards/<sdk_board_name>/<example_type>/<application_name>/iar
Note: In case of building errors, make sure that the correct board is selected, right-click in Project → Options → General Options → Target → Device. Select the NXP MCXA156; this board is supported in IAR Embedded Workbench for Arm version 9.50.1or higher.
J21
"MCU-Link USB"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 appropriate CMSIS pack. Please use MDK-Arm Microcontroller Development Kit (Keil)® version 5.38.1 or above.
The following steps will guide you through opening the mu_polling 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:
<install_dir>/boards/<sdk_board_name>/<example_type>/<application_name>/mdk
This example is written for Windows 10, but MCUXpresso for Visual Studio Code can also be easily installed on MacOS and Linux.
SDK_2_16_000_FRDM-MCXA156.zip
)This lab targets the NXP MCX A Evaluation Kit (FRDM). The kit provides a rich set of connected peripherals to help evaluate the device. It includes an onboard Debug Probe. The Debug Probe is pre-programmed with CMSIS-DAP firmware for this lab. To display debug messages in the examples, the lab connects to the COM port available through the same Debug Probe.
The NXP extension adds tools to help add software repositories into the Visual Studio Code workspace. The software repository can be provided from three sources:
This section will import the MCUXpresso SDK for the MCX A microcontroller using the SDK archive file provided as prerequisite.
C:\Users\NXP\Desktop\VSCODE_SDK
). Enter a name for the new SDK, in this case: SDK_2_16_000_FRDM-MCXA156
The NXP extension provides a "Projects" pane to help developers import projects into their workspace. The user has three sources for importing a new project: a Repository; an existing local project; or an archived project. This section will import an MCX A example from the SDK just added to the "Installed Repositories" panel.
SDK_2_16_000_FRDM-MCXA156
gcc-arm-none-eabi-12.3.1
. The tool also looks in other default locations for MCUXpresso IDE installations. These may be listed as alternative options for GNU Arm Toolchains. Select the gcc-arm-none-eabi-12.3.1
optiondemo_apps/hello_world
The build process is configured when the project is created. The user can initiate the build from an icon in the project view. To the right of the project name, the build icon will start the build for that project. You need to return to the MCUXpresso extension perspective by clicking the “X” icon in the left navigation pane. You may still be in the Explorer perspective from prior section.
The build process should complete with an exit code of 0… Success!
MCUXpresso for Visual Studio Code allows users to program and debug projects for NXP microcontrollers. These steps require that Debug Probe drivers are properly installed and configured. MCUXpresso for Visual Studio Code allows the use of popular debug probes from NXP, SEGGER and PEmicro. MCUXpresso Installer included the option to properly install support for the different debug probes.
The built project output binary is flashed to the target board before launching a debug session. The Debug session provides controls and views to help the developer analyze the operation of the project. The following steps will show how to successfully flash and program the MCX A FRDM Evaluation Kit.
Starting a Debug session begins by programming the target device with the built project image. Click the common "Play" triangle icon to the right of the selected project
Visual Studio Code Debug sessions provide a different "Run and Debug" perspective for the user. This is reflected by the "Bug" icon in the primary left navigation pane now being highlighted. Key tools are labeled in the following image:
Select the software that matches your OS and download the newest version
Accept the Terms and download the software
.exe
file you just downloaded by doing double-click. Follow the setup instructions until the J-Link installation is complete Connect with other engineers and get expert advice on designing with the FRDM-MCXA156 on one of our community sites.
Install Your Toolchain
Jump Start Your Design with the MCUXpresso SDK
MCUXpresso Config Tools
Programming and Provisioning Tools
Build and Flash an Application using MCUXpresso IDE
Build and Flash an Application with Alternative Toolchains