CYGPKG_HAL_CORTEXM_MIMXRT1050_EVK — eCos Support for the MIMXRT1050-EVK Board


This document covers the configuration and usage of eCos on the NXP MIMXRT10XX-EVK evaluation kits. This includes the RT1052 on which this support has been tested. Boards containing other devices in the RT10XX family should be supportable with minimal effort.

For typical eCos development it is expected that programs will be downloaded and debugged via a hardware debugger (JTAG/SWD) attached to either the standard ARM 20-pin JTAG connector or via the on-board CMSIS USB socket. Use of a hardware debugging interface avoids the requirement for a debug monitor application to be present on the platform.

Supported Hardware

The variant HAL includes support for the on-chip serial devices which are documented in the variant HAL. LPUART1 is connected to the CMSIS socket where it is available as a CDC/ACM interface. There is no support for hardware flow control in this device. LPUART1 is configured as the default diagnostics console.

Device drivers provide support for the I²C interfaces, which are instantiated by the platform HAL. These have been tested using external I²C devices.

Device drivers provide support for the SPI interfaces, which are instantiated by the platform HAL. These have been tested using external SPI devices.

Support is available for the FlexSPI controller with an attached QSPI device. This requires board modifications to use the on-board QSPI ISSI IS25WP064D device in place of the default HyperFlash device. Normally the first few blocks of the QSPI NOR flash are set aside for a bootable SRAM RedBoot image, with the last couple of blocks of the device used to hold the RedBoot fconfig and FIS values. The remaining blocks are free for use by application code.

Support for USB host and peripheral mode is provided by EHCI drivers. Host mass storage and CDC-ACM class drivers are present. The peripheral port is configured by default to provide a CDC-ACM device.


The board port is intended to work with GNU tools configured for an arm-eabi target. The original port was done using arm-eabi-gcc version 7.3.0e, arm-eabi-gdb version 8.1, and binutils version 2.30.