Preskočiť na hlavný obsah

RAL CMSIS ST

Podporované rodiny STM32: G4 · H5 · H7 · L4 · U5

Zrkadlo balíka CMSIS Device Interface od STMicroelectronics (cmsis-device-<family>), ktoré poskytuje hlavičky špecifické pre zariadenie, definície registrov a deklarácie systému/štartu vždy pre jednu rodinu STM32. Používa sa ako git submodul repozitára Bsp-Ral, jedna vetva pre každú rodinu/vydanie STM32.


Prehľad​

Upstream projektSTMicroelectronics/cmsis-device-<family> (napr. cmsis-device-g4)
Úloha v Bsp-RalZávislosť len s hlavičkami — poskytuje hlavičky zariadení pre jednotlivé MCU, ktoré používa RAL_ST a rozpoznávanie define-ov MCU v nadradenom zostavení
LicenciaPozrite License.md, nezmenená oproti upstreamu
Model údržbyZrkadlené z upstreamu pre každú rodinu; lokálne sa neupravuje

⚠️ Tento repozitár doslovne sleduje oficiálne zdrojové kódy CMSIS pre zariadenia od STMicroelectronics. Jeho obsah neupravujte priamo — logika nezávislá od zariadenia patrí namiesto toho do RAL_ST/Port.


Štruktúra vetiev​

Vzor vetvyÚčel
STM32<family> (napr. STM32G4, STM32U5, STM32H7)Vetva rodiny obsahujúca hlavičky zariadení CMSIS pre danú rodinu STM32
STM32<family>_<major>.<minor>.x (napr. STM32G4_1.2.x)Vetva vydania zrkadliaca jedno konkrétne vydanie ST pre danú rodinu

Štruktúra repozitára​

CMSIS_ST
├── Include
│ ├── stm32g4xx.h # Family dispatcher — selects the exact per-part header
│ ├── stm32g411xb.h # Per-part-number device header (register/interrupt definitions)
│ ├── stm32g411xc.h
│ ├── stm32g414xx.h
│ ├── ... # One header per part number in the family
│ └── system_stm32g4xx.h # System/clock initialization declarations
├── Source # System initialization sources (system_stm32g4xx.c, startup files)
└── License.md

(Uvedené názvy súborov zodpovedajú skutočnému obsahu vetvy rodiny STM32G4; ostatné vetvy rodín majú rovnaké rozloženie Include/Source s hlavičkami vlastnej rodiny, napr. stm32u5xx.h.)


Použitie​

Pri použití ako submodul repozitára Bsp-Ral sa tento repozitár nezostavuje ako samostatný projekt CMake — dodáva len hlavičky. CMakeLists.txt repozitára Bsp-Ral pridáva CMSIS_ST/Include k obom svojim knižničným cieľom (HAL_LL_Lib a Ral_Lib):

target_include_directories(Ral_Lib
PUBLIC
...
${CMAKE_CURRENT_SOURCE_DIR}/CMSIS_ST/Include # ST CMSIS Device files
)

Nadradené zostavenie (Build.cmake) navyše počas konfigurácie parsuje dispečerskú hlavičku rodiny (napr. stm32g4xx.h) a extrahuje z nej reťazec #if/#elif defined(STM32...), aby pre cieľové číslo súčiastky určilo presný define zariadenia (napr. STM32G411xB) — takže číslo súčiastky chýbajúce v tejto hlavičke spôsobí zlyhanie konfiguračného kroku CMake s jasnou chybou namiesto lavíny chýb kompilátora v ďalších krokoch.


Licencia​

Distribuované podľa podmienok v License.md, nezmenených oproti upstream balíku CMSIS pre zariadenia od STMicroelectronics.