| Device capabilitiy defines | Defines to configure and check device capabilities |
| Version Control | Version #define symbols for CMSIS release specific C/C++ source code |
| Compiler Control | Compiler agnostic #define symbols for generic C/C++ source code |
| Peripheral Access | Naming conventions and optional features for accessing peripherals |
| System and Clock Configuration | Functions for system and clock setup available in system_device.c |
| Interrupts and Exceptions (NVIC) | Functions to access the Nested Vector Interrupt Controller (NVIC) |
| Core Register Access | Functions to access the Cortex-M core registers |
| Intrinsic Functions for CPU Instructions | Functions that generate specific Cortex-M CPU Instructions |
| Intrinsic Functions for SIMD Instructions | Access to dedicated SIMD instructions available on Armv7E-M (Cortex-M4/M7), Armv8-M Mainline (Cortex-M33/M35P), and Armv8.1-M (Cortex-M55/M85) |
| FPU Functions | Functions that relate to the Floating-Point Arithmetic Unit |
| MVE Functions | Functions that relate to the MVE (Cortex-M Vector Extensions) Unit |
| ►MPU Functions for Armv6-M/v7-M | Functions that relate to the Memory Protection Unit |
| MPU Functions for Armv8-M | Functions that relate to the Memory Protection Unit |
| ►PMU Functions for Armv8.1-M | Functions that relate to the Performance Monitoring Unit |
| Systick Timer (SYSTICK) | Initialize and start the SysTick timer |
| Debug Access | Debug Access to the Instrumented Trace Macrocell (ITM) |
| ►TrustZone for Armv8-M/v8.1-M | Functions that related to optional Armv8-M and Armv8.1-M security extension |
| ►Cache Functions (Level-1) | Functions for level-1 instruction and data cache |
| Deprecated Symbols | List of deprecated symbols |