Arm's Cortex-M4 microcontroller architecture is one of the more flexible platforms available to developers. It incorporates DSP-style instructions and sometimes incorporates floating point hardware. It is also the basis for Freescale's Kinetis family of microcontrollers (see MCUs Based On ARM Cortex-M4 Processor).

Freescale added a number of new micros to the Kinetis family including the top end K70 (Fig. 1). The latest includes a 120 MHz part with High Speed USB OTG (On-the-Go) and a 24-bit LCD graphics controller. The controller supports QVGA LCD panels using on-board memory that maxes out at 1 Mbytes of flash memory and 128 Kbytes of SRAM. The flash memory support also includes up to 512 Kbytes of Freescale's FlexMemory that can split to support up to 16 Kbytes of EEPROM storage.

Larger LCD displays up to SVGA resolutions can be handle when using off-chip memory. The chip has DDR DRAM and NAND flash controllers. Additional off-chip storage can be accessed using the Secure Digital host controller.

The Cortex-M4 is regularly chosen to handle real time applications like BLDC motor control. It can easily tackle many other applications from power control to digital filtering with its DSP instructions and timing peripherals.

The Cortex-M4 core is surrounded by the usual collection of serial, SPI and I2C ports. Versions are available with an Ethernet MAC with IEEE 1588 timing support. On the analog side, peripherals include four channel, 16-bit ADCs and dual 12-bit DACs. Programmable gain amplifiers and comparators are in the mix as well.

Specialized hardware includes 32-bit CRC support as well as crytographic hardware. The latter is complemented by an anti-tamper detection unit for the secure RTC (real time clock) and key storage. This allows the platform to be used in secure industrial and smart metering applications. It should also be of interest to anyone developing networked devices because it provides a way to secure remote updates. The anti-tamper support is designed to prevent a number of different kinds of attacks that would examine voltage, frequency and temperature variations.

Usually Cortex-M4 processors lack display capabilities and are dedicated to applications like motor control. The Kinetis LCD display support, also found in lower end Kinetis parts as well, allows the chips to handle user interface chores as well. Freescale provides two graphics platforms including the free eGUI LCD drivers and the more advanced embedded graphic user interface (PEG). PEG comes with the WindowBuilding interface. The graphics development suite provides comprehensive visual layout and design.

The Kinetis family is supported by a range of third party vendors such as IAR, Keil and Arm. Support includes development suites, graphics libraries and operating systems.

The latest crop of Kinetis chips will also be available on Freescale Tower System modules (see Prototyping A Tower). This modular system allows developers to easily add custom boards to a Tower stack as well as incorporate Freescale and third party modules. Freescale has a number of modules that highlight their MEMS sensors (see Towering Auto Sensors For Evaluation).

Third party vendors have a hard time competing with other Freescale offerings. The free MQX real-time operating system is one. Freescale's CodeWarrior 10.x integrated development environment (IDE) is another. Still, I would recommend checking out the third party options especially when it comes to operating systems and network stacks because they may have to the features that will shorten time to market.

Pricing for the 120 MHz K70 with 1 Mbyte of flash starts at $10.09. It comes in a 256 MAPBGA package.