Getting Started with FRDM-MCXN947 | NXP Semiconductors

Getting Started with FRDM-MCXN947

Last Modified: Dec 8, 2023Supports FRDM-MCXN947 | 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.

Video Player is loading.
Current Time 0:00
Duration 0:43
Loaded: 0%
Stream Type LIVE
Remaining Time 0:43
 
1x
  • Chapters
  • descriptions off, selected
  • captions off, selected
  • en (Main), selected

    1.1 Get Familiar with the Board

    The FRDM-MCXN947 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.

    1.2 Plug in the Board

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

    2. Get Software

    Video Player is loading.
    Current Time 0:00
    Duration 2:26
    Loaded: 0%
    Stream Type LIVE
    Remaining Time 2:26
     
    1x
    • Chapters
    • descriptions off, selected
    • captions off, selected
    • en (Main), selected

      2.1 Install Your Toolchain

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

      Get MCUXpresso IDE

      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 .

      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.

      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.

      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 Installation

      3. Build and 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 MCXN-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.
      2. Then click on Import SDK example(s).
      3. Click on the FRDM-MCN947 board to select an example that can run on that board, and then click on Next.
      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
      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
      6. The project should build without presenting any errors or warnings in the console
      7. Connect the board to your computer with the type-C USB cable to J17 ‘MCU-LINK’ port
      8. Download the application to your board by either clicking on the “debug” icon above or clicking on “Debug” in the Quickstart Panel
      9. Select the MCU-Link CMSIS-DAP debug probe
      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
      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
      12. Run the application by pressing the “run” icon. See the output printed on the terminal

      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 change between two LEDs.

      1. Find the Quickstart Panel in the lower left-hand corner and click on Import SDK example(s)
      2. Click on the FRDM-MCXN947 board to select that you want to import an example that can run on that board, and then click on Next
      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_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 Finish
      4. Click on the “frdmmcxn947_ctimer_match_interrupt_example” project in the Project Explorer View and build, compile, and run the demo as described in the previous section
      5. You should see the BLUE and RED LED changing back and forth
      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 SCTimer to generate a PWM signal and change a LED brightness.

      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
      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 gpio led output project. You can filter for this by typing “ctimer” in the filter box and then selecting the “ctimer_match_interrupt_example” example project. You can then also specify where to clone the project and the name. Then click on Finish
      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 the BLUE and RED LED changing back and forth
      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”
      2. The pins tool should now display the pin configuration for the ctimer project

      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
      2. In the current configuration, PIO3_2 and PIO3_3 are routed as the outputs of the CTimer. Let’s add a third Ctimer Match output and enable the Green LED
      3. Select “Show no routed pins” to see the other options. To enable the third Ctimer Match Output, browse the column for Ctimer and select and output. In this example, we will select, Ctimer4 Match 2 on PIO3_6. Select the item in the Ctimer column to enable
      4. Now, let’s route the Green LED. In the search box type “green” so that the routed pin for this LED is shown. Finally, click the box under the GPIO column. The box will highlight in green, and a check will appear next to the pin
      5. Next configure the GPIO pin as an output in the “Routing Details” window
      6. 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 Project in the menu bar
      7. 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
      8. Let’s add some additional code to the example. Open simple_match_interrupt.c file and add the following macros for the third ctimer output
      9. Add the Green LED functions as well.
      10. Some additional code to be implemented will be the third ctimer’s callback, this can be copied from ctimer_match1_callback and modify the content to match2. To be able to visually identify the new ctimer, we will remove one of the previous ctimers as shown
      11. The main function will need to include the initialization of both the Green LED and the Ctimer
      12. Build and download the project as done in the previous section
      13. Run the application. You should now see the Green and Blue LED blinking back and forth
      14. 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 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 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.

      Video Player is loading.
      Current Time 0:00
      Duration 2:10
      Loaded: 0%
      Stream Type LIVE
      Remaining Time 2:10
       
      1x
      • Chapters
      • descriptions off, selected
      • captions off, selected
      • en (Main), selected

        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.

        Video Player is loading.
        Current Time 0:00
        Duration 3:25
        Loaded: 0%
        Stream Type LIVE
        Remaining Time 3:25
         
        1x
        • Chapters
        • descriptions off, selected
        • captions off, selected
        • en (Main), selected

          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.

          Video Player is loading.
          Current Time 0:00
          Duration 4:25
          Loaded: 0%
          Stream Type LIVE
          Remaining Time 4:25
           
          1x
          • Chapters
          • descriptions off, selected
          • captions off, selected
          • en (Main), selected