Přeskočit na hlavní obsah

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 LED1 nebo BUTTON_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.