ARM Cortex Micro controllers

July 28th, 2009

ARM offers three Cortex cores as following:

  • Cortex-A Application Process, like Cortex-A8 (OMAP3530 from TI) , Apple iPhone 3GS, Palm Pre;
  • Cortex-R Realtime operation;
  • Cortex-M Microcontroller cores, ARM offers M3/M1/M0 cores. M1 is available for FPGA chips.


Here is a simple table showing the differences (improvement) between ARM7TDMI and Cortex-M3. M3 uses Harvard architecture so it can access seperate buses in parallel. In ARM7TDMI, the interrupt handler has to work in ARM mode, rather than thumb mode. M3 supports Thumb-2 instuction set, which is a 16/32-bit mixed-mode ISA. The thumb-2 ISA can reach 32-bit performance while only takes 1/2 code space of conventional ARM mode. M3 is much suitable for real-time operation, since its interrupt system has optimized for embedded applications with determined interrupt latency. M3 also offers valuable memory protection in advanced operation system. Addtionally, M3 has been optimized for high-bandwidth data transfer between CPU core, memory and peripherals with AHB, DMA chnnels.

ARM Cortex-M3

ARMv4T (von Neumann)
ARMv7-M (Harvard)

ISA Support
Thumb / ARM
Thumb / Thumb-2

3-stage + branch speculation

NMI +1 to 240 physical interrupts

Interrupt Latency
24 - 42 cycles
12 cycles

Inter-Interrupt Latency
24 cycles
6 cycles

Sleep Modes

Memory Protection
8 region MPU


0.95 DMIPS/MHz (ARM)
0.74 DMIPS/MHz (Thumb)

1.25 DMIPS/MHz

Power Consumption

0.62mm2 (Core only)
0.86mm2 (core + peripherals)*

After all, Cortex-M3 offers higher performance with Harvard structure, optimized instruction set , higher data-bandwidth design, memory protection unit and richer peripherals with advanced semiconductor process. ARM consolidates its leading position in embedded microcontrollers after its most successful ARM7TDMI and ARM9 families.

Since Cortex-M3 (Harvard) is not fully compatible with ARM7TDMI (Von Neumann) microcontrollers in instruction, interrupts, memory protection and etc. The M3 based designs require new-generation tool chain. It is a small investment since there are so many free compilers and low cost JTAG debugger in the market. The tools topic will be covered in anther article of building open source tool chain for Cortex-M3 microcontrollers.


Cortex-M0 is the smallest, lowest power and most energy-efficient ARM processor available. The small silicon area, low power and minimal code footprint of the processor enables developers to achieve 32-bit performance at an 8-bit price. It is not a joke. M0 has very low gate count, 12K. As a benchmark, an 80C51 has 8K gate count. Recently, Taiwanese 89C5X flash microcontroller is available at 0.6USD. Although there is not official quotation for M0, we can refer the M3 based LPC13XX from NXP semiconductors, which is available from 0.99USD to 1.5USD at 10K. We can expect lower price from NXP M0 based LPC11XX. After all, Cortex-M0 is definately the price leader in the 32-bit microcontrollers.

Since Cortex-M0 is binary compatible with Cortex-M3, there is not extra investment on tools and compilers. In September, NXP will officially release the LPC11XX microcontrollers for its major customers.

Vendor Implementations

Luminary Micro/TI

Luminary Micro is the first manufacturer for M3 microcontrollers. As a smaller company, it wins market place by a broad product line of M3 cores. Now TI has acquired Luminary Micro, so TI becomes a leading manufacturer of ARM cores. TI now has ARM7TDMI, ARM926, ARM11, Cortex-A8/A9, and Cortex-M3. Its Cortex-M3 has following product lines:


In general, the microcontroller has more features as its part number increases. Luminary Micro has offered many peripherals for its M3 profolio.

Standard Digital:

Standard Analog:
Analog Comparator, ADC,

Feature Digital:
Quadrature Encoder, I2S, USB host/device/OTG at full speed, EPI to interface external memories and peripherals like SDRAM, host interface,IEEE1566 PTP (Precise Time Protocol), CAN, Ethernet MAC, RTC and two watch dog timers with independent time base.

Feature Analog:
Hibernate for battery operation, Ethernet PHY and LDO.


STM is strong in ASIC business. However, since STM has too many cores at hand, it is not very strong in general purpose microcontroller market. Although STM is the major second source for many microcontrollers, like ARM7TDMI and Tricore. STM increases market share since it is the second manufacturer who released M3 based microcontrollers STM32 to the market.

STM offers STM32 in a special naming convention. Each part has three derivates: STM32F101/102/103, which means access line, USB access line and performance line. And each part has two suffix letters. The first one is package coding, encoded in T/C/R/V/Z for 36/48/64/100/144. The second (the last one) suffix letter stands for memory capcacity, which is encoded in 4/6/8/B/C/D/E for 16KB/32KB/64KB/128KB/256KB/512KB.

STM has its own peripheral sets for M3 microcontrollers as following:
SPI, USART with IrDA and ISO7816 features, SDIO, Ethernet MAC 10/100, and I2S.


Recently NXP becomes aggressive in 32-bit microcontroller market. It released Cortex-M3 v2 based microcontroller LPC1300/1700 and Cortex-M0 based LPC1100 to the market. LPC1300 is the entry level microcontroller and LPC1700 is the high performance microcontroller. So far, NXP's LPC1700 is the fastest microcontroller for Cortex-M3 (100MHz), and LPC1300 has the lowest power consumption.

LPC1700 has most popular peripherals like Ethernet MAC, CAN bus, I2S, motor control and analog features. It is pity that NXP has not offered some remarkable peripherals in its LPC microcontrollers.


SAM3U (U1/2/4) from ATEML is the first Cortex-M3 microcontroller with high-speed 480Mbps USB + PHY. It features a 96MHz maximum operating frequency and high data-bandwidth architecture of a 5-layer AHB matrix with 22 DMA channels. Its dual-bank flash supports safe IAP including the boot program. It can work on 1.62V to 3.6V, extends device operation when running from two AA alkaline batteries. Additionally, SAM3U also features a differential input and PGA on a 12-bit 1 Msps ADC. That makes it a perfect platform for medical equipments.

Atmel's SAM3U is very strong in data connectivities for high-speed USB, Ethernet and solid state flash disk interface. It can replace some ARM9 based embedded microcontrollers in some cost sensitive applications.


According to the latest market information, NXP could be the market leader in price, speed and power consumption, Atmel is strong in high speed data connectivity, STM can win marker of USB, SD card and Smart Card, TI/Luminary has broader product profolio in the market.


ARM Cortex-M3

Luminary Micro


NXP LPC1XXX[pfp=56890]|pp=[t=pfp,i=56890]