The Cortex-M33 was developed to address all embedded and IoT markets especially those that require efficient security or digital signal control. TrustZone for Armv8-M is the foundation of security for all embedded applications. The processor has many optional features including DSP, a co-processor interface, memory protection units and a floating-point unit. The optional co-processor interface opens the door for customisation and extensibility to further decrease the power consumption of the system in the presence of frequent compute intensive operations. The Cortex-M33 achieves an optimal blend between real time determinism, energy efficiency, software productivity and system security which opens the door for many new applications and opportunities across diverse markets.
Everything you need to know about TrustZone for Armv8-M is here.
Provide a security foundation, offering isolation to protect valuable IP and data with TrustZone technology.
Extend the processor operation with the tightly coupled co-processor interface.
Simplify the design and software development of digital signal control systems with the integrated digital signal processing (DSP) instructions.
Accelerate single precision floating-point math operations up to 10x over the equivalent integer software library with the optional floating point-unit.
Achieve industry-leading system energy efficiency using the integrated software controlled sleep modes, extensive clock gating, and optional state retention.
Access Cortex-M33 on the Cloud
Prototype software for next generation IoT applications with the full Cortex-M33 feature set with DesignStart FPGA on Cloud.Learn more
|Architecture||Armv8-M Mainline (Harvard)|
|TrustZone||Optional TrustZone for Armv8-M
||Optional DSP/SIMD instructions
Single cycle 16/32-bit MAC
Single cycle dual 16-bit MAC
8/16-bit SIMD arithmetic
|Floating Point Unit
||Optional single precision floating point unit
IEEE 754 compliant
||Optional dedicated co-processor bus interface for up to 8 co-processor units for custom compute
||Optional Memory Protection Unit (MPU) with up to 16 regions per security state
|Interrupts||Non-maskable Interrupt (NMI) and up to 480 physical interrupts with 8 to 256 priority levels
|Wake-up Interrupt Controller
||Optional for waking up the processor from state retention power gating or when all clocks are stopped
||Integrated wait for event (WFE) and wait for interrupt (WFI) instructions with Sleep On Exit functionality.
||Optional JTAG and Serial Wire Debug ports. Up to 8 Breakpoints and 4 Watchpoints.|
|Optional Instruction Trace (ETM), Micro Trace Buffer (MTB), Data Trace (DWT), and Instrumentation Trace (ITM).|
Performance efficiency 4.02 CoreMark/MHz* and 1.50 DMIPS**
|Arm Cortex-M33 - Minimum Configuration (28HPC+, 9-track)
|Dynamic Power (µW/MHz)**
|Floorplan Area (mm²)
*Arm Compiler 6.12
Compiler options for CoreMark:
CFlag options = -fomit-frame-pointer -fno-common -Omax -mthumb --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfloat-abi=hard -mfpu=fp-armv8-sp-d16
LFlag options = -Omax
Compiler options for Dhrystone***:
CFlag options = -fomit-frame-pointer -fno-common -fno-inline -fno-lto -Omax -mthumb --target=arm-arm-none-eabi -mcpu=cortex-m33 -mfloat-abi=hard -mfpu=fp-armv8-sp-d16
LFlag options = -Omax --no_lto
**Measured running Dhrystone benchmark.
***Abides by all of the ground rules laid out in the Dhrystone documentation.
Looking for more information on Arm Cortex-M33?
Get in touch to speak with one of our technical experts.
Cortex-M33 Technical Reference Manual
For system designers, integrators and testers, the Technical Reference Manual (TRM) provides details of the Cortex-M33 processor.Read here
Cortex-M33 Devices Generic User Guide
For application and system-level software developers, the Devices Generic User Guide provides programming information for the Cortex‐M33 processor.Read here
White Paper: Armv8-M Architecture
Download this White Paper to get a technical overview of the Armv8-M architecture and an introduction to TrustZone security technology.Read here
Embedded Development Tools for Cortex-M Series
Arm and its ecosystem partners provide a wide range of tools for embedded software development on Arm Cortex-M processors.Learn more
White Paper: Cortex-M for beginners
This White Paper compares the features of various Cortex-M processors and describes how to select the right processor for the application.Read here
Cortex-M Comparison Table
|Instruction set architecture||Armv6-M||Armv6-M
|Thumb, Thumb-2||Thumb, Thumb-2
|Memory Protection Unit (MPU)||No||Yes (option)||No||Yes (option)
|Yes (option)||Yes (option)||Yes (option)
|Maximum MPU regions||0||8||0||16||8||8||16||16||16|
|Trace (ETM or MTB)||No||MTB (option)||No||MTB (option) or
|ETMv3 (option)||ETMv3 (option)||MTB (option) and/or
MTB (option) and/or
|DSP||No||No||No||No||No||Yes||Yes (option)||Yes (option)||Yes|
|Floating point hardware||No||No||No||No||No||Yes (option SP)||Yes (option SP)||Yes (option SP)||Yes
(option SP + DP)
||Yes (option)||Yes (option)||Yes (option)||Yes (2 x)||Yes||Yes||Yes (2 x)||Yes (2 x)||Yes|
|Built-in Caches||No||No||No||No||No||No||No||Yes (option 2- 16kB||Yes (option 4-64kB|
|I-cache||I-cache, D -cache)|
|Tightly Coupled Memory||No||No||Yes||No||No||No||No||No||Yes
|TrustZone for Armv8-M
||No||No||No||Yes (option)||No||No||Yes (option)||Yes (option)||No|
|Co-processor interface||No||No||No||No||No||No||Yes (option)||Yes (option)||No|
||AHB Lite||AHB Lite, Fast I/O||AHB Lite||AHB5, Fast I/O||AHB Lite, APB||AHB Lite, APB||AHB5||AHB5||AXI4, AHB Lite, APB, TCM
|Wake-up interrupt controller support
|Integrated interrupt controller
|Maximum # external interrupts
|Single cycle multiply
||Yes (option)||Yes (option)||No||Yes||Yes||Yes||Yes||Yes||Yes|
Arm training courses and on-site system-design advisory services enable licensees to efficiently integrate the Cortex-M33 processor into their design to realize maximum system performance with lowest risk and fastest time-to-market.Arm training courses Arm Design Reviews Open a support case
The Cortex-M33 processor can be incorporated into an SoC using a broad range of Arm technology, including System IP and Physical IP. It is fully supported by development tools from Arm and the world’s #1 embedded ecosystem. Related IP includes:
|Suggested answer||Modify SP register and PC register in Cortex-M1 using Keil||0 votes||97 views||3 replies||Latest 7 hours ago by 42Bastian Schick||Answer this|
|Not answered||What is the "Integer divide unit with support for operand-dependent early termination"?||0 votes||42 views||0 replies||Started 2 days ago by jing||Answer this|
|Answered||Binary Semaphore upset by FIQ||0 votes||857 views||20 replies||Latest 4 days ago by 42Bastian Schick||Answer this|
|Not answered||Identifying Generic IP Components on an Access Port||0 votes||63 views||0 replies||Started 5 days ago by Torsten Robitzki||Answer this|
|Not answered||Issue with WatchDog reset De-asserting||0 votes||68 views||0 replies||Started 5 days ago by BAB||Answer this|
|Not answered||Getting processor and cache details||0 votes||126 views||0 replies||Started 7 days ago by karthikeyan.d||Answer this|
|Suggested answer||Modify SP register and PC register in Cortex-M1 using Keil Latest 7 hours ago by 42Bastian Schick||3 replies 97 views|
|Not answered||What is the "Integer divide unit with support for operand-dependent early termination"? Started 2 days ago by jing||0 replies 42 views|
|Answered||Binary Semaphore upset by FIQ Latest 4 days ago by 42Bastian Schick||20 replies 857 views|
|Not answered||Identifying Generic IP Components on an Access Port Started 5 days ago by Torsten Robitzki||0 replies 63 views|
|Not answered||Issue with WatchDog reset De-asserting Started 5 days ago by BAB||0 replies 68 views|
|Not answered||Getting processor and cache details Started 7 days ago by karthikeyan.d||0 replies 126 views|