RAL CMSIS
Mirror of ARM's official CMSIS (Cortex Microcontroller Software Interface Standard) repository. It is consumed as a git submodule of Bsp-Ral and supplies the Cortex-M core and DSP headers the Register Abstraction Layer (RAL_ST) and the raw ST HAL/LL drivers are built against.
Overview
| Upstream project | ARM-software/CMSIS_5 |
| Role in Bsp-Ral | Header-only dependency — provides the Cortex-M core (CMSIS/Core) and DSP (CMSIS/DSP) include paths |
| License | Apache License 2.0 — see LICENSE.txt, unchanged from upstream |
| Maintenance model | Mirrored from upstream; not modified locally |
⚠️ This repository tracks ARM's official CMSIS sources verbatim. Do not edit its contents directly — changes belong upstream or in the
RAL_ST/Portinterface layer instead.
Branch Structure
| Branch | Purpose |
|---|---|
CMSIS | Base branch, kept in sync with the upstream ARM CMSIS repository |
CMSIS_<major>.<minor>.x | Release branch mirroring one specific official ARM CMSIS release (e.g. CMSIS_5.9.x) |
Repository Structure
CMSIS
├── CMSIS
│ ├── Core # Cortex-M core peripheral access layer
│ ├── Core_A # Cortex-A core peripheral access layer
│ ├── CoreValidation # Core header validation suite
│ ├── DAP # CoreSight Debug Access Port firmware
│ ├── DoxyGen # Documentation sources
│ ├── Driver # Generic peripheral driver interfaces for middleware
│ ├── DSP # DSP function library (fixed-point and floating-point)
│ ├── Lib # Prebuilt libraries
│ ├── NN # Neural network kernels
│ ├── Pack # CMSIS-Pack delivery format
│ ├── RTOS # CMSIS-RTOS v1 API + RTX reference implementation
│ ├── RTOS2 # CMSIS-RTOS v2 API
│ └── Utilities # Pack generation utilities
├── Device
│ └── ARM # ARM reference device templates
└── LICENSE.txt
Usage
This repository is not built as a standalone CMake project when used as a submodule of Bsp-Ral — it only supplies headers. Bsp-Ral's CMakeLists.txt adds the following paths to both of its library targets (HAL_LL_Lib and Ral_Lib):
target_include_directories(Ral_Lib
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/CMSIS/CMSIS/Core/Include # Cortex core functionality
${CMAKE_CURRENT_SOURCE_DIR}/CMSIS/CMSIS/DSP/Include # DSP functionality
...
)
No changes are required in downstream projects — consuming Ral_Lib or HAL_LL_Lib from the parent Bsp-Ral repository already exposes the Cortex-M core headers transitively.
License
Distributed under the Apache License 2.0, identical to the upstream ARM CMSIS license. See LICENSE.txt.