2.5.1.6 The Cortex Microcontroller Software Interface Standard

For a Cortex-M3 processor system, the Cortex Microcontroller Software Interface Standard (CMSIS) defines:

  • a common way to:
    • access peripheral registers
    • define exception vectors
  • the names of:
    • the registers of the core peripherals
    • the core exception vectors
  • a device-independent interface for RTOS kernels, including a debug channel.

The CMSIS includes address definitions and data structures for the core peripherals in the Cortex-M3 processor. It also includes optional interfaces for middleware components comprising a TCP/IP stack and a Flash file system.

CMSIS simplifies software development by enabling the reuse of template code and the combination of CMSIS-compliant software components from various middleware vendors. Software vendors can expand the CMSIS to include their peripheral definitions and access functions for those peripherals.

This document includes the register names defined by the CMSIS, and gives short descriptions of the CMSIS functions that address the processor core and the core peripherals.

Note: This document uses the register short names defined by the CMSIS. In a few cases these differ from the architectural short names that might be used in other documents.