i.MXRT105x Middleware Pack  
CMSIS-Drivers for NXP i.MXRT105x devices
 
Loading...
Searching...
No Matches
Introduction

This manual explains how to create MDK-Middleware projects for NXP's i.MXRT105x series. NXP provides device family packs (DFP) and a comprehensive SDK that contain CMSIS-Drivers for I2C, SPI, and USART. This software pack adds CMSIS-Drivers for Ethernet MAC, GPIO, FLEXCAN, MCI, USB Host and USB Device for the above mentioned device series, based on the original NXP peripheral drivers (fsl) and USB middleware drivers.

The diagram below is an overview of the complete software stack:

Requirements

The following software packs are required:

Software pack Description
ARM.CMSIS.6.0.0 (or higher) Arm CMSIS
ARM.CMSIS-Driver.2.9.0 (or higher) Arm CMSIS Drivers for external devices
NXP.MIMXRT1051_DFP.18.0.0 Device family pack for NXP i.MXRT1051
NXP.MIMXRT1052_DFP.18.0.0 Device family pack for NXP i.MXRT1052

For pin and clock configuration of the i.MXRT devices, the NXP MCUXpresso Config Tools are required. The corresponding user's guide can be downloaded from: MCUXpresso Config Tools User's Guide

It is assumed that you are familiar with MDK. Refer to MDK - Getting Started for additional setup information.

Please make sure that you have setup your board correctly. The section Important notes explains how to enable debugging by removing the pre-programmed image in Flash that disables debugging.

Content

This manual contains the chapters:

  • Usage instructions explains how to setup MDK-Middleware projects using header files and the MCUXpresso Config Tools

Pack structure

Directory or File Description
.\CMSIS CMSIS-Drivers for Ethernet MAC, FLEXCAN, MCI, USB Host and Device
.\Documentation This documentation
.\Scripts Updated linker scripts for using Event Recorder and debugger scripts
.\SDK NXP USB Middleware sources necessary for CMSIS USB Device Driver and extended GPIO headers
.\Templates Various source code templates

Revision history

VersionDescription
V2.0.0

Updated CMSIS Drivers to align with NXP.MIMXRT1052_DFP.18.0.0 pack

Updated documentation to reflect the latest state of MCUXpresso Config Tools

CMSIS-Driver:

  • GPIO: Added GPIO CMSIS-Driver
  • USB Device: Reworked and merged USB1 and USB2 Device Drivers into a single module
  • USB Host:
    • Added hardware-specific implementation for EHCI driver from CMSIS-Driver pack
    • Removed deprecated USBH HCI driver

Removed EVKB-IMXRT1050 board examples

V1.6.0

Updated CMSIS Drivers and examples to align with NXP.MIMXRT1052_DFP.17.0.0 pack

Updated documentation to reflect the latest state of MCUXpresso Config Tools

CMSIS-Driver:

  • EMAC/CAN/MCI/USBD: Added volatile qualifier to volatile variables
  • EMAC:
    • Fixed SendFrame function for high-speed data transfers
    • Deprecated ENET_SetCallback function
  • CAN:
    • Corrected SetMode function to update unit state
    • Updated StartReceive function to work with FSL_FLEXCAN driver v2.9.2 or newer

Examples:

  • Updated Board_Support files using MCUXpresso Config Tools Version 14.0
  • Removed needless FSL_SDK_ENABLE_DRIVER_CACHE_CONTROL define
  • Corrected linker scripts
V1.5.1

Updated CMSIS Drivers and examples to align with NXP.MIMXRT1052_DFP.15.1.0 pack

Updated documentation to reflect the latest state of MCUXpresso Config Tools

CMSIS-Driver:

  • CAN: Corrected ObjectSetFilter function (uninitialized 'mask' variable value)

Examples:

  • Updated Board_Support files using MCUXpresso Config Tools Version 12.1
  • Changed debug target to run from flash
V1.5.0

Updated CMSIS Drivers and examples to align with NXP.MIMXRT1052_DFP.15.0.0 pack

Updated documentation to reflect the latest state of MCUXpresso Config Tools

CMSIS-Driver:

  • Removed RTE_Device.h template
  • CAN:
    • Added support for maskable filtering
    • Corrected index handling for Rx mailbox objects
    • Corrected filter removal
  • EMAC: Placed frame buffer descriptors into noncacheable section
  • MCI: Placed DMA descriptors into noncacheable section

Examples:

  • Added required component (NXP::SDK:Utilities:assert)
  • Updated Board_Support files using MCUXpresso Config Tools Version 12.0
  • Updated linker files
  • Renamed retarget_user.c to retarget_stdio.c
V1.4.0

Updated CMSIS Drivers and examples to align with NXP.MIMXRT1052_DFP.13.1.0 pack

Updated SDK package to version 2.10.0(2021-07-15)

PDSC file: Changed schemaVersion (1.7.2)

Examples:

  • Removed Blinky example (moved to Keil.IMXRT1050-EVKB_BSP pack)
  • Added startup_MIMXRT1052.S file
  • Updated RTX configuration (CMSIS 5.8.0)
  • Updated Board_Support files using MCUXpresso Config Tools Version 10.0
  • Removed xip_board component (SDK driver)
  • Added nic301 component (SDK driver)
  • Updated linker files
V1.3.0

Updated CMSIS Drivers and examples to align with NXP.MIMXRT1052_DFP.12.3.0 pack

Updated SDK package to version 2.9.1(2021-01-20)

PDSC file: Changed schemaVersion (1.7.1)

Examples:

  • Added MIMXRT1052_system component
  • Removed startup_MIMXRT1052.s, system_MIMXRT1052.c.h, fsl_device_registers.h and MIMXRT1052.h files (generated by NXP.MIMXRT1052_DFP)
  • Changed Assembler Options to armclang (Auto Select)
V1.2.1 Examples:
  • Updated all examples correcting build failure with MDK 5.30.
  • Corrected Debug Connect option to "with Pre-reset" for Debug targets.
  • Selecting MDK-Plus component variants in Middleware examples for immediate use with MDK Plus license.
V1.2.0

Updated CMSIS Drivers and examples to align with NXP.MIMXRT1052_DFP.12.1.0 pack

Updated SDK package to version 2.7.0(2019-12-19)

Examples:

  • Changed default compiler selection to Arm Compiler 6
  • USB Device: Updated MS Windows drivers (.inf and .cat files)
V1.1.0

Updated CMSIS Driver and examples to align with NXP.MIMXRT1052_DFP.12.0.0

CMSIS-Driver:

  • EMAC: Added support for Arm Compiler 6
  • CAN:
    • Updated for resolving incompatibilities with DFP
    • Corrected SetMode function (endless wait on FRZACK bit)
    • Added signaling of overrun events
  • MCI : Get IntteruptFlags from function USDHC_GetInterruptStatusFlags ()
  • USBD: Corrected Endpoint transfer array size

SDK:

  • Updated SDK package to version 2.6.1(2019-07-09)

SDK_Patch:

  • Added usb_misc.h

Scripts:

  • Updated .ini and .scf files from NXP BSP_12.0.0.

Examples:

  • Terminating app_main thread with osThreadExit() to avoid endless loop
  • Updated Board_Support files using MCUXpresso
  • Updated retarget_user.c (using latest version of fsl_debug_console.c)
  • Using debug console from latest NXP DFP
  • Updated all examples enabling the Event Recorder in debug targets
V1.0.0 Initial release of i.MX RT MDK-Middleware examples and CMSIS-Drivers Pack.