The ARM Cortex-M23 is a 32-bit processor core designed for embedded and IoT applications requiring efficient security and digital signal processing. It builds on the Cortex-M33 architecture with additional features for enhanced real-time performance, DSP capabilities, and TrustZone security.
Overview
The Cortex-M23 is part of ARM’s Cortex-M processor family which targets low-power embedded devices. It combines a reduced pipeline length with micro-architecture optimizations to deliver deterministic real-time responsiveness. The M23 core has a simplified design focused on power efficiency and small silicon footprint while still providing good performance.
Key features of the Cortex-M23 include:
- 32-bit RISC architecture
- Up to 225 DMIPS performance at 225 MHz
- Memory Protection Unit (MPU) for improved security
- DSP instructions for digital signal processing
- Deterministic response for real-time applications
- Wake-up interrupt controller (WIC)
- ARMv8-M architecture
The M23 is fully compatible with the ARMv6-M and ARMv8-M Instruction Set Architectures (ISAs). It is intended for cost-sensitive and power-constrained embedded applications like home automation, industrial motor control, and IoT edge nodes.
Architecture
The Cortex-M23 has a 32-bit RISC architecture built on the ARMv8-M baseline. It uses a 3-stage in-order pipeline which enables low latency interrupt handling. The core has 13 general purpose 32-bit registers and supports the Thumb-2 instruction set.
Key architectural features include:
- 3-stage pipeline – Fetch, Decode, Execute stages deliver deterministic execution
- Branch prediction – Static branch prediction increases performance
- Memory Protection Unit – Optional MPU for enforcing memory access permissions
- DSP extensions – Extend 32-bit Thumb-2 ISA with DSP capabilities
- Wake-up Interrupt Controller – Fast interrupt handling from sleep/low power modes
- Nested Vectored Interrupt Controller – Prioritized exception handling
- SysTick timer – 24-bit system timer for RTOS timekeeping
The short pipeline enables the Cortex-M23 to offer deterministic interrupt latencies to support real-time applications. The MPU provides memory isolation for enhanced security in complex systems.
Performance
The Cortex-M23 delivers up to 225 DMIPS performance at 225 MHz in a 0.65m2 die area. Exact performance depends on the target frequency, implementation, and process node.
Key performance features:
- Up to 225 DMIPS at 225 MHz
- 0.65mm2 silicon area in a 40nm process
- 1.08 CoreMark/MHz
- Low energy usage: 0.075mW/MHz
- Wake-up from sleep in less than 5us
- Deterministic interrupt handling latency
The power-efficient design enables the Cortex-M23 to be used in always-on applications where low active and sleep power are required. The deterministic real-time performance allows it to reliably handle time-critical tasks.
Security
The Cortex-M23 provides several security capabilities to help protect system integrity and confidentiality.
Key security features include:
- TrustZone – Isolates secure and non-secure states
- MPU – Memory access control for up to 16 regions
- Bus-level security extensions – Optional TrustZone for peripherals
- Secure boot – Authenticated boot from secure flash area
- Debug security – Authentication to enable debug access
- Root of trust – Secure key storage in one-time programmable memory
TrustZone divides system resources into secure and non-secure domains, allowing isolation of trusted software from untrusted components. The MPU adds access permissions to memory regions for tighter control.
Development Tools
The Cortex-M23 can be programmed using ARM’s IDEs and toolchains:
- ARM Keil MDK – Popular IDE and debug tools
- ARM Compiler – C/C++ compiler optimised for ARM cores
- ARM Development Studio 5 – Integrated Development Environment based on Eclipse
- ARM Mbed – Online IDE and operating system for Cortex-M devices
Various 3rd party tools also support Cortex-M23 development including IAR Embedded Workbench, Mentor Embedded Studio, and SEGGER debug probes.
The core is compatible with common RTOSes like FreeRTOS, Azure RTOS, and Zephyr to help accelerate development.
Licensing
The Cortex-M23 core is available directly from ARM with a variety of licensing options:
- Per-project license – For low to medium volume projects
- Annual license – For frequent core usage in multiple projects
- Perpetual license – One time cost for unlimited usage
Chips implementing the Cortex-M23 core can also be licensed from various ARM partners. Overall licensing provides flexible commercial options for integrating M23 into proprietary SoCs and silicon products.
Applications
The Cortex-M23 targets deeply embedded applications with real-time, security, and DSP requirements:
- Industrial motor control
- Home automation
- Consumer appliances
- IoT endpoints
- Personal health/fitness
- Low-end ML inference
Its combination of power efficiency, real-time responsiveness, DSP performance, and TrustZone security make it well suited for a range of embedded use cases.