Home

ARMv8M

ARMv8-M is a version of the ARMv8 architecture designed for ARM Cortex-M microcontrollers. It extends the ARMv7-M lineage with improved security, enhanced interrupt handling, and optional performance features suited to energy-constrained embedded systems.

A key feature of ARMv8-M is TrustZone-M, a hardware security extension that enables software to run in

ARMv8-M defines two profile levels: ARMv8-M Baseline and ARMv8-M Mainline. The Baseline profile is implemented by

Software support and ecosystem include standard ARM toolchains and middleware such as CMSIS, GCC, LLVM, and

distinct
secure
and
non-secure
worlds.
This
supports
secure
boot,
protected
cryptographic
operations,
and
safeguarded
peripherals.
The
architecture
also
provides
memory
protection
through
a
memory
protection
unit
(MPU)
and
mechanisms
to
define
secure
boundaries,
including
non-secure
callable
(NSC)
functions
that
expose
selected
secure
routines
to
non-secure
code.
ARMv8-M
retains
the
32-bit
Thumb-2
instruction
set
and
a
straightforward
exception
model
designed
for
real-time
operation.
The
nested
vectored
interrupt
controller
(NVIC)
remains
a
central
component
for
efficient
interrupt
handling,
with
features
intended
to
reduce
latency
and
improve
power
management
in
low-power
devices.
Cortex-M23
and
emphasizes
secure/non-secure
separation
with
a
compact
feature
set.
The
Mainline
profile,
implemented
by
Cortex-M33,
adds
a
broader
feature
set
including
optional
Floating-Point
Unit
(FPU)
and
Digital
Signal
Processing
(DSP)
capabilities,
larger
MPUs,
and
more
extensive
security
features.
Arm
Compiler,
along
with
support
from
popular
real-time
operating
systems.
ARMv8-M
has
been
widely
adopted
in
IoT
devices,
automotive
sensors,
and
consumer
electronics
where
security,
deterministic
behavior,
and
low
power
are
priorities.