Skip to main content

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 projectARM-software/CMSIS_5
Role in Bsp-RalHeader-only dependency — provides the Cortex-M core (CMSIS/Core) and DSP (CMSIS/DSP) include paths
LicenseApache License 2.0 — see LICENSE.txt, unchanged from upstream
Maintenance modelMirrored 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/Port interface layer instead.


Branch Structure​

BranchPurpose
CMSISBase branch, kept in sync with the upstream ARM CMSIS repository
CMSIS_<major>.<minor>.xRelease 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.