ARM Cortex-M Series Processors

Optimized for cost and power sensitive MCU and mixed-signal devices for applications such as Internet of Things, connectivity, motor control, smart metering, human interface devices, automotive and industrial control systems, domestic household appliances, consumer products and medical instrumentation.

For a comprehensive list of Cortex-M documentation and resources available, please visit Joseph Yiu's blog.

Cortex-M Series Comparison


Cortex-M0

Cortex-M0+

Cortex-M3

Cortex-M4

Cortex-M7

Cortex-M23

Cortex-M33

Instruction set architecture

ARMv6-M
Thumb, Thumb-2

ARMv6-M
Thumb, Thumb-2

ARMv7-M
Thumb, Thumb-2

ARMv7-M
Thumb, Thumb-2,
DSP, FP (SP)

ARMv7-M
Thumb, Thumb-2,
DSP, FP (1. SP or 2. SP+DP)

ARMv8-M baseline
Thumb, Thumb-2
ARMv8-M mainline
Thumb, Thumb-2,
DSP, FP (SP)

DMIPS/MHz range*

0.87-1.27

0.95-1.36

1.25-1.89

1.25-1.95

2.14-3.23

0.98-in progress

1.50-in progress

CoreMark®/MHz**

2.33

2.46

3.34

3.42

5.01

2.50

3.86

Memory Protection Unit (MPU)

No

Yes (option)

Yes (option)

Yes (option)

Yes (option)

Yes (option)(2 x)

Yes (option)(2 x)

Trace (ETM or MTB)

No

MTB (option)

ETMv3 (option)

ETMv3 (option)

ETMv4 (option)

MTB (option) or ETMv3

MTB (option) and/or ETMv4

DSP No No No Yes Yes No Yes (option)

Floating point hardware

No

No

No

Yes (option SP)

Yes (option) 1. SP or 2. SP+DP

No

Yes (option)

Systick Timer

Yes (option)

Yes (option)

Yes

Yes

Yes

Yes (2 x)

Yes (2 x)

CMSIS Support

Yes

Yes

Yes

Yes

Yes

Yes

Yes

Built-in caches

No

No

No

No

Yes (option 4-64kB I- and D-cache)

No

No

Tightly-coupled memory

No

No

No

No

Yes (option 0-16MB I-TCM/D-TCM)

No

No

TrustZone for ARMv8-M

No

No

No

No 

No 

Yes (option)

Yes (option) 

Co-processor interface

No 

No 

No 

No 

No 

No 

Yes (option)

*The lower result abides by all of the “ground rules” laid out in the Dhrystone documentation  while the upper bound additionally permits simultaneous (”multi-file”) compilation.
**Cortex-M23 and Cortex-M33 results are preliminary. The others are published on the EEMBC website. 


IDEs and Tool Suites for Embedded Software Development

ARM provides two main software development tool suites for assembly, C and C++. Keil MDK-ARM is best suited to commercial, off-the-shelf embedded microcontrollers. DS-5 Development Studio is best suited to ARM application processors and custom SoC designs.

IDEs

DS-5 Development Studio | Keil MDK-ARM | Tools from ARM's Partners | Tools from mbed

Compilers

ARM Compiler 5 | ARM Compiler 6 | GCC

Debug Probes

DSTREAM | DSTREAM-ST | ULINKpro