Die Rust Embedded-Arbeitsgruppe, die gegrĂŒndet wurde, um Technologien zur Verbesserung der QualitĂ€t und Sicherheit von Anwendungen, Firmware und Treibern fĂŒr eingebettete Systeme zu entwickeln, hat die erste Version des embedded-hal-Frameworks veröffentlicht, das eine Reihe von Programmierschnittstellen fĂŒr die Interaktion mit PeripheriegerĂ€ten bereitstellt, die ĂŒblicherweise mit Mikrokontrollern verwendet werden (z. B. werden Typen fĂŒr die Arbeit mit GPIO, UART, SPI und I2C bereitgestellt). Die Arbeiten des Projekts sind in der Programmiersprache Rust verfasst und werden unter der Apache-Lizenz 2.0 vertrieben.
Das Paket eignet sich zur Entwicklung universeller Treiber in der Programmiersprache Rust fĂŒr verschiedene Sensoren, Displays, Antriebe und Netzwerkadapter, die nicht an bestimmte Mikrokontrollermodelle gebunden sind, d. h. ein auf dem embedded_hal basierender Treiber kann mit beliebigen Mikrokontrollern verwendet werden, fĂŒr die im Paket eine HAL-Schicht bereitgestellt wird. Das Paket bietet auĂerdem ein flexibles integriertes Fehlermanagementsystem â fĂŒr jeden Fehlertyp gibt es einen Attributtyp Error, der Werkzeuge fĂŒr Debugging und Nachverfolgung der Ursachen von Fehlern unterstĂŒtzt.
Embedded-hal 1.0 wird als die erste stabile Version des Projekts angesehen, die zur Erstellung funktionsfĂ€higer Treiber verwendet werden kann. Die Arbeiten zur Stabilisierung der API dauern seit 2020 an. Neben embedded-hal wurden auch stabile Versionen von Hilfspaketen wie embedded-hal-async mit Komponenten zur Erstellung asynchroner Handler und embedded-hal-nb mit der Implementierung eines Polling-Zustandsmodells erstellt. ZusĂ€tzlich wurden Pakete wie embedded-hal-bus mit Werkzeugen zur Arbeit mit den Bussen SPI und I2C, embedded-can mit UnterstĂŒtzung fĂŒr den CAN-Bus (Controller Area Network) und embedded-io mit Implementierungen von Typen fĂŒr byteorientierte Ein- und Ausgabe, die fĂŒr UART geeignet sind, angeboten.
Quelle: opennet.ru
