SoC
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
  • Arm Cortex M3
  • Contact
Reading: What is ARM Cortex M microcontroller?
SUBSCRIBE
SoCSoC
Font ResizerAa
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Search
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
Have an existing account? Sign In
Follow US
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
© S-O-C.ORG, All Rights Reserved.
Arm

What is ARM Cortex M microcontroller?

Jeday Schwartz
Last updated: September 6, 2023 7:02 am
Jeday Schwartz 5 Min Read
Share
SHARE

ARM Cortex-M microcontrollers are 32-bit processor cores designed specifically for embedded applications. They are optimized for low-power consumption and provide a balance of performance, features, and cost that make them suitable for a wide range of embedded systems.

Contents
Overview of ARM Cortex MKey Features of Cortex M coresCortex-M0/M0+Cortex-M3Cortex-M4Software DevelopmentExample Cortex M MicrocontrollersConclusion

Overview of ARM Cortex M

The ARM Cortex-M series is a range of energy efficient, low cost 32-bit RISC ARM processor cores licensed by Arm Holdings. The ‘M’ stands for microcontroller. Cortex-M cores are designed for embedded applications requiring a low power, low cost processor.

ARM Cortex-M cores have a streamlined instruction set optimized for low-power operation. They feature a simplified interrupt handling scheme called Nested Vectored Interrupt Controller (NVIC) which reduces interrupt latency. The cores have built-in sleep modes to reduce power consumption when idle.

The Cortex-M series has 3 main families – Cortex-M0/M0+, Cortex-M3, and Cortex-M4. Each family scales in performance, features and energy efficiency. The Cortex-M0 is the smallest and simplest 32-bit core intended for replacement of 8/16-bit MCUs. Cortex-M4 provides DSP instructions for more advanced signal processing.

Key Features of Cortex M cores

  • 32-bit RISC Instruction Set – Improved code density over 8/16-bit MCUs
  • Thumb-2 Instruction Set – Balances performance and code size
  • NVIC for Low Latency Interrupts
  • Wake-up Interrupt Controller (WIC) – Manages wake up from sleep modes
  • Advanced Sleep Modes – Reduces dynamic and static power
  • Memory Protection Unit (MPU) – Improves software robustness (some cores)
  • DSP instructions – Accelerates signal processing (Cortex-M4)
  • Single cycle I/O – Fast GPIO and peripheral access
  • Debug Access Port (DAP) – Debugging and programming interface

Cortex-M0/M0+

The Cortex-M0 and Cortex-M0+ are the simplest and most energy efficient cores in the Cortex-M series. Key features:

  • 32-bit RISC architecture, up to 256KB Flash and 36KB SRAM
  • Streamlined pipeline – Only 3 stages for lower power
  • No MPU or DSP instructions
  • Replacement for 8/16-bit microcontrollers
  • Lowest power and cost

The Cortex-M0+ core adds more single cycle I/O, improved sleep modes, and higher energy efficiency over the M0. It operates at lower voltages down to 1.25V. The Cortex-M0+ is often used in battery powered and energy harvesting applications.

Cortex-M3

The Cortex-M3 offers greater performance over the M0/M0+ for applications needing more computing power. Key features:

  • 3-stage pipeline, optional MPU
  • Operation down to 1.2V
  • DSP instructions, improved multiply performance
  • Larger memory support, up to 1MB Flash and 160KB RAM
  • Used in automation, motor control, utility meters

The Cortex-M3 provides a good balance between power and performance. It is popular in many embedded applications including industrial, medical, consumer devices.

Cortex-M4

The Cortex-M4 provides the highest performance in the Cortex-M series with an optional floating point unit (FPU). Key features:

  • Optional single precision FPU
  • DSP and SIMD instructions
  • Memory Protection Unit
  • L1 cache support
  • Used in automation, graphics, audio products

The Cortex-M4 is often used where floating point capability or advanced signal processing is needed. Example applications include motor control, industrial automation, audio/video processing, and control systems.

Software Development

Cortex-M cores are supported by industry standard embedded development tools including:

  • IDEs – ARM Keil MDK, IAR EWARM, GCC-based IDEs
  • Debuggers – Segger J-Link, ULINKplus, others
  • RTOS – FreeRTOS, uC/OS, Micrium uC/OS, ARM CMSIS-RTOS
  • Stacks – AWS IoT, Azure RTOS

Cortex-M programming is typically done in C and assembly language. Managed languages like .NET Micro can also be used. The ARM CMSIS libraries provide consistent software interfaces across Cortex-M cores.

Example Cortex M Microcontrollers

Here are some example MCUs from major vendors using Cortex-M cores:

  • STM32 – Cortex-M0, M3, M4 cores
  • NXP LPC – Cortex-M0, M3, M4 cores
  • Microchip SAM D/E/L/C – Cortex-M0+, M3, M4
  • TI Tiva-C – Cortex-M4F
  • Silicon Labs EFM32 – Cortex-M0+, M3, M4
  • Nordic nRF52 – Cortex-M4F

There are thousands of MCU models from these and other vendors using Cortex-M cores optimized for different applications.

Conclusion

In summary, ARM Cortex-M microcontrollers provide an excellent combination of performance, power efficiency, and cost for embedded applications. The range of Cortex-M cores scale to meet needs from low-power IoT sensors to advanced motor control. Cortex-M’s large software ecosystem and broad availability from most MCU vendors makes it an extremely popular choice for 32-bit embedded development.

Newsletter Form (#3)

More ARM insights right in your inbox

 


Share This Article
Facebook Twitter Email Copy Link Print
Previous Article Which level programming language do ARM microcontrollers support?
Next Article What is ARM Cortex-M1?
Leave a comment Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

2k Followers Like
3k Followers Follow
10.1k Followers Pin
- Sponsored-
Ad image

You Might Also Like

What is the cache memory in ARM processor?

Cache memory in ARM processors refers to small, fast memory…

6 Min Read

RISC-V Interview Questions

RISC-V is an open standard instruction set architecture (ISA) based…

7 Min Read

ARM Cortex M Configurations with Non-Native Endianness

The ARM Cortex-M processors are designed to operate with little…

9 Min Read

Is X64 Compatible with ARM?

The short answer is no, x64 and ARM CPUs are…

6 Min Read
SoCSoC
  • Looking for Something?
  • Privacy Policy
  • About Us
  • Sitemap
  • Contact Us
Welcome Back!

Sign in to your account