Frameworky
Framework je ještě vyšší vrstva než HAL. Nesnaží se jen zpříjemnit práci s jednou periférií. Často přináší celý způsob, jak psát aplikaci.
Typickým příkladem je
Arduino.
Programátor píše funkce setup() a loop(),
používá digitalWrite(), analogRead() nebo Serial.print()
a spoustu detailů neřeší.
U AVR desek je jádro Arduina veřejně dostupné jako
ArduinoCore-avr.
Obecnější API pro různé Arduino core je v projektu
ArduinoCore-API.
Výhody
- Velmi rychlý start.
- Hodně příkladů a knihoven.
- Dobré pro výuku a menší projekty.
- Kód bývá krátký a čitelný.
Nevýhody
- Méně kontroly nad tím, co se děje pod povrchem.
- Některé knihovny nemusí být dobře napsané.
- Přesné časování nebo nízká spotřeba mohou být složitější.
- Přechod na čistý embedded projekt může překvapit množstvím detailů.
Framework není podvod.
Je to nástroj.
Když potřebujete rychle ověřit nápad,
je skvělý.
Když stavíte zařízení,
které má běžet roky z baterie,
možná budete chtít rozumět i nižším vrstvám.
Podobnou cestou jde i
PlatformIO,
které sjednocuje práci s různými deskami,
frameworky a toolchainy.