The CMSIS-Core (Cortex-M) component implements the basic run-time system for Arm Cortex-M devices and gives the user access to the processor core and the device peripherals.
In detail it defines:
SystemInit()
function is essential for configuring the clock system of the device.The following sections provide details about the CMSIS-Core (Cortex-M):
CMSIS-Core is actively maintained in the CMSIS 6 GitHub repository and released as part of the CMSIS Software Pack.
The following directories and files relevant to CMSIS-Core (Cortex-M) are present in the ARM::CMSIS Pack:
Directory | Content |
---|---|
📂 CMSIS | CMSIS Base software components folder |
┣ 📂 Documentation/html/Core | A local copy of this CMSIS-Core (M) documentation |
┗ 📂 Core | CMSIS-Core files |
┣ 📂 Include | CMSIS-Core Processor Files. |
┗ 📂 m-profile | Header files specific for Arm M-Profile. See CMSIS-Core Compiler Files and CMSIS-Core Architecture Feature Files. |
┗ 📂 Template | Device Template Files |
CMSIS-Core supports the complete range of Cortex-M processors.
Following Cortex-M Device Generic User Guides contain the programmers model and detailed information about the core peripherals:
CMSIS-Core also supports the following Cortex-M processor variants:
Armv8-M and Armv8.1-M Architecture
Armv8-M introduces two profiles baseline (for power and area constrained applications) and mainline (full-featured with optional SIMD, floating-point, and co-processor extensions). Both Armv8-M profiles and Armv8.1-M are supported by CMSIS.
The Armv8-M architecture is described in the Armv8-M Architecture Reference Manual.
The Armv8.1-M architecture further extends Armv8-M with Helium (the so called M-Profile Vector Extension (MVE)), as well as further instruction set and debug extensions.
More information about Armv8.1-M architecture is available under Arm Helium technology.
The CMSIS-Core Files delivered with this CMSIS-Core release have been tested and verified with the following toolchains: