Getting Started with FRDM-MCXN236

Last Modified: Apr 30, 2024Supports FRDM-MCXN236 | MCUXpresso Developer Experience

Contents of this document

  • 1

    Plug It In
  • 2

    Get Software
  • 3

    Build, Run
  • 4

    Create
  • 5

    MCUXpresso Developer Experience

1. Plug It In

Let'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.

1.1 Get Familiar with the Board

The FRDM-MCXN236 board is preprogrammed with an LED blinky demo. This serves as a sanity check to verify that the device is working as expected out of the box.

GS-FRDMMCXN236-IMG1

1.2 Plug In the Board

Connect a type-C USB cable from connector J10 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.

GS-FRDMMCXN236-IMG2

2. Get Software

2.1 Install Your Toolchain

NXP offers complimentary toolchains. Select either MCUXpresso IDE or MCUXpresso for VS Code.

MCUXpresso IDE

Get MCUXpresso IDE

Visual Studio Code

Get MCUXpresso for VS Code

Learn how to install VS Code for your host PC with the following tutorial.

Want to use a different toolchain?

If you need help choosing, explore the MCUXpresso Suite of Software and Tools.

The MCUXpresso SDK includes support for other tools such as IAR , KEIL  and command-line GCC .

MCUXPRESSOLOGOS

2.2 Jump Start Your Design with the MCUXpresso 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. You may install the MCUXpresso SDK directly form the MCUXpresso SDK website . Click on the button below to open this board's SDK builder.

MCUXPRESSO-SDK-TN

Get MCUXpresso SDK

2.3 MCUXpresso Config Tools

The MCUXpresso Config Tool 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.

MCUXpresso Config Tools

Get MCUXpresso Config Tools

2.4 Programming and Provisioning Tools

The MCUXpresso Secure Provisioning (SEC) Tool is a GUI-based application provided to simplify the generation and provisioning of bootable executables on NXP MCU devices. We recommend all users to begin with the MCUXpresso Secure Provisioning (SEC) tool for trial run and mass production use. It supports secure programming and device provisioning on NXP's microcontrollers at the production stage.

After downloading the tool, you can find the user guide under the ‘Help’ tab. Follow the instructions for your board in the ‘Processor-specific workflow’ chapter.

SEC

SEC Installation

3. Build, Run

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.

3.1 Build and Flash Application using MCUXpresso IDE

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 MCX N-Series can be found at the section Get Software of this Getting Started guide.

  1. Find the Quickstart Panel in the lower left-hand corner. GS-FRDMMCXN236-IMG3
  2. Then click on Import SDK example(s). GS-FRDMMCXN236-IMG4
  3. Click on the FRDM-MCN236 board to select an example that can run on that board, and then click on Next. GS-FRDMMCXN236-IMG5
  4. Use the arrow button to expand the demo_apps category, and then click the checkbox next to hello_world to select that project. 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 Finish GS-FRDMMCXN236-IMG6
  5. Select the project and build it by either clicking on the “build icon” in the shortcuts provided above or by clicking “Build” in the Quickstart Panel

    GS-FRDMMCXN236-IMG7

    GS-FRDMMCXN236-IMG7
  6. The project should build without presenting any errors or warnings in the console GS-FRDMMCXN236-IMG8
  7. Connect the board to your computer with the type C USB to J10 'MCU-LINK' port GS-FRDMMCXN236-IMG9
  8. Download the application to your board by either clicking on the “debug” icon above or clicking on “Debug” in the Quickstart Panel GS-FRDMMCXN236-IMG10
  9. Select the MCU-Link CMSIS-DAP debug probe GS-FRDMMCXN236-IMG11
  10. Open up a serial terminal to be able to see the application's output. Select the “Terminal” window and press the “new terminal” icon GS-FRDMMCXN236-IMG12
  11. Choose a “Serial Terminal” and then set the UART settings to 115200 baudrate, 8 bit data size, no parity and 1 stop bit. Press OK GS-FRDMMCXN236-IMG13
  12. Run the application by pressing the “run” icon. See the output printed on the terminal GS-FRDMMCXN236-IMG14

3.2 Build and Flash Application with Alternative Toolchains

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.

Using a different toolchain?

This demo is also available for IAR and KEIL.

4. Create

4.1 Clone an Example Project from MCUXpresso IDE

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 make GREEN LED blink

  1. Find the Quickstart Panel in the lower left-hand corner and click on Import SDK example(s) GS-FRDMMCXN236-IMG15
  2. Click on the FRDM-MCXN236 board to select that you want to import an example that can run on that board and then click on Next GS-FRDMMCXN236-IMG16
  3. Use the arrow button to expand the driver_examples category, then expand the ctimer examples, click on the check box next to ctimer_match_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 Finish GS-FRDMMCXN236-IMG17
  4. Click on the “frdmmcxn236_ctimer_match_example” project in the Project Explorer View and build, compile and run the demo as described in the previous section GS-FRDMMCXN236-IMG18
  5. You should see the GREEN LED blinking at a steady rhythm.
  6. Terminate the debug session

4.2 Clone an Example Project using MCUXpresso Config Tool for 3rd Party IDE

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 make RGB LED blink.

  1. Open the MCUXpresso Config Tool
  2. In the wizard that comes up, select the “Create a new configuration based on an SDK example or hello word project” radio button and click on Next. GS-FRDMMCXN236-IMG19
  3. On the next screen, select the location of the MCUXpresso SDK. The SDK package must be unzipped beforehand. Then select the IDE that is being used. Note that only IDEs that were selected in the online SDK builder when the SDK was built will be available and click on clone select example. Then select the project to clone. For this example, we want to use the ctimer_match_example project. You can filter for this by typing “ctimer” in the filter box and then selecting the “ctimer_match_example” project. You can then also specify where to clone the project and the name. Then click on Finish. GS-FRDMMCXN236-IMG20
  4. After cloning go to the directory you selected and open the project for your IDE. Import, compile and run the project as done in previous sections.
  5. You should see GREEN LED blinking
  6. Terminate the debug session

4.3 Use MCUXpresso IDE Pins Tools

  1. Open the pins tool by selecting “ConfigTools” on the top right hand of the file explorer window and then select “Open Pins” GS-FRDMMCXN236-IMG21
  2. The pins tool should now display the pin configuration for the ctimer project GS-FRDMMCXN236-IMG22

4.4 Use the Pins Tools to Modify the LED Routed Pin

  1. We'll use MCUXpresso IDE for the rest of the instructions, but the same steps can be done in MCUXpresso Config tools for third party IDEs. In the Pins view deselect “Show dedicated pins” and “Show no routed pins” checkboxes to see only the routed pins. Routed pins have a check in a green box next to the pin name. The functions selected for each routed pin are highlighted in green. GS-FRDMMCXN236-IMG23
  2. In the current configuration, PIO4_19 is routed as the outputs of the CTimer. Let's add a second Ctimer Match output and enable the BLUE LED.
  3. Select “Show no routed pins” to see the other options. To enable the second Ctimer Match Output, browse the column for Ctimer and select and output. In this example, we will select, Ctimer3 Match 1 on PIO4_17. Select the item in the Ctimer column to enable GS-FRDMMCXN236-IMG24
  4. Now it's time to implement these changes into the project by exporting the new updated pin_mux.c and pin_mux.h files that are generated by the Pins tool. Click on Update Code in the menu bar GS-FRDMMCXN236-IMG25
  5. The screen that pops up will show the files that are changing and you can click on “diff” to see the difference between the current file and the new file generated by the Pins tool. Click on “OK” to overwrite the new files into your project
  6. GS-FRDMMCXN236-IMG26
  7. Let's add some additional code to the example. Open simple_match.c file and add the following code for the second ctimer output
  8. GS-FRDMMCXN236-IMG27
  9. Build and download the project as done in the previous section.
  10. Run the application. You should now see the Green and Blue LED synchronized blink.
  11. Terminate the debug session

5. MCUXpresso Developer Experience

Check out each of the following sections, to learn about the ecosystem provided for flexible protyping 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.

5.1 FRDM Platform, Full Feature EVK and Shields

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, on-board MCU-Link debugger and a USB-C cable. Our full featured evaluation kits include extended I/O and interface access, extendibility with Wi-Fi 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 examples may be available on ACH, but if not many of them are easy to use via serial interface like I2C, SPI and UART, for which we provide drivers with examples in the MCUXpresso SDK.

5.2 Application Code Hub

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.

5.3 Demo Walkthrough

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.

System Design Guides

Terminal Application

Toolchains

MCUXpresso for VS Code

Debugger Firmware

Boot Options

Documents and Videos Application Note SW (if applicable) Description
CANopen bootloader on MCXN An application note that describes the necessary steps and requirements to implement the CANOpen bootloader.
Flash memory Swap Feature on MCXN This application note describes how to use the flash remap feature on the MCX N series.
Using the Flash Command Controller Programming to flash using the flash command controller on MCX N Series.

Tools and Reference

MCUXpresso Secure Provisioning Tool A GUI-based application provided to simply the generation and provisioning of bootable executables on NXP devices.

Power Management

Documents and Videos Application Note SW (if applicable) Description
DCDC Usage for MCXNx4x/Nx3x Series MCU This application note is designed to provide a better understanding of the on-chip DCDC module.
Low power implementation on MCXN236 This application note describes the different power modes of MCX N23x and how to configure different power modes.
MCX Nx4x Power Management user guide This user guide covers the elements of the MCXN's power capabilities and settings.

MCUXpresso SDK Examples

Power Mode Switch Example

The power mode switch demo application demonstrates the usage of low level power-related drivers to enter/exit different power modes.

Path: <SDK_PATH>\boards\frdmmcxn236\demo_apps\power_mode_switch

Security and Integrity

Documents and Videos Application Note SW (if applicable) Description
MCX N94x OTA update by using SB3 file An application note that describes how to to an over-the-air update using a secure container with the secure update feature of MCX N.
Encryption and decryption enablement using NPX module on SPSDK tool Using the SPSDK command-line tool to enable the PRINCE module for encryption/decryption on the internal flash.
Encryption and Decryption Enablement using IPED Module on SPSDK tool Using the SPSDK command-line tool to enable the PRINCE module for encryption/decryption on the internal flash.
Encryption and decryption enablement using NPX module on SEC tool Using the Secure Provisioning Tool GUI-based tool to enable the PRINCE module for encryption/decryption on an external flash.
Encryption and decryption enablement using IPED module on SEC tool Using the Secure Provisioning Tool GUI-based tool to enable the PRINCE module for encryption/decryption on the internal flash.
Secure Boot for MCX N Using the Secure Provisioning Tool GUI-based tool to enable the PRINCE module for encryption/decryption on the internal flash.
MCX N Debug authentication using SEC tool This application note describes how to enable secure boot as well as how to use the device management for secure manufacuring.
MCX N-series MCUs Provisioning for Security An application note that describes how to use the debug authentication feature on the MCXN series.
Building the Right Level of Security for Your Application With NXP and IAR Systems In this training, experts from NXP and IAR Systems will give you an overview of C-Trust, show you how to take advantage of the available features and implement "security out of the box"

MCUXpresso SDK Examples

ELS and PKC Examples

The ELS PKC application provides examples, which demonstrate usage of most available algorithms and a cryptolibrary lightweight testing.

 Path: <SDK_PATH>\boards\frdmmcxn236\els_pkc_examples\els_hash
 Path: <SDK_PATH>\boards\frdmmcxn236\els_pkc_examples\els_symmetric
 Path: <SDK_PATH>\boards\frdmmcxn236\els_pkc_examples\els_pkc_asymmetric
 Path: <SDK_PATH>\boards\frdmmcxn236\els_pkc_examples\els_pkc_common

Tools and References

MCUXpresso Secure Provisioning Tool Secure Provisioning SDK (SPSDK) is an open source development kit with its source code released on GitHub and PyPI. 

SPSDK GitHub   Secure Provisioning SDK (SPSDK) is an open source development kit with its source code released on GitHub and PyPI.

Wired Communication

Documents and Videos Application Note SW (if applicable) Description
Using SmartDMA for keyscan on MCX N Series For mechanical repetitive tasks like keyscan, SmartDMA provides high and low levels for each row of the keyboard, then quickly reads the level of each column, and finally determines which button is pressed.
USB Remote Wake-up on MCXN947 This application note describes how to use the remote wake-up function on both full and high-speed USB interfaces.

Audio

Documents and Videos Application Note SW (if applicable) Description
MCXN9XX MICFIL interface This application note provides details on how to configure and use the MICFIL interface using different mechanisms.

MCUXpresso SDK Examples

A vast variety of audio examples are provided.

 Path: <SDK_PATH>\boards\frdmmcxn236\driver_example\sai
 Path: <SDK_PATH>\boards\frdmmcxn236\usb_examples\usb_device_composite_hid_audio_unified

Display and Graphics

Documents and Videos Application Note SW (if applicable) Description
Using SmartDMA for graphic on MCX N In this application note, the demo used is the simplest common DMA function. SmartDMA moves memory data to the FlexIO peripheral data register and FlexIO outputs data to the LCD.
How to Use SmartDMA to Implement Camera Interface Use smartDMA interface to implement a camera interface using MCX N series MCU.

MCUXpresso SDK Examples

emWin GUI Demo

Demonstrates the graphical widgets of the emWin library.

Path:

<SDK_PATH>\boards\frdmmcxn236\emwin_examples

LVGL Examples

A demo application to show LVGL widgets.

Path:

<SDK_PATH>\boards\frdmmcxn236\lvgl_examples

Tools and References

Graphical User Interfaces for NXP Microcontrollers

Learn more about your GUI options for NXP Microcontrollers.

LVGL open source Graphics Library

LVGL is a free and open-source embedded graphic library with features that enable you to create embedded GUIs with intuitive graphical elements, beautiful visual effects and a low memory footprint.

GUI Guider

A user-friendly graphical user interface development tool from NXP that enables the rapid development of high quality displays with the open-source LVGL graphics library.

NXP emWin Libraries

NXP has partnered with SEGGER microcontroller to offer the high performance emWin embedded graphics libraries in binary form for free commercial use with any Arm Cortex-M microcontrollers from NXP.

GUI Development With emWin and AppWizard

How to use the different features in AppWizard to create complete, ready-to-run projects based on emWin.

Motor Control

Documents and Videos Application Note SW (if applicable) Description
Permanent Magnet Synchronous Motor Field Oriented Control using MCX Microcontrollers This application note describes the implementation of Field Oriented Control (FOC) application for a 3-phase Permanent Magnet Synchronous Motor (PMSM) on NXP MCX MCUs, including the N and A series.

MCUXpresso SDK Examples

Motor control Demo

Demonstrates the PMSM motor control application.

Path:

<SDK_PATH>\boards\frdmmcxn236\demo_apps\mc_pmsm

Tools and References

FreeMASTER Run-Time Debugging Tool

Real-time debug monitor and data visualization tool that enables runtime configuration and tuning of embedded software applications.