MCUXpresso SDK Release Notes
Overview
The MCUXpresso SDK is a comprehensive software enablement package designed to simplify and accelerate application development with Arm Cortex-M-based devices from NXP, including its general purpose, crossover and Bluetooth-enabled MCUs. MCUXpresso SW and Tools for DSC further extends the SDK support to current 32-bit Digital Signal Controllers. The MCUXpresso SDK includes production-grade software with integrated RTOS (optional), integrated enabling software technologies (stacks and middleware), reference software, and more.
In addition to working seamlessly with the MCUXpresso IDE, the MCUXpresso SDK also supports and provides example projects for various toolchains. The Development tools chapter in the associated Release Notes provides details about toolchain support for your board. Support for the MCUXpresso Config Tools allows easy cloning of existing SDK examples and demos, allowing users to leverage the existing software examples provided by the SDK for their own projects.
Underscoring our commitment to high quality, the MCUXpresso SDK is MISRA compliant and checked with Coverity static analysis tools. For details on MCUXpresso SDK, see MCUXpresso-SDK: Software Development Kit for MCUXpresso.
MCUXpresso SDK
As part of the MCUXpresso software and tools, MCUXpresso SDK is the evolution of Kinetis SDK, includes support for LPC, DSC,PN76, and i.MX System-on-Chip (SoC). The same drivers, APIs, and middleware are still available with support for Kinetis, LPC, DSC, and i.MX silicon. The MCUXpresso SDK adds support for the MCUXpresso IDE, an Eclipse-based toolchain that works with all MCUXpresso SDKs. Easily import your SDK into the new toolchain to access to all of the available components, examples, and demos for your target silicon. In addition to the MCUXpresso IDE, support for the MCUXpresso Config Tools allows easy cloning of existing SDK examples and demos, allowing users to leverage the existing software examples provided by the SDK for their own projects.
In order to maintain compatibility with legacy Freescale code, the filenames and source code in MCUXpresso SDK containing the legacy Freescale prefix FSL has been left as is. The FSL prefix has been redefined as the NXP Foundation Software Library.
Development tools
The MCUXpresso SDK is compiled and tested with these development tools:
IAR Embedded Workbench for Arm, version is 9.60.3
Supported development systems
This release supports board and devices listed in following table. The board and devices in bold were tested in this release.
Development boards |
MCU devices |
---|---|
FRDM-MCXL255 |
MCXL255VDF |
MCUXpresso SDK release package
The MCUXpresso SDK release package content is aligned with the silicon subfamily it supports. This includes the boards, CMSIS, devices, middleware, and RTOS support.
Device support
The device folder contains the whole software enablement available for the specific System-on-Chip (SoC) subfamily. This folder includes clock-specific implementation, device register header files, device register feature header files, and the system configuration source files. Included with the standard SoC support are folders containing peripheral drivers, toolchain support, and a standard debug console. The device-specific header files provide a direct access to the microcontroller peripheral registers. The device header file provides an overall SoC memory mapped register definition. The folder also includes the feature header file for each peripheral on the microcontroller. The toolchain folder contains the startup code and linker files for each supported toolchain. The startup code efficiently transfers the code execution to the main() function.
Board support
The boards folder provides the board-specific demo applications, driver examples, and middleware examples.
Demo application and other examples
The demo applications demonstrate the usage of the peripheral drivers to achieve a system level solution. Each demo application contains a readme file that describes the operation of the demo and required setup steps. The driver examples demonstrate the capabilities of the peripheral drivers. Each example implements a common use case to help demonstrate the driver functionality.
Middleware
Multicore
Multicore Software Development Kit
Release contents
Provides an overview of the MCUXpresso SDK release package contents and locations.
Deliverable |
Location |
---|---|
Boards |
INSTALL_DIR/boards |
Demo Applications |
INSTALL_DIR/boards/<board_name>/demo_apps |
Driver Examples |
INSTALL_DIR/boards/<board_name>/driver_examples |
eIQ examples |
INSTALL_DIR/boards/<board_name>/eiq_examples |
Board Project Template for MCUXpresso IDE NPW |
INSTALL_DIR/boards/<board_name>/project_template |
Driver, SoC header files, extension header files and feature header files, utilities |
INSTALL_DIR/devices/<device_name> |
CMSIS drivers |
INSTALL_DIR/devices/<device_name>/cmsis_drivers |
Peripheral drivers |
INSTALL_DIR/devices/<device_name>/drivers |
Toolchain linker files and startup code |
INSTALL_DIR/devices/<device_name>/<toolchain_name> |
Utilities such as debug console |
INSTALL_DIR/devices/<device_name>/utilities |
Device Project Template for MCUXpresso IDE NPW |
INSTALL_DIR/devices/<device_name>/project_template |
CMSIS Arm Cortex-M header files, DSP library source |
INSTALL_DIR/CMSIS |
Components and board device drivers |
INSTALL_DIR/components |
RTOS |
INSTALL_DIR/rtos |
Release Notes, Getting Started Document and other documents |
INSTALL_DIR/docs |
Tools such as shared cmake files |
INSTALL_DIR/tools |
Middleware |
INSTALL_DIR/middleware |
Known Issues
This section lists the known issues, limitations, and/or workarounds.
I2C examples on cm33 does not work on pins specified in readme
Use following pins of J7 PMOD header:
P3_11 for SDA
P3_10 for SCL
Another option is to switch example to use LPI2C0. But this requires configuration of appropriate pins, clocks and resets.
Missing release from reset of all lptimer examples
Please add following line to the end of function BOARD_InitHardware(void)
in hardware_init.c to make example work:
RESET_ReleasePeripheralReset(kAonLPTMR_RST_SHIFT_RSTn);
QTMR inputcapture_outputpwm is not able to measure PWM
You can skip measurement by commenting out first for cycle in qtmr_timer.c.
for (i = 0; i < 10; i++)
{
/* Check whether compare interrupt occurs */
while (!(qtmrIsrFlag))
{
}
PRINTF("\r\n Timer interrupt has occurred !");
qtmrIsrFlag = false;
}
Then is necessary to swap channels in app.h:
#define BOARD_QTMR_INPUT_CAPTURE_CHANNEL kQTMR_Channel_0
#define BOARD_QTMR_PWM_CHANNEL kQTMR_Channel_1
Example will then generate pwm signal.
inputcapture_outputpwm_dma example cannot work
QTMR is not supported by DMA.
Don’t use KPP example on cm0+ core
Example does not work because keyboard uses same pins as AON UART.
Use example on cm33 core instead.
UART seven_bit examples do not work
CLOCK driver - CLOCK_GetFroAonFreq() returns wrong freq
Function CLOCK_GetFroAonFreq()
returns 4M instead of 10M and vice versa.
aon_lpadc is not present int package
Please find aon_lpadc and its examples on NXP github.