1
Plug It In2
Get Software3
Build, Run4
Modify an SDK example
Let's take your IMXRT685-AUD-EVK for a test drive. You have the choice of watching a series of short videos at the beginning of each section or following the detailed instructions outlined below each video.
Something went wrong! Please try again.
FXOS8700CQ accelerometer is in end-of-life status. Your RT685-AUD-EVK may not have the accelerometer populated.
Something went wrong! Please try again.
There are three micro USB connectors on the board. Plug the USB cable into the one labeled
"Link USB" (J5
), as shown below.
Something went wrong! Please try again.
The IMXRT685-AUD-EVK comes loaded with a "LED blinky" demo, explained below and a demo that
exercises the Cortex-M33 and the HiFi 4 DSP, described in the next section. When the board is powered, the red LED D9
should flash on and off.
The second part of this out of the box demo will be shown in the application note.
Something went wrong! Please try again.
Something went wrong! Please try again.
The MCUXpresso software development kit (SDK) is complimentary and includes full source code under a permissive open-source license for all hardware abstraction and peripheral driver software.
Click below to download a pre-configured SDK release for the IMXRT685-AUD-EVK. Unzip the SDK into a directory path that does not contain any spaces.
You can also use the online SDK Builder to create a custom SDK package for the IMXRT685-AUD-EVK using the SDK builder.
Something went wrong! Please try again.
NXP offers a complimentary toolchain called MCUXpresso IDE.
Want to use a different toolchain?
No problem! The MCUXpresso SDK includes support for other tools such as IAR , Keil and command-line GCC .
Something went wrong! Please try again.
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 already fully integrated as a part of MCUXpressoIDE, but you can also download it as a separate tool if you are using a different.
Something went wrong! Please try again.
Drivers for the debugger and virtual COM port also need to be installed. They are part of the LPCScrypt package, which can be downloaded below. The LPC-Link2 circuit firmware will also need to be updated to use the J-Link interface, which is described in the following tutorial: LPCScrypt Tutorial.
Something went wrong! Please try again.
Many of the MCUXpresso SDK example applications output data over the MCU UART. Install and configure your preferred terminal software to 115200 baud rate, 8 data bits, no parity and 1 stop bit. To determine the port number of the IMXRT685-AUD-EVK's virtual COM port, open the device manager and look under the "Ports" group.
Not sure how to use a terminal application? Try one of these tutorials:
The most recent versions of MCUXpresso IDE count with a terminal emulation application. This tool can be used to display information sent from your NXP development platform's virtual serial port.
Tera Term is a very popular open source terminal emulation application. This program can be used to display information sent from your NXP development platform's virtual serial port.
PuTTY is a popular terminal emulation application. This program can be used to display information sent from your NXP development platform's virtual serial port.
Something went wrong! Please try again.
You will need to download the necessary J-Link drivers in order to debug the HiFi4 DSP. Follow the next tutorial to see how to download and install this software: J-Link Tutorial.
Something went wrong! Please try again.
To code and debug the DSP on the IMXRT685-AUD-EVK, you will need to download Cadence Tensilica Xplorer. This is the only available development IDE for the DSP core of MIMXRT600. Follow the next tutorial to download and install this software: Xplorer Tutorial.
Something went wrong! Please try again.
Something went wrong! Please try again.
The MCUXpresso SDK comes with a long list of example applications code. To see what's available, navigate to the SDK boards folder of your SDK installation and select IMXRT685-AUD-EVK.
<SDK_Install_Directory>/boards/mimxrt685audevk
To learn more about specific example code, open the readme.txt file in an example's directory.
Something went wrong! Please try again.
If one or more of the demo applications or driver examples sounds interesting, you can learn how to build and debug a demo yourself. The Getting Started with SDK guide provides easy, step-by-step instructions on how to configure, build and debug demos for all toolchains supported by the SDK.
Use the guides below to learn how to open, build and debug an example application using the MCUXpresso SDK.
The RT600 SDK provides a collection of DSP example applications. Each DSP example has two source directories, one for the Arm CM33 and one for the DSP HiFi4.
In order to debug a DSP demo, you will need to follow two processes. The first one is to build and flash the CM33 application to your IMXRT685-AUD-EVK. The second is to build and debug the DSP application using Xtensa Xplorer IDE.
The following steps will guide you through the mu_polling application using MCUXpresso IDE for the Cortex-M33 application. The MCUXpresso IDE installation can be found at the section “2. Get Software” of this Getting Started guide.
DSP_IMAGE_COPY_TO_RAM
macro value. To do this, go to project properties doing right click on the projectDSP_COPY_IMAGE_TO_RAM
to 0J5
'LINK USB' portThe following steps will guide you through the mu_polling application using Xtensa Xplorer IDE for the DSP. The Xtensa Xplorer IDE installation can be found at the section “2. Get Software” of this Getting Started guide.
The path is:
<SDK install dir>\boards\mimxrt685audevk\dsp_examples\mu_polling\dsp
C:\Program Files (x86)\Tensilica\Xtensa OCD Daemon 14.01”
Then, execute the following command:
xt-ocd.exe -c topology.xml
You should see the following:
D9
blinking and the following on the terminal:The following steps will guide you through opening the mu_polling application. This application consists of code for both the Cortex M33 core and the DSP core. The instructions for compiling and debugging for the Cortex M33 core are covered in the instructions below.
Instructions for compiling and debugging for the DSP code can be found in Section 2 of the "Building and running a DSP demo using MCUXpresso IDE" tutorial. These steps may change slightly for other example applications as some of these applications may have additional layers of folders in their path.
<install_dir>/boards/<sdk_board_name>/<example_type>/<application_name>/iar
Using the hello_world demo as an example, the path is:
<install_dir>/boards/mimxrt685audevk/dsp_examples/mu_polling/cm33/iar
DSP_IMAGE_COPY_TO_RAM
macro value to 0. Open the project properties by doing right click on the project and selecting OptionsDSP_IMAGE_COPY_TO_RAM
to 0Note: In case of building errors, make sure that the correct Board is selected, right-click in the project → Options → General Options → Target → Device, Select the NXP IMXRT685S_M33, this board is supported in IAR Embedded Workbench for Arm version 8.40.1 or Higher.
The LPC-Link2 circuit on the board should have been updated to use the J-Link interface during "LPCScrypt Tutorial" of the Getting Started website. See that section of the Getting Started website for more details on using LPCScrypt to update the debug circuit firmware on the board to use the J-Link interface if this has not already been done.
J5
"Link USB". Ensure the DFULink jumper (JP1
) is removed when powering the boardTo build and debug the code for the DSP part of this application, open the "Building and running a DSP demo using MCUXpresso IDE" tutorial and follow the instructions starting at “Build the DSP Application.
After the MDK tools are installed, Cortex® Microcontroller Software Interface Standard (CMSIS) device packs must be installed to fully support the device from a debug perspective. These packs include things such as memory map information, register definitions and flash programming algorithms. Follow these steps to install the appropriate CMSIS pack.
The following steps will guide you through opening the mu_polling application. This application consists of code for both the Cortex M33 core and the DSP core. The instructions for compiling and debugging for the Cortex M33 core are covered in the instructions below. Instructions for compiling and debugging for the DSP code can be found in Section 2 of the "Building and running a DSP demo using MCUXpresso IDE" tutorial. These steps may change slightly for other example applications as some of these applications may have additional layers of folders in their path
<install_dir>/boards/<sdk_board_name>/<example_type>/<application_name>/mdk
The workspace file is named <application_name>.uvmpw, so for this specific example, the actual path is:
<install_dir>/boards/mimxrt685audevk/dsp_examples/mu_polling/cm33/mdk/dsp_mu_polling_cm33.uvmpw
DSP_IMAGE_COPY_TO_RAM
to 0The LPC-Link2 circuit on the board should have been updated to use the J-Link interface during Step 2.5 "LPCScrypt Tutorial" of the Getting Started website. See that section of the Getting Started website for more details on using LPCScrypt to update the debug circuit firmware on the board to use the J-Link interface if this has not already been done.
J5
"Link USB". Ensure the DFULink jumper (JP1
) is removed when powering the board to boot the debug probe from internal flashTo build and debug the code for the DSP part of this application, open the "Building and running a DSP demo using MCUXpresso IDE" tutorial and follow the instructions starting at “Build the DSP Application".
This section contains the steps to install the necessary components required to build and run a KSDK demo application with the Arm GCC toolchain, as supported by the MCUXpresso SDK.
There are many ways to use Arm GCC tools, but this example focuses on a Windows environment. Though not discussed here, GCC tools can also be used with both Linux OS and Mac OSX.
Download and run the installer from GNU Arm Embedded Toolchain Downloads . This is the actual toolchain (i.e., compiler, linker, etc.). The GCC toolchain should correspond to the latest supported version, as described in the Kinetis SDK Release Notes.
The Minimalist GNU for Windows (MinGW) development tools provide a set of tools that are not dependent on third party C-Runtime DLLs (such as Cygwin). The build environment used by the KSDK does not utilize the MinGW build tools, but does leverage the base install of both MinGW and MSYS. MSYS provides a basic shell with a Unix-like interface and tools.
Note: The installation path cannot contain any spaces.
<mingw_install_dir>\bin
Assuming the default installation path, C:\MinGW, an example is shown below. If the path is not set correctly, the toolchain does not work
Note: If you have "C:\MinGW\msys\x.x\bin" in your PATH variable (as required by KSDK 1.0.0), remove it to ensure that the new GCC build system works correctly.
Create a new system environment variable and name it ARMGCC_DIR. The value of this variable should point to the Arm GCC Embedded tool chain installation path, which, for this example, is:
C:\Program Files (x86)\GNU Tools Arm Embedded\<version>
Reference the installation folder of the GNU Arm GCC Embedded tools for the exact path name of your installation.
To build an example application, follow these steps.
<SDK Install dir>\boards\mimxrt685audevk\dsp_examples\mu_polling\cm33\armgcc
SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -DDSP_IMAGE_COPY_TO_RAM=0")
SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DDSP_IMAGE_COPY_TO_RAM=0")
<install_dir>/boards/<board_name>/<example_type>/<application_name>/armgcc
For this guide, the exact path is:
<install_dir>/boards/mimxrt685audevk/dsp_examples/mu_polling/cm33/armgcc
The GCC tools require a J-Link debug interface. The LPC-Link2 circuit on the board should have been updated to use the J-Link interface during “LPCScrypt Tutorial” of the Getting Started website. See that section of the Getting Started website for more details on using LPCScrypt to update the debug circuit firmware on the board to use the J-Link interface if this has not already been done.
J5
“Link USB”. Ensure the DFULink jumper (JP1
) is removed when powering the board<install_dir>/boards/<board_name>/<example_type>/<application_name>/armgcc/debug
<install_dir>/boards/<board_name>/<example_type>/<application_name>/armgcc/release
For this guide, the path is:
<install_dir>/boards/frdmk64f/demo_apps/hello_world/armgcc/debug
To build and debug the DSP application follow the instructions of chapter “Build the DSP Application” at Building and running a DSP demo using MCUXpresso IDE tutorial on this same section.
Something went wrong! Please try again.
Something went wrong! Please try again.
Option A: Use the MCUXpresso IDE to clone an example project.
The following steps will guide you through the manipulation of the general-purpose outputs. The example sets up a switch button and an LED. The LED blinks if the button SW2
is pressed.
Note: On the "Use Pin Tool" tutorial, you will learn how to change the LED output pin of the board.
Option B: Use the MCUXpresso Config Tools to clone an existing MCUXpresso SDK example for use with third party IDEs.
The following steps will guide you through the manipulation of the general-purpose outputs. The example sets up a switch button and an LED. The LED blinks if the button SW2
is pressed
Then, select the project to clone. For this example, we want to use the GPIO LED output project. You can filter this by typing "sctimer" in the filter box and then selecting the “sctimer_pwm_with_dutycycle_change” example project. You can also specify where to clone the project and the name. After that, click on Finish
Note: On the "Use Pin Tool" tutorial, you will learn how to change the LED output pin of the board.
Something went wrong! Please try again.
Now, let's use the Pins Tool that is part of the MCUXpresso Config Tools to change the LED that is blinking to a different LED.
Note: Previously, you had to clone an SDK project like in the previous step.
PIO0_14
is routed as a SCT0_OUT0
. Let's disable, PIO0_14
and change the MUX setting of PIO0_26
to use its SCT0_OUT6
functionalityPIO0_14
by clicking the SCT0_OUT0
field under the SCT column. The pin will then be disabled (it will no longer have a check in box) and therefore disappear from the listPIO0_26
as a SCT_OUT6
. First, select the "Show not routed pins" so that all the pins are displayed again. Then, search PIO0_26
in the Pins view. Finally, click the box under the SCT column PIO0_26
. The box will be highlighted in green, and a check will appear next to the pinNote: The clock files may also be tagged as being updated since the header has been changed.
PIO0_14
was selected and configured as SCT_OUT
(green LED). Now, we have the declaration of PIO0_26
and configured as SCT_OUT
(blue LED)DEMO_SCTIMER_OUT
to kSCTIMER_Out_6
Something went wrong! Please try again.
Next, use the Clocks Tool that is part of the MCUXpresso Config Tools to change the clock settings and change the rate that the LED blinks.
Note: Previously, you had to clone an SDK project like in the past step.
Note: The Pins files may also be tagged as being updated since the header has been changed.
Something went wrong! Please try again.
With the application modified, you will see the IMXRT685-AUD-EVK blue LED blinking.
Something went wrong! Please try again.
The i.MX RT family supports a number of different boot sources and includes the option for memory to be copied to an on-chip or external destination memory, as well as execute in place (XIP) for some interfaces. Learn more about your choices and which one is best for your design.
Documents and Videos | Description |
---|---|
AN12985 RT600 Hybrid Boot | Details on how to place code as bootable into the SRAM or for execution directly from the flash. Includes instructions on programming the flash with both the bootable RAM portion of the code and the run-time code residing in the lower flash. |
AN12773 How to Enable Master Boot from Serial NOR Flash | This document describes how to program a bootable image into the serial NOR flash device and enable the i.MX RT to boot from this primary flash device. |
Several examples, demos and drivers are available within the SDK to help you get started. Some common examples for boot options are listed below.
The over-the-air (OTA) bootloader is a secondary bootloader resides in external memory which supports updating and booting the application.
Path:
<SDK_PATH>/boards/mimxrt685audevk/bootloader_examples
Three examples demonstrating TrustZone partitioning and configuration as well as secure GPIO and secure faults.
Path:
<SDK_PATH>/boards/mimxrt685audevk/trustzone_examples
SP Secure Provisioning Tool : GUI-based application provided to simplify generation and provisioning of bootable executables on i.MX RT.
Documents and Videos | Description |
---|---|
AN13028 Advanced HyperRAM/PSRAM Usage on i.MX RT | This application note describes the advanced usage of HyperRAM/PSRAM when used with FlexSPI on i.MX RT MCU, including FlexSPI prefetch function, HyperRAM/PSRAM refresh interval and HyperRAM devices supported for i.MX RT. |
AN12773 How to Enable Master Boot from Serial NOR Flash | This document describes how to program a bootable image into the serial NOR flash device device and enable the i.MX RT to boot from this primary flash device. |
AN12564 Implement Read While Write (RWW) on i.MX RT series | How to implement RWW requirement on i.MXRT series |
Crossover to Memory Expansion with Adesto ECOXip and NXP’s i.MX RT Crossover Processors | An overview of how performance and usability are addressed for systems depending on external memory. |
Several examples, demos and drivers are available within the SDK to help you get started. Some common examples for external memory are listed below.
The over-the-air (OTA) bootloader is a secondary bootloader resides in external memory which supports updating and booting the application.
Path:
<SDK_PATH>/boards/mimxrt685audevk/bootloader_examples
How to use the FlexSPI driver with external PSRAM or Octal flash for polling.
Path:
<SDK_PATH>/boards/mimxrt685audevk/driver_examples/flexspi/psram/polling_transfer
Path:
<SDK_PATH>/boards/mimxrt685audevk/driver_examples/flexspi/octal/polling_transfer
How to use the FlexSPI driver with external PSRAM or Octal flash for DMA.
Path:
<SDK_PATH>/boards/mimxrt685audevk/driver_examples/flexspi/psram/dma_transfer
Path:
<SDK_PATH>/boards/mimxrt685audevk/driver_examples/flexspi/octal/edma_transfer
SP Secure Provisioning Tool : GUI-based application provided to simplify generation and provisioning of bootable executables on i.MX RT.
The i.MX RT685 is secure-by-design and supported by secure software driving the secure system on a chip (SoC).
Documents and Videos | Description |
---|---|
Realizing Today’s Security Requirements: Achieving End-To-End Security with a Crossover Processor | Learn about common shared security goals that IoT end and edge nodes should meet, as well as the steps, tools and procedures needed to achieve root of trust in end devices. |
AN12839 RT600 TrustZone | Explains TrustZone technology, how to configure the TrustZone to set secure and non-secure states on RT600 and how to switch between these states and to handle different secure faults. |
AN12835 RT600 Secure GPIO and Usage | Explains how a secure GPIO must be used and configured in secure mode. |
AN12834 RT600 HASH Engine | Introduces users to the usage and configuration of the SHA engine on RT600 and demonstrates the performance improvement for speed, memory and power consumption when the SHA engine is used. |
AN12882 AES Encryption / Decryption Using RT6xx | How to configure the AES engine and write code using the SDK API to encrypt and decrypt data using keys either manually supplied or generated by the PUF IP. Configuration and use of PUF IP is described. |
AN12445 Asymmetric Cryptographic Accelerator CASPER | The cryptographic accelerator and signaling processing engine and RAM-sharing (CASPER) peripheral provides acceleration to asymmetric cryptographic algorithms as well as to certain signal processing algorithms. |
Several examples, demos and drivers are available within the SDK to help you get started. Some common examples for external memory are listed below.
Demonstration program that uses the KSDK software to encrypt plain text and decrypt it back using AES and SHA algorithm.
Path:
<SDK_PATH>/boards/mimxrt685audevk/driver_examples/hashcrypt
How to implement a modular exponentiation algorithm using the CASPER software driver.
Path:
<SDK_PATH>/boards/mimxrt685audevk/driver_examples/casper
A demonstration program that uses the KSDK software implement secure key storage using PUF software driver.
Path:
<SDK_PATH>/boards/mimxrt685audevk/driver_examples/puf
Program performs cryptographic algorithm benchmarking and testing. Requires optional mbedTLS middleware package.
Path:
<SDK_PATH>/boards/mimxrt685audevk/mbedtls_examples/
SP Secure Provisioning Tool : GUI-based application provided to simplify generation and provisioning of bootable executables on i.MX RT.
MbedTLS_lib API : This documentation describes the internal structure of mbed TLS.
Documents and Videos | Description |
---|---|
Wired Communications Middleware for NXP Microcontrollers | Learn about wired communications libraries and examples provided through MCUXpresso SDK. |
AN12796 RT600 I3C Simple Master | The I3C is a serial communication interface that carries the advantages of I²C in simplicity, low pin count, easy board design and multi-drop (vs. point to point), but provides the higher data rates, simpler pads and lower power of SPI. |
Several examples, demos and drivers are available within the SDK to help you get started. Some common examples related to wired communications are listed below.
How to use I²C, SPI and USART drivers to do board to board transfer with DMA.
Path:
<SDK_PATH>/boards/mimxrt685audevk/cmsis_driver_examples
How to use the I²C driver for low-power wake-up, interrupt, polling, DMA transfer and device communication.
Path:
<SDK_PATH>/boards/mimxrt685audevk/driver_examples/i2c
How to use the SPI driver for interrupt, polling and DMA transfer.
Path:
<SDK_PATH>/boards/mimxrt685audevk/driver_examples/spi
How to use the USART driver for low-power wake-up, interrupt, polling and 9bit transfer.
Path:
<SDK_PATH>/boards/mimxrt685audevk/driver_examples/usart
A number of USB examples for host and device operation exist within the SDK. (This requires an optional USB host and device stack middleware package).
Path:
<SDK_PATH>/boards/mimxrt685audevk/usb_examples
A simple demonstration on controlling LEDs by commands.
Path:
<SDK_PATH>/boards/mimxrt685audevk/demo_apps/shell
A demo application to show LittlevGL widgets. This demo requires the addition of the Adafruit TFT LCD shield w/Cap Touch v2.3.
Path:
<SDK_PATH>/boards/mimxrt685audevk/littlevgl_examples
Demonstrates graphical widgets of the emWin library.
Path:
<SDK_PATH>/boards/mimxrt685audevk/emwin_examples/
Documents and Videos | Description |
---|---|
Wireless Connectivity at NXP | Our portfolio of low-power, cost-effective wireless solutions address many monitoring and control applications for the Internet of Things—including consumer, smart energy, industrial and healthcare. |
Cloud Connectivity | Integrated support for cloud services including Amazon Web Services, Microsoft Azure and Google Cloud IoT. |
Getting Started with NXP Wi-FI® modules using i.MX RT platform | Different modules from third parties that enable NXP Wi-Fi SoCs on i.MX RT EVKs. |
Several examples, demos and drivers are available within the SDK to help you get started. Some common examples for wireless connectivity are listed below.
Amazon FreeRTOS Qualification (AFQ), device configuration, AWS Greengrass discovery, remote control by Android mobile application and shadow lightbulb demos.
Path:
<SDK_PATH>/boards/mimxrt685audevk/aws_examples
CLI support usage example, iPerf network performance measurement, Wi-Fi test mode example and Wi-Fi configuration utility demos.
Path:
<SDK_PATH>/boards/mimxrt685audevk/wifi_examples
Documents and Videos | Description |
---|---|
AN12789 RT600 Dual-Core Communication and Debugging | The RT600 features an Arm® Cortex® -M33 CPU combined with a Cadence Xtensa HiFi4 advanced Audio Digital Signal Processor CPU. This document discusses means of communication between the two CPUs. |
Several examples, demos and drivers are available within the SDK to help you get started. A common examples related to power management is listed below.
Amazon FreeRTOS Qualification (AFQ), device configuration, AWS Greengrass discovery, remote control by Android mobile application and shadow lightbulb demos.
Path:
<SDK_PATH>/boards/mimxrt685audevk/dsp_examples/sema42
How to implement a modular exponentiation algorithm using the CASPER software driver.
Path:
<SDK_PATH>/boards/mimxrt685audevk/driver_examples/casper/
Amazon FreeRTOS Qualification (AFQ), device configuration, AWS Greengrass discovery, remote control by Android mobile application and shadow lightbulb demos.
Path:
<SDK_PATH>/boards/mimxrt685audevk/driver_examples/crc
Amazon FreeRTOS Qualification (AFQ), device configuration, AWS Greengrass discovery, remote control by Android mobile application and shadow lightbulb demos.
Path:
<SDK_PATH>/boards/mimxrt685audevk/aws_examples
Power management includes device-specific techniques and information on power management and low-power optimization.
Documents and Videos | Description | Aplication Note Software |
---|---|---|
AN12801 Low Power Support in FreeRTOS | How to apply the low power modes (normal sleep, deep sleep, deep power down and full deep power down modes) of i.MX RT6xx to FreeRTOS Tickless power mode. | |
AN12844 Power Consumption and Measurement of i.MX RT6xx DSP | This document focuses on i.MX RT6xx DSP current consumption under low power mode. It describes the functions that help a user to manage power usage and also includes measurement of current based on MIMXRT6xx EVK board. | - |
AN13056 Low-Power Modes and Wake-up Time | Introduces the various low-power modes of the RT600 series, entry and wake-up implementations and how to measure current and wake-up time for each mode. | - |
AN12790 Using the PMIC on RT600 | The IMXRT685-AUD-EVK uses the PCA9420 Power Management IC, which adds flexibility to the RT600 to configure the power supply rails according to the needs of the application. | - |
Several examples, demos and drivers are available within the SDK to help you get started. A common examples related to power management is listed below.
How to change power modes in the KSDK.
Path:
<SDK_PATH>/boards/mimxrt685audevk/demo_apps/power_manager>
Documents and Videos | Description |
---|---|
Audio Software on NXP Microcontrollers | USB enablement, essential audio processing and partner solutions for developing state-of-the-art, low-power audio product development. |
AN12762 Audio Player in HiFi4 | How to develop an audio player with NXP i.MX RT600. |
AN12765 i.MX RT600 DSP Enablement | This document gives examples of how to use certain modules within the Cadence Xtensa HiFi4 Audio DSP processor included within the i.MX RT600. |
AN12749 I2S (Inter-IC Sound Bus) Transmit and Receive on RT600 HiFi4 | How to use I2S and DMA to record and playback audio, as well as the process of using the codec chip to process audio data on the i.MX RT600 EVK. |
MCU Tech Minute: USB Audio Reference Design Using DSP Concepts AudioWeaver with i.MX RT865 MCUs | Demonstrate AudioWeaver running on the i.MX RT685 dual-core MCU platform, which allows developers to easily design, develop and deploy embedded audio products rapidly into the market. |
Bringing Low Power, High Performance Audio and Voice to Market on the i.MX RT600 Crossover MCU | Learn how DSP Concept's Audioweaver tools and libraries can unleash the performance of NXP's i.MX RT600 MCU, allowing audio designers to quickly implement designs from the algorithm level. |
Several examples, demos and drivers are available within the SDK to help you get started. Some common examples for audio are listed below.
Audio is converted to samples in the DMIC module. These examples demonstrate multiple use cases around the DMIC such as HWVAD (HW voice activity detector), wake from sleep and multiple DMIC channels.
Path:
<SDK_PATH>/boards/mimxrt685audevk/driver_examples/dmic
Demonstrates audio processing using the DSP core.
Path:
<SDK_PATH>/boards/mimxrt685audevk/dsp_examples/audio_demo_bm
Demonstrates audio processing using the DSP core, the Xtensa Audio Framework (SAF) middleware library, and select Xtensa audio codecs.
Path:
<SDK_PATH>/boards/mimxrt685audevk/dsp_examples/xaf_demo
How to use the I2S interface for record and playback.
Path:
<SDK_PATH>/boards/mimxrt685audevk/driver_examples/i2s
Documents and Videos | Description |
---|---|
Voice Processing | A range of voice control and communication software and solutions from NXP, including free voice recognition technology. |
AN13065 Gender Voice Recognition with TensorFlow Lite Inference |
This document describes the steps to train the TensorFlow model on Gender voice
audio samples and classification. Note: This app note applies to the RT600 but does not take advantage of the DSP. |
Several examples, demos and drivers are available within the SDK to help you get started. Some common example for voice is listed below.
Audio samples are evaluated based on Keyword spotting for Microcontrollers. (Requires SDK 2.10 or greater and the optional eIQ® middleware package.)
Path:
<SDK_PATH>/boards/mimxrt685audevk/eiq_examples/tensorflow_lite_micro_kws
NXP EdgeReady MCU-Based Solution for Alexa Voice Service: This solution leverages the i.MX RT crossover MCU and enables developers to quickly and easily add Alexa voice assistant capabilities to their products.
Machine learning (ML) typically encompasses applications where classification, recognition and prediction of man-made abstractions are desired. Examples include image recognition, gesture recognition, anomaly detection, speech-to-text, text-to-speech, ASR, scene recognition and many more. This section will focus specifically on the NXP ML tools applied to image or video streams. The voice and audio sections may also reference the included examples.
Documents and Videos | Description |
---|---|
eIQ ML Software Development Environment | Enables the use of ML algorithms on NXP MCUs, i.MX RT crossover MCUs and i.MX family SoCs. eIQ software includes inference engines, neural network compilers and optimized libraries |
i.MX Machine Learning User’s Guide | The NXP eIQTM for i.MX toolkit provides a set of libraries and development tools for machine learning applications targeting NXP microcontrollers and application processors. |
Getting Started with eIQ on i.MX RT | How to download eIQ and run it with MCUXpresso IDE, IAR or Keil MDK. |
eIQ Fact Sheet | Machine learning software for NXP i.MX and MCUs – libraries, example applications and inference engines. |
eIQ Glow Lab for i.MX RT | Learn how to use the Glow neural network compiler tool by running a handwritten digit recognition model example. A step-by-step video covering this lab is also available below. |
eIQ Glow Ahead of Time (AOT) User Guide | Steps to download, start using Glow AOT and create an application that integrates bundles generated using the Glow AOT compiler. |
Glow Documentation for Building Ahead Of Time (AOT) Applications | A short description about producing AOT compiled executable bundles. |
eIQ Transfer Learning Lab with i.MX RT | Learn how to perform transfer learning on models and run them on the i.MX RT1060 platform. |
AN13001 Glow Memory Analysis | How to understand the Glow memory information generated by the Glow compiler and calculate the memory required for a particular model. This compiler can then be used to determine the minimum memory size that is needed to run the model. |
AN12766 Anomaly Detection with eIQ using K-Means clustering in Tensor Flow Lite | Step by step instruction to enable a machine condition monitoring application using anomaly detection. |
AN12781 Caffe Model Development on MNIST Dataset with CMSIS-NN Library |
Describes the process to train a Caffe model on MNIST dataset for digit
classification. Note: The portion of this document about the CMSIS-NN engine does not pertain to the RT600 The trained Caffe model is converted to a source file that can run on i.MX RT platforms. |
Advanced Industrial ML Applications are Now Possible with NXP MCUs | Focuses on the software tools that can be used to deploy vision, voice and sensor technology ranging from object recognition to anomaly detection, and how to get started quickly use MCUXpresso SDK ML examples. |
Several examples, demos and drivers are available within the SDK to help you get started. Some common examples related to machine learning are listed below.
Several examples demonstrating inference for models compiled using the GLOW AOT tool as well as NN processing acceleration or offload using the DSP. This requires SDK 2.10 or greater and the optional eIQ middleware package.
Path:
<SDK_PATH>/boards/mimxrt685audevk/eiq_examples
LPCScrypt is a command-line based, fast flash, EEPROM, OTP and security programming tool for LPC microcontrollers. It is the recommended tool to program the latest CMSIS-DAP and J-Link firmware.
J5
and then put on the DFULink jumper.
JP1
is the LPCXpresso DFU jumper. Connect JP1
using the jumper.
J5
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\LPCScrypt
Note: File paths in this document use Windows directory separator, on Linux or Mac OSX these must be replaced with '/.' For Windows users, shortcuts to these scripts are available from the LPCScrypt entry on the Start menu.
Cadence® Tensilica® Xplorer is a complete development environment that helps users create application code for high-performance Tensilica® processors. Xplorer is the interface to powerful software development tools such as the XCC compiler, assembler, linker, debugger, code profiler and full set of GUI tools.
Xplorer (including both GUI and command line environment) is the only available development IDE for the DSP core of MIMXRT600.
You will receive an email confirmation with the activation link from "Tensilica tools". Click the activation link to complete the registration
Note: There may be multiple version numbers available, and it is recommended to use the latest version currently available. The steps are exactly the same for all versions except for slight name differences.
Windows:
Linux:
Note: The generated license file only supports debug/run on the RT600 device target. It does not support software simulation/Xplorer ISS. Please contact Cadence directly if you have special needs to run software simulations.
Search the configuration you downloaded at Step 2
Windows:
C:\usr\xtensa\XtDevTools\downloads\RI2019.1\tools\xt-ocd-14.0.1-windows64-installer.exe
Linux:
~/xtensa/XtDevTools/downloads/RI2019.1/tools/xt-ocd-14.0.1-linux64-installer
At this moment, xt-ocd supports J-Link and Arm RVI/DSTREAM probes over Serial Wire Debug (SWD) for RT600. Xt-ocd installs support for J-Link probes but does not install the required J-Link drivers, which must be installed separately. The RT600 requires J-Link software version 6.46 or newer
Note: When installing xt-ocd on Linux, you must manually add a symlink to the installed J-Link driver:
ln -s <jlink-install-dir>libjlinkarm.so.6 <xocd-install-dir>/modules/libjlinkarm.so.6
C:\Program Files (x86)\SEGGER\JLink
Every EVK/LPC-Link2 will have a different Jlink S/N
Note: Please note that J-Link firmware needs to be installed to identify this serial number. If you haven't updated the firmware, please refer to the section "2.5 LPCScrypt" on this guide.
C:\Program Files (x86)\Tensilica\Xtensa OCD Daemon 14.01
Note: You need to replace 'usbser' section with your own Jlink serial number (9-digit number obtained on the previous step).
Below is another topology.xml example if using Arm RealView ICE (RVI) and DSTREAM debug probes:
Explore the world with a full assortment of NXP sensor solutions. From accelerometers, pressure sensors, touch sensors and many more, NXP has a sensor solution for your project. Find out more at NXP Sensor Solutions.
Near Field Communication is a simple, intuitive technology that lets you interact securely with the world around you with a simple touch. Learn more about NXP’s NFC solutions at Near Field Communication (NFC).
Getting Started with NXP Wi-Fi Modules Using the i.MX RT Platform - Let's take your Wi-Fi module for a test drive. This guide uses the Wi-Fi modules and i.MX RT platforms.
To learn what to do next, find your issue below. If you still need help, contact NXP Support.
Basic Application Development Using MCUXpresso IDE and MCUXpresso Config Tools - This three-part video series covers the basic interactions between the MCUXpresso IDE and Config Tools when working with either an imported SDK example project or creating a new one.
MCU Tech Minutes- Key Features and Benefits of the i.MX RT series – Short video presentations introduce some of the key features and benefits of the i.MX RT series.
i.MX RT600 Training - Full list of on-demand training, how-to videos and webinars from NXP about this product.
Connect with other engineers and get expert advice on designing with the i.MX RT1170 on one of our community sites.
Product Forums
Software Forums
Get Started with IMXRT685-AUD-EVK Development Platform
Get Familiar with the Board
Attach the USB Cable
Run the Out-of-Box Demo
Installing Software for IMXRT685-AUD-EVK
Jump Start Your Design with the MCUXpresso SDK
Install Your Toolchain
MCUXpresso Config Tools
LPCScrypt
Serial Terminal
J-Link
Install Xtensa Xplorer IDE and Tools
Build and Run SDK Demo on the IMXRT685-AUD-EVK
Explore the MCUXpresso SDK Example Code
Building and Debugging MCUXpresso SDK Examples