RAL CMSIS ST
Zrcadlo balíčku CMSIS Device Interface od STMicroelectronics (cmsis-device-<family>), který poskytuje hlavičkové soubory specifické pro dané zařízení, definice registrů a deklarace systému/startupu vždy pro jednu rodinu STM32. Používá se jako git submodul repozitáře Bsp-Ral, jedna větev pro každou rodinu/vydání STM32.
Přehled
| Upstream projekt | STMicroelectronics/cmsis-device-<family> (např. cmsis-device-g4) |
| Role v Bsp-Ral | Závislost pouze na hlavičkových souborech — poskytuje hlavičkové soubory zařízení pro jednotlivá MCU, které využívá RAL_ST a překlad define MCU v nadřazeném sestavení |
| Licence | Viz License.md, beze změn oproti upstreamu |
| Model údržby | Zrcadleno z upstreamu pro každou rodinu; lokálně se neupravuje |
⚠️ Tento repozitář doslovně sleduje oficiální zdrojové kódy CMSIS device od STMicroelectronics. Jeho obsah přímo neupravujte — logika nezávislá na zařízení patří místo toho do
RAL_ST/Port.
Struktura větví
| Vzor větve | Účel |
|---|---|
STM32<family> (např. STM32G4, STM32U5, STM32H7) | Větev rodiny obsahující hlavičkové soubory CMSIS device pro danou rodinu STM32 |
STM32<family>_<major>.<minor>.x (např. STM32G4_1.2.x) | Release větev odrážející jedno konkrétní vydání ST pro danou rodinu |
Struktura repozitáře
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
(Názvy souborů výše odpovídají skutečnému obsahu větve rodiny STM32G4; ostatní větve rodin sledují stejné rozložení Include/Source s hlavičkovými soubory vlastní rodiny, např. stm32u5xx.h.)
Použití
Při použití jako submodul Bsp-Ral se tento repozitář nesestavuje jako samostatný projekt CMake — dodává pouze hlavičkové soubory. CMakeLists.txt repozitáře Bsp-Ral přidává CMSIS_ST/Include do obou svých knihovních targetů (HAL_LL_Lib a Ral_Lib):
target_include_directories(Ral_Lib
PUBLIC
...
${CMAKE_CURRENT_SOURCE_DIR}/CMSIS_ST/Include # ST CMSIS Device files
)
Nadřazené sestavení (Build.cmake) navíc při konfiguraci parsuje dispatcher hlavičkový soubor rodiny (např. stm32g4xx.h) a extrahuje z něj řetězec #if/#elif defined(STM32...), aby pro cílové označení součástky určilo přesný define zařízení (např. STM32G411xB) — takže součástka chybějící v tomto hlavičkovém souboru způsobí selhání konfigurace CMake s jasnou chybou, a ne změť navazujících chyb kompilátoru.
Licence
Distribuováno za podmínek uvedených v License.md, beze změn oproti upstream balíčku CMSIS device od STMicroelectronics.