i.MX RT Crossover MCUs – Maximizing your Design Flexibility

i.MX RT Crossover MCUs – Maximizing your Design Flexibility

With the newly released i.MX RT1010 crossover MCU starting at $1 USD MSRP (for volume production) and the newly announced i.MX RT1170 crossover MCU, running at 1 GHz, the i.MX RT series provides extraordinary cost and performance flexibility to customers. But the flexibility goes beyond just price and performance. There are many flexible features on i.MX RT MCUs, which can make your designs more flexible as well. Features such as:

  • FlexSPI – Flexible serial memories interface
  • FlexRAM – Flexible RAM consideration and management
  • FlexIO – Flexible input and output signal control
  • FlexPWM – Flexible PWM configuration


The FlexSPI module is arguably one of the most flexible and powerful serial SPI interface in the market. The FlexSPI module supports 1, 2, 4, 8 datalines of SPI memory. It is so flexible that it can be configured to work with most of the serial memories on the market. This includes Quad / Octal (Hyper) flash, Quad / Octal (Hyper) RAM, Quad SPI NAND flash, and FPGA as well. With these options, you can choose cost-efficient and performance-efficient memories for your system design and can also choose to boot from any of these FlexSPI memories. Application notes AN12107 and AN12108 show boot examples and list the memories that we have tested and verified.

i.MX RT families have up to 2 FlexSPI modules, and each FlexSPI module has dual channel Quad interface. With each channel offering two chip select and 4 datalines, i.MX RT MCUs can connect up to 8 Quad SPI memories! On the newly announced i.MX RT1170 device, we expand some channels to 8 datalines providing more data throughput on the data transfer.

The i.MX RT FlexSPI module has Individual mode and parallel mode: In individual mode, Flash read/write data is received/transmitted on port A or port B. In parallel mode, Flash read/write data is received/transmitted on port A and B in parallel. So you can read / write two Quad SPI memories in parallel.

Combination mode provides octal flash support by combining A port and B port together. See below for the connection diagram


The on-chip RAM on the i.MX RT series can be flexible and partitioned to be tightly coupled memory (TCM) or OCRAM memory. There are three integrated RAM controllers for I-TCM, D-TCM and OCRAM through a dedicated bus interface, and the size for ITCM, DTCM or OCRAM is configurable. Furthermore, to reduce power consumption, three power domains are assigned to dedicated bank or group of banks.

Customers can allocate the code / data in TCM or OCRAM based on system performance requirement and resource management. Here are some considerations:

  • Critical code (Vector Table, ISR‘s) and code typically only accessed by the core should/can be placed in ITCM region
  • Data accessed typically only by the core (stack, heap, …) should/can be placed in DTCM region
  • Data accessed typically by more than one bus master (Core, DMA) should be place in OCRAM
  • Less important data can be placed in the external SDRAM

Customers can refer to application note AN12077 for how to use the FlexRAM.


The i.MX RT MCU has up to 12 UARTs, 6 I2C and 6 SPI interfaces. That’s a lot, right? But we still want to provide designers with the flexibility to adjust the serial interface instances, and also for some designers, the flexibility to customize their proprietary serial interfaces. The FlexIO module can emulate a variety of serial/parallel communication protocols, including UART, I2C, SPI, I2S, etc.

The FlexIO module has up to 32 pins that can be configured to FlexIO, so many customers have been using FlexIO to connect to parallel IO devices, like a parallel camera sensor or LCD interface. FlexIO also has the programmable state machine for offloading basic system control functions from CPU with support for up to 8 states, 8 outputs and 3 selectable inputs per state.

Designers can find many FlexIO examples for i.MX RT MCUs in the MCUXpresso SDK packages.


The FlexPWM module on the i.MX RT series is a powerful PWM module that can generate various switching patterns, including highly sophisticated waveforms. It can be used to control various motor types and is ideal for controlling different Switched Mode Power Supplies (SMPS) topologies as well. Each module is configured with 4 channels supporting A, B, and X PWM output. Each channel is 16 bits of resolution for center, edge-aligned, and asymmetrical PWM. There is also fractional PWM clock generation for enhanced resolution of the PWM period and duty cycle. PWM outputs that can operate as complementary pairs or independent channels and each complementary pair can operate with its own PWM frequency and deadtime. Channels not used for PWM generation can be used for buffered output compare functions or input capture functions.

i.MX RT devices have up to 4 FlexPWM modules so can support up to 4 motors in a motor control application. We have built a four-motor demo based on the i.MX RT1050 device. Watch the demo video here.

The freedom and flexibility designers are able to accomplish with these features is endless. How will you leverage these ‘flex’ features? Launch your legacy with i.MX RT crossover MCUs today; visit www.nxp.com/iMXRT for more information.

Allen Lv
Allen Lv
Allen Lv, Product Marketing Manager, NXP Allen Lv is the product marketing manager for the i.MX RT Crossover MCUs and Low Power i.MX applications processors. He has been working at NXP for more than 12 years managing microcontroller products including various LPC, Kinetis and i.MX RT families. He has a master’s degree from China Ocean University.

Comments are closed.

Buy now