De Rust Embedded-werkgroep, opgericht voor de ontwikkeling van technologieƫn ter verbetering van de kwaliteit en veiligheid van toepassingen, firmware en stuurprogramma's voor embedded systemen, heeft de eerste uitgave van het embedded-hal-framework gepresenteerd, dat een set API's biedt voor interactie met perifere apparaten die doorgaans worden gebruikt met microcontrollers (bijvoorbeeld er zijn types beschikbaar voor het werken met GPIO, UART, SPI en I2C). De ontwikkelingen van het project zijn geschreven in de programmeertaal Rust en worden verspreid onder de Apache 2.0-licentie.
Het pakket is geschikt voor het schrijven van universele stuurprogramma's in de programmeertaal Rust voor verschillende sensoren, schermen, aandrijvingen en netwerkadapters, los van specifieke modellen microcontrollers, d.w.z. een op embedded_hal gebaseerd stuurprogramma kan worden gebruikt met elke microcontroller waarvoor het pakket een HAL-laag biedt. Het pakket bevat ook een flexibele ingebouwde foutafhandelingssysteem - voor elk type fout is er een type Error beschikbaar dat hulpmiddelen voor debugging en het traceren van de oorzaken van fouten ondersteunt.
Embedded-hal 1.0 is gemarkeerd als de eerste stabiele uitgave van het project, dat kan worden gebruikt voor het creƫren van operationele stuurprogramma's. Het werk aan de stabilisatie van de API is sinds 2020 gaande. Naast embedded-hal zijn ook stabiele uitgaven van hulppakketten gevormd: embedded-hal-async met componenten voor het creƫren van asynchrone handlers en embedded-hal-nb met een implementatie van polling-statusmodel (polling). Er zijn ook pakketten aangeboden: embedded-hal-bus met hulpmiddelen voor het werken met SPI- en I2C-bussen, embedded-can met ondersteuning voor de CAN-bus (Controller Area Network) en embedded-io met implementaties van types voor byte-gebaseerde input/output, geschikt voor gebruik met UART.
Bron: opennet.ru
