Přeskočit na hlavní obsah

Přehled BSP

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

Modul BSP poskytuje všechny komponenty nezbytné k inicializaci a podpoře hardwaru mikrokontrolérů STM32 pro danou rodinu MCU.

Každá rodina STM32 je dostupná v samostatné větvi Gitu. Například větev STM32U5 obsahuje všechny komponenty BSP potřebné pro rodinu U5.

Struktura​

  • Modul Linker
    Generuje linker script podle typu MCU zvoleného uživatelem.

  • Modul Startup

    • Volá vstupní bod uživatelské aplikace.
    • Inicializuje paměťové sekce (RAM, .data, .bss atd.).
    • Spouští konstruktory C++, pokud se C++ používá.
  • Modul MCAL
    Poskytuje nízkoúrovňové ovladače a přístup k periferiím MCU.

  • Modul RAL
    Poskytuje jednotný přístup ke knihovnám periferií (abstrahované hlavičkové soubory LL/CMSIS) napříč všemi rodinami MCU.

  • Modul HAL
    Poskytuje vysokoúrovňovou hardwarovou abstrakci pro snazší ovládání periferií.

  • Konfigurace CMake
    Modul BSP nastavuje kompilátor a volby sestavení podle zvolené rodiny MCU.
    Každá větev rodiny obsahuje příslušný toolchain CMake a konfiguraci pro danou rodinu.

Použití​

  • Naklonujte repozitář BSP a přepněte se na větev odpovídající cílové rodině MCU, např.:
git clone <repo_url> bsp_project
cd bsp_project
git checkout STM32U5
  • Potřebné moduly BSP zahrňte do projektu pomocí CMakeLists.txt.
  • Linker script, startup kód, MCAL, RAL a HAL se automaticky nakonfigurují podle zvolené rodiny MCU.

Strategie větvení​

  • Každá rodina STM32 má vlastní větev:
    • STM32U5 – obsahuje BSP pro rodinu U5
    • STM32H5 – obsahuje BSP pro rodinu H5
    • STM32H7 – obsahuje BSP pro rodinu H7
    • STM32G4 – obsahuje BSP pro rodinu G4
    • … a další

Uživatel tak může pracovat se stejným rozhraním BSP a přitom podporovat více rodin MCU prostřednictvím větví.

Poznámky​

  • Nemíchejte soubory z větví různých rodin MCU.
  • Projekt vždy sestavujte z větve odpovídající cílovému MCU.
  • CMake automaticky vybere správný toolchain a příznaky kompilátoru pro zvolenou rodinu.

Licence​

Tento projekt je licencován pod licencí Creative Commons Uveďte původ–Neužívejte komerčně 4.0 Mezinárodní (CC BY-NC 4.0).

Toto dílo můžete volně používat, upravovat a sdílet pro nekomerční účely za předpokladu, že uvedete odpovídající autorství.

Úplné podmínky najdete v LICENSE.md nebo navštivte creativecommons.org/licenses/by-nc/4.0.


Autoři​

Příspěvky jsou vítány! Otevřete prosím pull request.


Podpora rodin​

G4H5H7L4U5
Linker✅✅✅✅✅
Docs✅✅——✅
RAL✅✅✅✅✅
MCAL✅✅✅✅✅