Home

CMSIS

CMSIS, the Cortex Microcontroller Software Interface Standard, is a vendor-independent software framework for Arm Cortex-M microcontrollers. It provides standardized interfaces to core processor features and common peripherals, enabling code portability and reuse across devices from different vendors. CMSIS is maintained by Arm and widely supported by toolchains and MCU vendors.

The core component, CMSIS-Core, offers the core peripheral access layer, including definitions for core registers, the

CMSIS also includes libraries and APIs. CMSIS-DSP provides optimized digital signal processing routines for Cortex-M cores.

In practice, CMSIS reduces porting effort, accelerates development, and promotes code reuse by providing a common

Nested
Vectored
Interrupt
Controller,
SysTick,
and
core
architecture
functions.
CMSIS-SVD
describes
device
registers
in
XML
to
aid
configuration
and
debugging.
CMSIS-Pack
is
a
packaging
format
that
describes
devices,
middleware,
and
tools
for
easy
installation
and
management.
CMSIS-NN
offers
neural
network
kernels
for
efficient
ML
on
constrained
devices.
CMSIS-Driver
defines
a
common
API
for
peripherals
such
as
SPI,
I2C,
UART,
and
USB,
enabling
vendor-agnostic
driver
integration.
For
real-time
operating
systems,
CMSIS-RTOS
defines
a
portable
API
(with
CMSIS-RTOS
and
CMSIS-RTOS2
variants)
so
applications
can
run
on
multiple
RTOS
implementations.
CMSIS-DAP
refers
to
the
debug
interface
standard
used
by
Cortex
targets
for
programming
and
debugging.
foundation
for
core
access,
device
descriptions,
and
middleware.
It
is
commonly
used
with
toolchains
such
as
Keil
MDK,
Arm
Development
Studio,
IAR,
and
GCC-based
environments.