Run a demo using MCUXpresso IDE

Note: Ensure that the MCUXpresso IDE toolchain is included when generating the MCUXpresso SDK package.

This section describes the steps required to configure MCUXpresso IDE to build, run, and debug example applications. The hello_world demo application targeted for the hardware platform is used as an example, though these steps can be applied to any example application in the MCUXpresso SDK.

Select the workspace location

Every time MCUXpresso IDE launches, it prompts the user to select a workspace location. MCUXpresso IDE is built on top of Eclipse which uses workspace to store information about its current configuration, and in some use cases, source files for the projects are in the workspace. The location of the workspace can be anywhere, but it is recommended that the workspace be located outside the MCUXpresso SDK tree.

Parent topic:Run a demo using MCUXpresso IDE

Build an example application

To build an example application, follow these steps.

  1. Drag and drop the SDK zip file into the Installed SDKs view to install an SDK. In the window that appears, click OK and wait until the import has finished.

    |

|

  1. On the Quickstart Panel, click Import SDK example(s)….

    |

|

  1. Expand the demo_apps folder and select hello_world.

  2. Click Next.

    |

|

  1. Ensure Redlib: Use floating-point version of printf is selected if the example prints floating-point numbers on the terminalfor demo applications such as adc_basic, adc_burst, adc_dma, and adc_interrupt. Otherwise, it is not necessary to select this option. Then, click Finish.

Parent topic:Run a demo using MCUXpresso IDE

Run an example application

For more information on debug probe support in the MCUXpresso IDE, see community.nxp.com.

To download and run the application, perform the following steps:

  1. See the table in Default debug interfaces to determine the debug interface that comes loaded on your specific hardware platform. For LPCXpresso boards, install the DFU jumper for the debug probe, then connect the debug probe USB connector.

    • For boards with CMSIS-DAP/mbed/DAPLink interfaces, visit developer.mbed.org/handbook/Windows-serial-configuration and follow the instructions to install the Windows operating system serial driver. If running on Linux OS, this step is not required.

    • For boards with a P&E Micro interface, see PE micro to download and install the P&E Micro Hardware Interface Drivers package.

    • For the MRB-KW01 board, see www.nxp.com/USB2SER to download the serial driver. This board does not support the OpenSDA. Therefore, an external debug probe (such as a J-Link) is required. The steps below referencing the OpenSDA do not apply because there is only a single USB connector for the serial output.

    • If using J-Link with either a standalone debug pod or OpenSDA, install the J-Link software (drivers and utilities) from www.segger.com/jlink-software.html.

    • For boards with the OSJTAG interface, install the driver from www.keil.com/download/docs/408.

  2. Connect the development platform to your PC via a USB cable.

  3. Open the terminal application on the PC, such as PuTTY or TeraTerm, and connect to the debug serial port number (to determine the COM port number, see How to determine COM port). Configure the terminal with these settings:

    1. 115200 or 9600 baud rate, depending on your board (reference BOARD_DEBUG_UART_BAUDRATE variable in board.h file)

    2. No parity

    3. 8 data bits

    4. 1 stop bit |

|

  1. On the Quickstart Panel, click Debug to launch the debug session.

  2. The first time you debug a project, the Debug Emulator Selection dialog is displayed, showing all supported probes that are attached to your computer. Select the probe through which you want to debug and click OK. (For any future debug sessions, the stored probe selection is automatically used, unless the probe cannot be found.)

    |

|

  1. The application is downloaded to the target and automatically runs to main().

  2. Start the application by clicking Resume.

    |

|

The hello_world application is now running and a banner is displayed on the terminal. If not, check your terminal settings and connections.

|

|

Parent topic:Run a demo using MCUXpresso IDE

Build a multicore example application

This section describes the steps required to configure MCUXpresso IDE to build, run, and debug multicore example applications. The following steps can be applied to any multicore example application in the MCUXpresso SDK. Here, the dual-core version of hello_world example application targeted for the LPCXpresso54114 hardware platform is used as an example.

  1. Multicore examples are imported into the workspace in a similar way as single core applications, explained in Build an example application. When the SDK zip package for LPCXpresso54114 is installed and available in the Installed SDKs view, click Import SDK example(s)… on the Quickstart Panel. In the window that appears, expand the LPCxx folder and select LPC54114J256. Then, select lpcxpresso54114 and click Next.

  2. Expand the multicore_examples/hello\_world folder and select cm4. The cm0plus counterpart project is automatically imported with the cm4 project, because the multicore examples are linked together and there is no need to select it explicitly. Click Finish.

    |

|

  1. Now, two projects should be imported into the workspace. To start building the multicore application, highlight the lpcxpresso54114_multicore_examples_hello_world_cm4 project (multicore master project) in the Project Explorer. Then choose the appropriate build target, Debug or Release, by clicking the downward facing arrow next to the hammer icon, as shown in Figure 2. For this example, select Debug.

    |

|

The project starts building after the build target is selected. Because of the project reference settings in multicore projects, triggering the build of the primary core application (cm4) also causes the referenced auxiliary core application (cm0plus) to build.

Note: When the Release build is requested, it is necessary to change the build configuration of both the primary and auxiliary core application projects first. To do this, select both projects in the Project Explorer view and then right click which displays the context-sensitive menu. Select Build Configurations -> Set Active -> Release. This alternate navigation using the menu item is Project -> Build Configuration -> Set Active -> Release. After switching to the Release build configuration, the build of the multicore example can be started by triggering the primary core application (cm4) build.

|

|

Parent topic:Run a demo using MCUXpresso IDE

Run a multicore example application

The primary core debugger handles flashing of both the primary and the auxiliary core applications into the SoC flash memory. To download and run the multicore application, switch to the primary core application project and perform all steps as described in Run an example application. These steps are common for both single-core applications and the primary side of dual-core applications, ensuring both sides of the multicore application are properly loaded and started. However, there is one additional dialogue that is specific to multicore examples which requires selecting the target core. See the following figures as reference.

|![](../images/debug_frdmk32l3a6_hello_world_cm4_case.png “Debug “frdmk32l3a6_hello_world_cm4” case”)

|

|

|

|

|

|

|

After clicking the “Resume All Debug sessions” button, the hello_world multicore application runs and a banner is displayed on the terminal. If this is not the case, check your terminal settings and connections.

|

|

An LED controlled by the auxiliary core starts flashing, indicating that the auxiliary core has been released from the reset and running correctly. It is also possible to debug both sides of the multicore application in parallel. After creating the debug session for the primary core, perform same steps also for the auxiliary core application. Highlight the lpcxpresso54114_multicore_examples_hello_world_cm0plus project (multicore slave project) in the Project Explorer. On the Quickstart Panel, click “Debug ‘lpcxpresso54114_multicore_examples_hello_world_cm0plus’ [Debug]” to launch the second debug session.

|![](../images/debug_lpcxpresso54114_multicore_examples_hello_wor.png “Debug “lpcxpresso54114_multicore_examples_hello_world_cm0plus” case”)

|

|

|

Now, the two debug sessions should be opened, and the debug controls can be used for both debug sessions depending on the debug session selection. Keep the primary core debug session selected by clicking the “Resume” button. The hello_world multicore application then starts running. The primary core application starts the auxiliary core application during runtime, and the auxiliary core application stops at the beginning of the main() function. The debug session of the auxiliary core application is highlighted. After clicking the “Resume” button, it is applied to the auxiliary core debug session. Therefore, the auxiliary core application continues its execution.

|

|

At this point, it is possible to suspend and resume individual cores independently. It is also possible to make synchronous suspension and resumption of both the cores. This is done either by selecting both opened debug sessions (multiple selections) and clicking the “Suspend” / “Resume” control button, or just using the “Suspend All Debug sessions” and the “Resume All Debug sessions” buttons.

|![](../images/synchronous_suspension_resumption_both_cores_using.png “Synchronous suspension/resumption of both cores using the multiple selections of debug sessions and “Suspend”/”Resume” controls”)

|

|

|

Parent topic:Run a demo using MCUXpresso IDE