BSP
BSP znamená Board Support Package.
Je to vrstva, která nepopisuje jen samotný čip,
ale celou konkrétní desku.
Mikrokontrolér totiž sám o sobě neví, kam výrobce desky připojil LED, tlačítko, displej, senzor nebo krystal. Tohle bývá právě úkol BSP.
Co BSP typicky obsahuje
BSP může obsahovat například:
- nastavení hodin pro konkrétní desku,
- názvy pinů jako
LED1neboBUTTON_USER, - inicializaci externích součástek,
- ovladač displeje nebo paměti,
- příklady pro konkrétní vývojový kit.
Proč je BSP užitečné
Bez BSP byste v aplikaci často psali konkrétní čísla pinů. S BSP může aplikace říct:
board_led_on(LED_STATUS);
Až uvnitř BSP je schované,
že stavová LED je třeba na portu B, pinu 7.
To je užitečné hlavně ve chvíli, kdy stejný program chcete spustit na více deskách. U jedné desky je LED na jiném pinu než u druhé, ale aplikace může zůstat stejná.
Na co si dát pozor
BSP se váže na konkrétní hardware.
Když změníte desku,
pravděpodobně budete měnit i BSP.
Není to chyba.
Je to místo, kam tyto rozdíly patří.
U STM32 najdete příklady BSP třeba ve
STM32CubeH7 BSP driverech.
Podobnou roli plní i popisy podporovaných desek v
Zephyru
nebo platformní dokumentace v
NuttX.