CMSIS is a vendor-independent hardware abstraction layer for the Cortex-M processor series.

The ARM Cortex Microcontroller Software Interface Standard (CMSIS) is a vendor-independent hardware abstraction layer for the Cortex-M processor series with the following components:

  • CMSIS-CORE: API for the processor core, peripherals and the instruction intrinsics.
  • CMSIS-Driver: Standard API for Ethernet, I2C, MCI, NAND Flash, NOR Flash, SPI, USART, USB etc.
  • CMSIS-DSP: SIMD optimized DSP Library for fix-point (q7, q15, q31) and single precision floating-point (32-bit) data types.
  • CMSIS-RTOS: Common API for Real-Time operating systems.
  • CMSIS-Pack: XML based package description of the user and device relevant parts of a file collection that includes source, header, and library files, documentation, Flash programming algorithms, source code templates, and example projects.
  • CMSIS-SVD: XML based description of the peripherals for debuggers.
  • CMSIS-DAP: A USB to Debug Access Port protocol and reference firmware implementation. Can be used by pyOCD.