SoC
  • Home
  • Arm
  • Arm Cortex M0/M0+
  • Arm Cortex M4
  • Arm Cortex M3
  • Contact
Reading: What is arm Cortex-M23?
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-M23?

Elijah Erickson
Last updated: September 7, 2023 12:14 pm
Elijah Erickson 5 Min Read
Share
SHARE

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.

Contents
OverviewArchitecturePerformanceSecurityDevelopment ToolsLicensingApplications

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.

Newsletter Form (#3)

More ARM insights right in your inbox

 


Share This Article
Facebook Twitter Email Copy Link Print
Previous Article What is arm Cortex-M7?
Next Article What is arm Cortex-M33?
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 Memory Protection Unit (MPU) in ARM Cortex?

The Memory Protection Unit (MPU) in ARM Cortex processors provides…

7 Min Read

ARM Cortex M4 Watchdog

The watchdog timer module in ARM Cortex M4 microcontrollers provides…

7 Min Read

Choosing an FPGA Board for Cortex-M1 DesignStart

When looking to create a custom system-on-chip (SoC) with the…

5 Min Read

Bootloader Code Example

A bootloader is a small piece of code that runs…

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

Sign in to your account