Wired Communications Middleware for NXP Microcontrollers

WIRED-COMM-MIDDLEWARE

Roll over image to zoom in

Software Details

Select a section:

Features

  • MCUXpresso SDK includes middleware for USB, Ethernet and CAN / CAN-FD interfaces
  • Fully-functional example applications make evaluation fast and easy
  • MCUXpresso Config tools simplify driver configuration
  • Wide choice of NXP device families for all wired communications options
  • AVB and TSN stacks available for supported i.MX RT crossover MCUs

Libraries


Libraries and examples provided through MCUXpresso SDK

  • NXP has developed a wide range of wired communications libraries and collaborates with select partners to offer complementary specialized stacks. Each solution is fully integrated into the MCUXpresso SDK and comes with ready-to-use software examples to help you complete an in-depth evaluation and get started with your design.

USB Applications

  • Source code provided
  • Complimentary for use on any NXP devices
  • Wide range of USB device, host, audio and OTG examples
  • Bare metal or RTOS based

CAN and CAN-FD Applications

  • CANopen and CANopen FD stacks from EmSA
  • CANopen configuration tools supplied
  • CAN and CAN-FD drivers and examples provided by NXP for use with other protocols
  • Evaluation version provided in MCUXpresso SDK

Ethernet Applications

  • Based on popular, open source LwIP TCP/IP stack
  • Source code provided
  • Several examples included, covering common use cases
  • Bare metal or RTOS based
  • Complimentary for use on NXP devices

USB and NetX Duo networking

  • Azure RTOS NetX Duo advanced, industrial-grade TCP/IP network stack
  • Includes IPv4, IPv6, TCP and UDP
  • TLS 1.2 and 1.3 support
  • Azure RTOS USB device and host stacks
  • Source code and examples provided
  • Complimentary for use with ThreadX on NXP devices

AVB and TSN Stacks

  • AVB endpoint audio and TSN endpoint stacks available
  • Compatible with the MCUXpresso SDK
  • Source code and example provided (protocol stack in object format)
  • Free for use with NXP microcontrollers

USB Applications

NXP’s USB applications host and device libraries are provided with full source code and a wide range of examples. The MCUXpresso SDK default configurations include all of the necessary drivers and several example applications to help you take full advantage of USB features, and the MCUXpresso peripheral tools enable you to quickly and easily configure USB drivers for your application needs. Examples are provided as bare metal and RTOS-based implementations, with build options for full- and high-speed USB.

  • USB device classes/examples
    • Composite devices (CDC), including mass storage and VCOM
    • Generic human interface device (HID), including mouse and keyboard emulation plus use of suspend/resume
    • Mass storage class and RAM disk
    • Device firmware update (DFU)
    • Smart card
    • Audio generators, speakers and combined audio devices
    • Virtual network interface (NIC)
    • Weigh scale
    • Printer
    • Camera
  • USB host-side class support
    • Composite device
    • Human interface device (HID), including use of suspend/resume
    • Audio speaker
    • Mass storage device (MSD)
    • Printer (plain text)
    • Video camera
    • Personal healthcare device (PHDC)
  • USB Audio 2.0 classes and examples
  • USB Type-C power delivery
Host Device
Device Family Core Power delivery**
CDC and HID
Audio
Storage
Camera
PHDC
CDC and HID
Audio
Storage
Camera Printer,
PHDC
VNIC
K2x Cortex-M4
K32 L2x Cortex-M0+
K32 L3x Cortex-M4
K6x Cortex-M4
K8x Cortex-M4
LPC51U68 Cortex-M0+
LPC5411x Cortex-M4 + Cortex-M0+
LPC54S/540xx Cortex-M4
LPC54S018JxM Cortex-M4
LPC546xx Cortex-M4
LPC551x/S1x Cortex-M33
LPC552x/S2x Cortex-M33
LPC553x/S36 Dual Cortex-M33
LPC55S6x Dual Cortex-M33
i.MX RT5xx Cortex-M33 + Cadence® Tensilica® Fusion F1 DSP
i.MX RT6xx Cortex-M33 + Cadence Tensilica HiFi 4 DSP
i.MX RT101x Cortex-M7
i.MX RT102x Cortex-M7
i.MX RT104x Cortex-M7
i.MX RT105x Cortex-M7
i.MX RT106x Cortex-M7
i.MX RT1160 Cortex-M7 + M4
i.MX RT1170 Cortex-M7 + M4

**Requires USB PD products from NXP

Azure RTOS USBX is a high-performance USB host, device and on-the-go (OTG) embedded stack. Azure RTOS USBX is fully integrated with Azure RTOS ThreadX and available for all ThreadX–supported processors. Like ThreadX, Azure RTOS USBX is designed to have a small footprint and high performance, making it ideal for deeply embedded applications that require an interface with USB devices. USBX is free to use on NXP MCUs. For more information on USBX visit the Microsoft Azure website.

*Azure RTOS USBX is currently available for the evaluation boards for i.MX RT10xx, i.MX RT116x/7x and LPC55S6x/2x/1x devices and is available as an option in MCUXpresso SDK and is included in SDK downloads from within MCUXpresso IDE. Note that USBX may not be used with any RTOS other than ThreadX.


CAN and CAN-FD Applications

NXP has partnered with Embedded Systems Academy (EmSA) to offer CANopen and CANopen FD libraries based on its Micro CANopen Plus stack for our CAN / CAN-FD enabled microcontrollers. These libraries are free to use, and available through the MCUXpresso SDK with fully-functional example applications that implement CANopen and CANopen FD devices and managers. EmSA has made their CANopen Architect Software available as a complimentary download to help you go beyond the examples and generate custom configurations.

  • CANopen device library and CANopen manager library
  • CANopen FD device library and CANopen FD manager library
  • Functionality suitable for simple I/O devices and control applications that can pass the official CANopen conformance test (extended functionality libraries available from EmSA)
  • Object dictionary contents can be freely configured using EmSA’s CANopen architect standard EDS editor
  • Compatible with CANopen monitoring, configuration or analysis tools such as CANopen magic

EmSA’s stacks utilize NXP’s CAN and CAN-FD SDK drivers, which are provided with full source code and basic examples.

Device Family* Core CAN drivers CAN-FD drivers EmSA CANopen stack EmSA CANopen FD stack Recommended Evaluation Board(s)
[Click to access SDK]
KE Cortex-M0+/M4
K6x Cortex-M4
LPC54S/540xx Cortex-M4 LPCXpresso54018 + OM13099
LPCXpresso54S018 + OM13099
LPC54S018JxM Cortex-M4 LPCXpresso54S018M + OM13099
LPC5460x Cortex-M4 LPCXpresso54628 + OM13099
LPC5461x / 62x Cortex-M4 LPCXpresso54628 + OM13099
LPC550x / S0x Cortex-M33 LPCXpresso55S06
LPC551x / S1x Cortex-M33 LPCXpresso55S16
LPC553x / S3x Cortex-M33 LPCXpresso55S36
i.MX RT102x Cortex-M7 MIMXRT1020-EVK
i.MX RT104x Cortex-M7 MIMXRT1040-EVK
i.MX RT105x Cortex-M7 MIMXRT1050-EVKB
i.MX RT106x Cortex-M7 MIMXRT1060-EVK
MIMXRT1060-EVKB
i.MX RT1160 Cortex-M7 + M4 MIMXRT1160-EVK
i.MX RT1170 Cortex-M7 + M4 MIMXRT1170-EVK

*Functionality may not be available on all parts within each family listed above.


Ethernet Applications

NXP’s Ethernet driver and middleware libraries are provided with full source code - complete with driver and network interface-level applications. Examples are based on the popular, open-source LWIP TCP/IP library and are provided as bare metal and RTOS-based implementations. In addition, full cloud-connected applications are provided for select platforms. Examples provided show use of most commonly used networking elements:

  • HTTP server with and secure HTTP server using MbedTLS and WolfSSL (evaluation version)
  • DHCP and static IP allocation
  • TCP
  • UDP
  • MQTT
Secure server
Device Family* Core
WolfSSL
MBedTLS
HTTP server MQTT TCP/UDP
K6x Cortex-M4
LPC54S/540xx Cortex-M4
LPC54S018JxM Cortex-M4
LPC546xx Cortex-M4
i.MX RT102x Cortex-M7
i.MX RT104x Cortex-M7
i.MX RT105x Cortex-M7
i.MX RT106x Cortex-M7
i.MX RT1160 Cortex-M7 + M4
i.MX RT1170 Cortex-M7 + M4

Microsoft Azure NetX Duo

Azure RTOS NetX Duo embedded TCP/IP network stack is Microsoft’s advanced, industrial grade dual IPv4 and IPv6 TCP/IP network stack designed specifically for deeply embedded, real-time and IoT applications. NetX Duo provides embedded applications with core network protocols such as IPv4, IPv6, TCP and UDP as well as a complete suite of additional, higher-level add-on protocols. Azure RTOS NetX Duo is also secure via additional add-on security products, including Azure RTOS NetX Secure IPsec and Azure RTOS NetX Secure SSL/TLS/DTLS. All of this combined with a small footprint, fast execution and superior ease-of-use make Azure RTOS NetX Duo the ideal choice for the most demanding embedded IoT applications. For more information on the features of NetX Duo please visit the Microsoft Azure website.

Azure RTOS NetX Duo is currently available with examples for i.MX RT102x/4x/5x/6x and i.MX RT116x/7x evaluation boards as an optional download in MCUXpresso SDK and from within MCUXpresso IDE. The NetX Duo middleware is also provided in the SDK packages for i.MX RT1010/15 families and for LPC5500 series for customers who wish to use it with their own implementation of network connectivity. Note that NetX Duo may not be used with any RTOS other than ThreadX.


AVB and TSN

NXP’s GenAVB/TSN Stack is a set of software components which provides Time Sensitive Network (TSN) and Audio Video Bridging (AVB) functionality on supported NXP microcontrollers. These stacks and provided example applications are free to use, support FreeRTOS applications and are compatible with the MCUXpresso SDK. Example applications are provided in source code and illustrate various TSN and AVB use cases.


The AVB/TSN packages are currently only available as an add-on package for supported platforms. Please see the Downloads tab to access these packages.


The TSN package provides:

  • Generalized precision time protocol (gPTP) (IEEE 802.1AS-2020)
  • Enhancements for scheduled traffic API’s (IEEE 802.1Q-2018, section 5.25, a.k.a. IEEE 802.1Qbv)
  • Frame preemption API’s (IEEE 802.1Q 2018, section 5.26, a.k.a. IEEE 802.1Qbu-2016 and IEEE802.3br-2016)
  • Stream reservation protocol (SRP) (IEEE 802.1Q-2018, section 35, a.k.a. IEEE 802.1Qat)
  • Layer 2 socket API
  • gPTP based clock and timer API’s
  • OS abstraction layer


The AVB package adds:

  • Forwarding and queuing for time-sensitive streams (IEEE 802.1Q-2018, section 34)
  • Audio video transport protocol (AVTP) (IEEE 1722-2016)
  • Audio video device discovery, enumeration, connection management and control protocol (AVDECC) (IEEE 1722.1-2013)
  • AVB control and streaming API’s

Device Family Core AVB TSN Recommended Evaluation Board(s) Direct Download
i.MX RT105x Cortex-M7 MIMXRT1050-EVKB SDK add-on for MIMXRT1170-EVK and MIMRT1050-EVKB
i.MX RT117x Cortex-M7 + Cortex-M4 MIMXRT1170-EVK SDK add-on for MIMXRT1170-EVK and MIMRT1050-EVKB

Downloads

2 downloads

  • BSP, Drivers and Middleware

    MCUXpresso SDK - SDK Builder

  • Development Software - miscellaneous

    AVB/TSN Stacks for i.MX RT105x and i.MX RT117x Processors

Note: For better experience, software downloads are recommended on desktop.

Design Resources

Select a section:

Related Software

2 software files

Note: For better experience, software downloads are recommended on desktop.

Training

5 trainings