The CMSIS consists of the following components:
- CMSIS-CORE: provides an interface to Cortex-M0, Cortex-M3, Cortex-M4, SC000, and SC300 processors and peripheral registers
- CMSIS-DSP: DSP library with over 60 functions in fixed-point (fractional q7, q15, q31) and single precision floating-point (32-bit) implementation
- CMSIS-RTOS API: standardized programming interface for real-time operating systems for thread control, resource, and time management
- CMSIS-SVD: System View Description XML files that contain the programmer's view of a complete microcontroller system including peripherals
The standard is fully scalable to ensure that it is suitable for all Cortex-M processor series microcontrollers. That is everything from the smallest 8 KB device up to devices with sophisticated communication peripherals such as Ethernet or USB. (The memory requirement for the Core Peripheral Functions is less than 1 KB code, less than 10 Bytes RAM).