Il gruppo di lavoro Rust Embedded, creato per sviluppare tecnologie volte a migliorare la qualità e la sicurezza delle applicazioni, del firmware e dei driver per sistemi embedded, ha presentato il primo rilascio del framework embedded-hal, che fornisce un insieme di interfacce software per interagire con le periferiche comunemente utilizzate con i microcontrollori (ad esempio sono forniti dei tipi per lavorare con GPIO, UART, SPI e I2C). I lavori del progetto sono scritti in linguaggio Rust e sono distribuiti con licenza Apache 2.0.
Il pacchetto è adatto per la scrittura di driver generali in linguaggio Rust per vari sensori, schermi, attuatori e adattatori di rete, non legati a modelli specifici di microcontrollori, ovvero un driver creato sulla base di embedded-hal può essere utilizzato con qualsiasi microcontrollore per il quale è fornita una HAL per il pacchetto. Il pacchetto include anche un sistema di gestione degli errori flessibile e integrato: per ogni tipo di errore è previsto un tipo di errore, che supporta strumenti per il debug e il tracciamento delle cause degli errori.
Embedded-hal 1.0 è contrassegnato come il primo rilascio stabile del progetto, utilizzabile per la creazione di driver operativi. Il lavoro di stabilizzazione dell'API è iniziato nel 2020. Oltre a embedded-hal sono stati creati anche rilasci stabili di pacchetti ausiliari come embedded-hal-async con componenti per la creazione di gestori asincroni ed embedded-hal-nb con implementazioni del modello di polling (sondaggio). Sono inoltre proposti pacchetti: embedded-hal-bus con strumenti per lavorare con bus SPI e I2C, embedded-can con supporto per il bus CAN (Controller Area Network) e embedded-io con implementazioni di tipi per l'input/output basato su byte, adatto per l'uso con UART.
Fonte: opennet.ru
