Leksykon IT › Programowanie › Warstwa abstrakcji sprzętu (HAL)

Warstwa abstrakcji sprzętu (HAL)

Programowanie Svenska → Zaktualizowano: 2026-11-02

Cienka warstwa oprogramowania, która chowa adresy rejestrów i różnice między układami za funkcjami typu uart_write().

Bez HAL-a aplikacja grzebie bezpośrednio w rejestrach peryferiów i każda zmiana mikrokontrolera oznacza jej przepisanie. Z HAL-em wywołuje interfejs, a zmienia się tylko warstwa pod spodem. Windows NT zbudowano tak w 1993 roku — hal.dll oddzielał jądro od szczegółów płyty głównej, dzięki czemu ten sam system działał na x86, MIPS i Alpha. Android ma moduły HAL dla kamer i czujników.

W systemach wbudowanych jest to albo biblioteka producenta, jak HAL STM32Cube od ST, albo społeczności, jak rustowy embedded-hal, w którym sterownik czujnika pisze się względem traitów, a nie konkretnego układu. Odwieczna skarga brzmi, że ogólność kosztuje: wywołanie HAL przełączające pin potrafi zająć pięćdziesiąt cykli, gdy zapis do rejestru zajmuje jeden. Wiele projektów kończy więc z HAL-em wszędzie poza tym jednym przerwaniem, na którym to ma znaczenie.

← Wróć do leksykonu