SoC
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
  • Arm Cortex M3
  • Contact
Reading: What is delivered in a Cortex-M processor?
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 delivered in a Cortex-M processor?

Elijah Erickson
Last updated: September 9, 2023 9:01 am
Elijah Erickson 5 Min Read
Share
SHARE

Cortex-M processors from ARM are 32-bit reduced instruction set computing (RISC) processors optimized for embedded applications. They provide a balance of performance, power efficiency, and cost effectiveness. The key components delivered in a Cortex-M processor are the CPU core, memory interfaces, peripherals, debug/trace capabilities, and power management.

Contents
CPU CoreMemory InterfacesPeripheralsDebug and TracePower ManagementConclusion

CPU Core

The CPU core implements the ARMv6-M, ARMv7-M, or ARMv8-M architecture instruction sets. It contains a register bank, arithmetic logic unit (ALU), multiplier, barrel shifter, instruction pipeline, and memory management unit. Key features include:

  • 3-stage pipeline for efficient execution of instructions
  • Thumb-2 instruction set with both 16-bit and 32-bit instructions
  • Hardware multiply and divide support
  • Single-cycle fast integer math support
  • Low interrupt latency
  • Deterministic interrupt processing times
  • Banked stack pointers for fast, low overhead context switches

The CPU core executes the program code and instructions to carry out the desired functionality and applications. Cortex-M cores range from the ultra-low power Cortex-M0/M0+ to the higher performance Cortex-M4/M7 cores.

Memory Interfaces

Cortex-M processors include various memory interfaces to connect with different types of memory and peripherals:

  • Bus Matrix: Connects the CPU core to memory and peripherals using an AHB-Lite bus.
  • Flash Memory Interface: Provides interface to external flash memory for code storage.
  • SRAM Interface: Interface to fast on-chip or off-chip SRAM for data storage.
  • ROM Interface: Interface to mask ROM for boot code.
  • BIT Interface: Interface to execute code directly from flash memory.
  • ETB Interface: Interface to trace memory buffer.
  • SWD/JTAG Interface: Interface for debug access and flash programming.

These interfaces enable the processor to access necessary code and data storage as well as connect with peripherals and debugging tools.

Peripherals

Cortex-M processors integrate various peripherals to enable connectivity and I/O operations:

  • Timer/Counters: General purpose timer modules with capture, compare, and PWM capabilities.
  • Real-Time Clock (RTC): Clock module to maintain time and date.
  • Watchdog Timer: Resets the system if software fails to periodically service the timer.
  • Nested Vectored Interrupt Controller (NVIC): Handles prioritized interrupt requests.
  • SysTick Timer: 24-bit system tick timer and interrupt.
  • Serial Wire (SW): Serial wire viewer and debugger interface.
  • Serial Peripheral Interface (SPI): Synchronous serial interface for communicating with peripherals.
  • I2C Interface: Two-wire serial interface for sensors and slow peripherals.
  • Universal Synchronous/Asynchronous Receiver/Transmitter (USART): Asynchronous serial interface for communications.
  • Analog-to-Digital Converter (ADC): Converts analog inputs to digital values.

These integrated peripherals enable connectivity, timing, debugging, communications, and analog interfacing without needing external components.

Debug and Trace

Cortex-M processors provide debugging and tracing capabilities to assist with testing and validating software:

  • Debug Access Port (DAP): Debug port that enables halt, stepping, breakpoint, and watchpoint capabilities.
  • Instrumentation Trace Macrocell (ITM): Outputs trace data and printf logging information.
  • Embedded Trace Macrocell (ETM): Instruction and program flow tracing to off-chip trace buffer.
  • Micro Trace Buffer (MTB): On-chip trace buffer that captures trace and profiling data.
  • Data Watchpoint and Trace (DWT): Watchpoint and logging capabilities.
  • Flash Patch and Breakpoint (FPB): In-place code patch and breakpoint setting.

These features enable non-intrusive debugging of software without impacting real-time behavior. Developers can track down bugs, analyze code flow, and optimize performance.

Power Management

Cortex-M processors provide various power saving capabilities:

  • Wait for Interrupt (WFI): Places processor into low power idle state.
  • Wait for Event (WFE): Places processor into low power idle state until event occurs.
  • Sleep and Deep Sleep: Stops CPU clock while retaining main clock and peripherals.
  • Voltage Scaling: Operates CPU and peripherals at lower voltages to save power.
  • Clock Gating: Disables clocks to unused modules to reduce power.

Using these features allows Cortex-M processors to minimize power consumption in embedded battery-powered applications.

Conclusion

In summary, Cortex-M processors deliver a RISC CPU core, flexible memory interfaces, common peripherals, advanced debugging capabilities, and power management. This combination enables Cortex-M processors to meet the performance, power, cost, and ease-of-use requirements of a wide range of embedded applications in the automotive, industrial, consumer electronics, and IoT markets.

Newsletter Form (#3)

More ARM insights right in your inbox

 


Share This Article
Facebook Twitter Email Copy Link Print
Previous Article What is the difference between ARM Cortex-M1 and M3?
Next Article What is the difference between fault mask and Primask?
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

SoCs using Cortex-A76 cores (Kirin, Exynos, Snapdragon, etc)

The Cortex-A76 is ARM's latest high-performance CPU core designed for…

8 Min Read

Does Normal memory, and Device memory really affect the system behavior? Cortex M0/M0+

The simple answer is yes, the type of memory used…

5 Min Read

What is SysTick 24-bit timer in Arm Cortex-M series?

The SysTick timer is a 24-bit down counter built into…

6 Min Read

Cortex-M7 DSP Instructions

The Cortex-M7 processor from ARM introduces DSP instructions to boost…

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

Sign in to your account