MCUXpresso SDK Documentation

dsp_hello_world_usart

dsp_hello_world_usart#

Overview#

The dsp_hello_world_usart demo application provides a sanity check for the SDK build environment running both ARM and DSP cores. It also demonstrates how the ARM core application is used to start a DSP application.

This demo contains two applications:

  • cm33/ is the ARM application for Cortex-M33 core

  • dsp/ is the DSP application for HiFi4 core

The release configurations of the demo will combine both applications into one ARM image. With this, the ARM core will load and start the DSP application on startup. Pre-compiled DSP binary images are provided under dsp/binary/ directory.

The debug configurations will build two separate applications that need to be loaded independently. The ARM application will power and clock the DSP, so it must be loaded prior to loading the DSP application.

This example cannot be imported into Config Tools because the xtensa toolchain is not supported.

Supported Boards#

MIMXRT700-EVK
Hardware requirements
  • Micro USB cable

  • MIMXRT700-EVK board

  • Personal Computer

Board settings
Prepare the Demo
  1. Connect a micro USB cable between the PC host and the USB port on the board

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo CM33

When the demo runs successfully, the terminal will display the following:

Hello World running on core 'Cortex-M33'
Running the demo DSP

When the demo runs successfully, the terminal will display the following:

Hello World running on DSP core 'nxp_rt700_RI2023_5_newlib'
FRDM-IMXRT700
Hardware requirements
  • Type-C USB cable

  • FRDM-IMXRT700 board

  • Personal Computer

Board settings
Prepare the Demo
  1. Connect a USB cable between the PC host and the USB port on the board

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

Running the demo CM33

When the demo runs successfully, the terminal will display the following:

Hello World running on core 'Cortex-M33'
Running the demo DSP

When the demo runs successfully, the terminal will display the following:

Hello World running on DSP core 'nxp_rt700_RI2023_5_newlib'
EVK-MIMXRT685
Hardware requirements
  • Micro USB cable

  • JTAG/SWD debugger

  • EVK-MIMXRT685 board

  • Personal Computer

Board settings
Prepare the Demo
  1. Connect a micro USB cable between the PC host and the debug USB port (J5) on the board

  2. Open a serial terminal on PC for OpenSDA serial device with these settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program for CM33 core to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

  5. If building debug configuration, download the program for DSP core to the target board.

  6. If building debug configuration, launch the Xtensa IDE or xt-gdb debugger to begin running the demo.

NOTE: DSP image can only be debugged using J-Link debugger. See ‘Getting Started with Xplorer for EVK-MIMXRT685.pdf’ for more information.

Running the demo CM33

When the demo runs successfully, the terminal will display the following:

Hello World running on core 'Cortex-M33'
Running the demo DSP

When the demo runs successfully, the terminal will display the following:

Hello World running on DSP core 'nxp_rt600_RI2020_5_newlib'
MIMXRT685-AUD-EVK
Hardware requirements
  • Micro USB cable

  • JTAG/SWD debugger

  • MIMXRT685-AUD-EVK board

  • Personal Computer

Board settings
Prepare the Demo
  1. Connect a micro USB cable between the PC host and the debug USB port (J5) on the board

  2. Open a serial terminal on PC for OpenSDA serial device with these settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program for CM33 core to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

  5. If building debug configuration, download the program for DSP core to the target board.

  6. If building debug configuration, launch the Xtensa IDE or xt-gdb debugger to begin running the demo.

NOTE: DSP image can only be debugged using J-Link debugger. See ‘Getting Started with Xplorer for MIMXRT685-AUD-EVK.pdf’ for more information.

Running the demo CM33

When the demo runs successfully, the terminal will display the following:

Hello World running on core 'Cortex-M33'
Running the demo DSP

When the demo runs successfully, the terminal will display the following:

Hello World running on DSP core 'nxp_rt600_RI2020_5_newlib'
EVK-MIMXRT595
Hardware requirements
  • Micro USB cable

  • EVK-MIMXRT595 board

  • Personal Computer

Board settings
Prepare the Demo

The DSP images are built into CM33 image with default project configuration. To build the CM33 image, the DSP images dsp_sram_release.bin, dsp_tcm_release.bin should be built firstly. In addition, to build CM33 image with MCUXpresso IDE, the DSP images should be copied to the MCUXpresso IDE workspace folder, like C:\Users<user_name>\Documents\MCUXpressoIDE_11.0.1_2563\workspace\fusionf1.

  1. Connect a micro USB cable between the PC host and the CMSIS DAP USB port (J40) on the board

  2. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  3. Download the program to the target board.

  4. Launch the debugger in your IDE to begin running the demo.

EVK-MIMX8ULP
Hardware requirements
  • Micro USB cable

  • MIMX8ULP-EVK/EVK9 board

  • J-Link Debug Probe

  • 5V power supply

  • Personal Computer

Board settings
Prepare the Demo

The DSP images are built into CM33 image with default project configuration. To build the CM33 image, the DSP images dsp_reset_release.bin, dsp_text_release.bin, dsp_data_release.bin should be built firstly.

  1. Connect 5V power supply and J-Link Debug Probe to the board, switch SW10 to power on the board.

  2. Connect a micro USB cable between the host PC and the J17 USB port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Either press the reset button on your board or launch the debugger in your IDE to begin running the example.

Running the demo

This example shows two cores communicating using MU. Both M33 and DSP core run at the same time!

When the demo runs successfully, the log would be seen on the M33’s debug terminal like as below,

Hello World running on core 'Cortex-M33'

Hello World running on DSP core 'fusion_nxp02_dsp_prod'
EVK9-MIMX8ULP
Hardware requirements
  • Micro USB cable

  • MIMX8ULP-EVK/EVK9 board

  • J-Link Debug Probe

  • 5V power supply

  • Personal Computer

Board settings
Prepare the Demo

The DSP images are built into CM33 image with default project configuration. To build the CM33 image, the DSP images dsp_reset_release.bin, dsp_text_release.bin, dsp_data_release.bin should be built firstly.

  1. Connect 5V power supply and J-Link Debug Probe to the board, switch SW10 to power on the board.

  2. Connect a micro USB cable between the host PC and the J17 USB port on the target board.

  3. Open a serial terminal with the following settings:

    • 115200 baud rate

    • 8 data bits

    • No parity

    • One stop bit

    • No flow control

  4. Download the program to the target board.

  5. Either press the reset button on your board or launch the debugger in your IDE to begin running the example.

Running the demo

This example shows two cores communicating using MU. Both M33 and DSP core run at the same time!

When the demo runs successfully, the log would be seen on the M33’s debug terminal like as below,

Hello World running on core 'Cortex-M33'

Hello World running on DSP core 'fusion_nxp02_dsp_prod'