Getting Started with FRDM-MCXC041 | NXP Semiconductors

Getting Started with FRDM-MCXC041

Last Modified: May 28, 2024Supports FRDM-MCXC041 | MCUXpresso Developer Experience

Contents of this document

  • 1

    Plug it In
  • 2

    Get Software
  • 3

    Build, Run
  • 4

    Create
  • 5

    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:53
Loaded: 0%
Stream Type LIVE
Remaining Time 0:53
 
1x
  • Chapters
  • descriptions off, selected
  • captions off, selected
  • en (Main), selected

    1.1 Get Familiar with the Board

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

    GS-FRDMMCXC041-IMG1

    GS-FRDMMCXC041-IMG1

    1.2 Plug in the Board

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

    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 at mcuxpresso.nxp.com. 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, 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-M0+ application. The MCUXpresso IDE installation and the SDK for the MCXC-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 Import SDK example(s)
    3. Click the FRDM MCX -Series board to select an example that can run on that board, and then click 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 Finish
    5. Select the project and build it by either clicking 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 micro-USB to J8 'MCU-LINK' port
    8. Download the application to your board by either clicking the "debug" icon above or clicking “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 baud rate, 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 TPM to generate two PWM signals and change the brightness of an LED.

    1. Find the Quickstart Panel in the lower left-hand corner and click Import SDK example(s)
    2. Click the FRDM-MCXC041 board to select that you want to import an example that can run on that board, and then click Next
    3. GS-FRDMMCXC041-IMG17

      GS-FRDMMCXC041-IMG17
    4. Use the arrow button to expand the driver_examples category, then expand the tpm examples, click the checkbox next to frdmmcxc041_tpm_pwm_twochannel 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
    5. Then, click Finish.

      GS-FRDMMCXC041-IMG18

      GS-FRDMMCXC041-IMG18
    6. Click the “frdmmcxc041_tpm_pwm_twochannel” project in the Project Explorer View and build, compile and run the demo as described in the previous section
    7. Choose a “Serial Terminal” and then set the UART settings to 115200 baud rate, 8-bit data size, no parity and 1 stop bit. Press OK. Enter any number between 0-9 to change LED brightness
    8. Terminate the debug session

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

    The following steps will guide you through the manipulation of the general-purpose outputs. The example sets up a TPM to generate a PWM signal and change a LED brightness.

    1. Open the MCUXpresso Config Tools
    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. GS-FRDMMCXC041-IMG20

      GS-FRDMMCXC041-IMG20
    4. 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 tpm_pwm_twochannel project. You can filter for this by typing “tpm” in the filter box and then selecting the “tpm_pwm_twochannel” example project. You can then also specify where to clone the project and the name. Then click on Finish
    5. GS-FRDMMCXC041-IMG21

      GS-FRDMMCXC041-IMG21
    6. 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
    7. Choose a “Serial Terminal” and then set the UART settings to 115200 baud rate, 8-bit data size, no parity and 1 stop bit. Press OK. Enter any number between 0-9 to change LED brightness
    8. Terminate the debug session

    4.3 Use MCUXpresso IDE Pins Tool

    1. Open the pins tool by selecting “ConfigTools” on the top right hand of the file explorer window and then select “Open Pins”
    2. GS-FRDMMCXC041-IMG22

      GS-FRDMMCXC041-IMG22
    3. The pins tool should now display the pin configuration for the tpm project
    4. GS-FRDMMCXC041-IMG23

      GS-FRDMMCXC041-IMG23

    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. GS-FRDMMCXC041-IMG24

      GS-FRDMMCXC041-IMG24
    3. In the current configuration, PTB10 and PTB11 are routed as the outputs of the TPM. Let’s add the pin configuration to enable the BLUE LED
    4. Select “Show no routed pins” to see the other options. To enable the BLUE LED, search for PTB and select PTB13 under the GPIO column
    5. GS-FRDMMCXC041-IMG25

      GS-FRDMMCXC041-IMG25
    6. Next configure the GPIO pin as an output in the “Routing Details” window.
    7. GS-FRDMMCXC041-IMG26

      GS-FRDMMCXC041-IMG26
    8. 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
    9. GS-FRDMMCXC041-IMG27

      GS-FRDMMCXC041-IMG27
    10. 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.
    11. Let’s add some additional code to the example. Open tpm_pwm_twochannel.c file and add the following macros for BLUE LED TPM channel
    12. Add initialize structure for TPM1_CH1
    13. GS-FRDMMCXC041-IMG30

      GS-FRDMMCXC041-IMG30
    14. In the main function, add the TPM1_CH1 control function inside the while loop
    15. GS-FRDMMCXC041-IMG31

      GS-FRDMMCXC041-IMG31
    16. Build and download the project as done in the previous section
    17. Run the application. Choose a “Serial Terminal” and then set the UART settings to 115200 baud rate, 8 bit data size, no parity and 1 stop bit. Press OK. Enter any number between 0-9 to change LED brightness. you can see the RGB_LED is also change the brightness. and the color should be white, which means that all 3 BLUE/GREEN/RED LED is on
    18. Terminate the debug session

    5. 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 features evaluation kits include extended I/O and interface access, extendable with WiFi and additional MCU-Link features.There are also many compatible Click Board 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 I²C, 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.00%
    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.00%
    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.00%
    Stream Type LIVE
    Remaining Time 4:25
     
    1x
    • Chapters
    • descriptions off, selected
    • captions off, selected
    • en (Main), selected