RAL CMSIS
Дзеркало офіційного репозиторію ARM CMSIS (Cortex Microcontroller Software Interface Standard). Використовується як git submodule репозиторію Bsp-Ral і постачає заголовки ядра Cortex-M та DSP, на основі яких збираються Register Abstraction Layer (RAL_ST) і «сирі» драйвери ST HAL/LL.
Огляд
| Вихідний проєкт | ARM-software/CMSIS_5 |
| Роль у Bsp-Ral | Залежність лише із заголовків — надає шляхи include для ядра Cortex-M (CMSIS/Core) та DSP (CMSIS/DSP) |
| Ліцензія | Apache License 2.0 — дивіться LICENSE.txt, без змін відносно оригіналу |
| Модель супроводу | Дзеркалюється з оригіналу; локально не змінюється |
⚠️ Цей репозиторій дослівно відстежує офіційні джерела ARM CMSIS. Не редагуйте його вміст безпосередньо — зміни слід вносити в оригінальний репозиторій або в інтерфейсний рівень
RAL_ST/Port.
Структура гілок
| Гілка | Призначення |
|---|---|
CMSIS | Базова гілка, синхронізована з оригінальним репозиторієм ARM CMSIS |
CMSIS_<major>.<minor>.x | Релізна гілка, що дзеркалює один конкретний офіційний реліз ARM CMSIS (наприклад, CMSIS_5.9.x) |
Структура репозиторію
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
Використання
Цей репозиторій не збирається як окремий проєкт CMake, коли використовується як submodule Bsp-Ral — він лише постачає заголовки. CMakeLists.txt репозиторію Bsp-Ral додає такі шляхи до обох своїх бібліотечних цілей (HAL_LL_Lib і 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
...
)
У проєктах-споживачах жодних змін не потрібно — підключення Ral_Lib або HAL_LL_Lib з батьківського репозиторію Bsp-Ral уже транзитивно відкриває заголовки ядра Cortex-M.
Ліцензія
Поширюється за Apache License 2.0, ідентичною ліцензії оригінального ARM CMSIS. Дивіться LICENSE.txt.