Kelompok kerja Rust Embedded, yang dibentuk untuk mengembangkan teknologi guna meningkatkan kualitas dan keamanan aplikasi, firmware, dan driver untuk sistem tertanam, telah merilis rilis pertama kerangka kerja embedded-hal, yang menyediakan serangkaian API untuk berinteraksi dengan periferal yang umum digunakan dengan mikrokontroler (misalnya, trait untuk bekerja dengan GPIO, UART, SPI, dan I2C). Proyek ini ditulis dalam Rust dan didistribusikan di bawah lisensi Apache 2.0.
Paket ini cocok untuk menulis driver universal di Rust untuk berbagai sensor, layar, aktuator, dan adaptor jaringan yang tidak terikat pada model mikrokontroler tertentu. Ini berarti driver yang dibangun menggunakan embedded_hal dapat digunakan dengan mikrokontroler apa pun yang paketnya menyediakan lapisan HAL. Paket ini juga menyediakan sistem penanganan kesalahan bawaan yang fleksibelβsetiap jenis kesalahan memiliki sifat Kesalahan, yang mendukung alat debugging dan pelacakan kesalahan.
Embedded-hal 1.0 ditandai sebagai rilis stabil pertama proyek ini, yang dapat digunakan untuk membuat driver yang berfungsi. Pekerjaan untuk menstabilkan API telah berlangsung sejak tahun 2020. Selain embedded-hal, rilis stabil paket pendukung embedded-hal-async telah dirilis, yang berisi komponen untuk membuat pengendali asinkron, dan embedded-hal-nb, yang mengimplementasikan model polling untuk manajemen status dalam mode polling. Tersedia juga paket embedded-hal-bus, yang menyediakan perangkat untuk bekerja dengan bus SPI dan I2C; embedded-can, yang mendukung bus CAN (Controller Area Network); dan embedded-io, yang mengimplementasikan trait untuk I/O berorientasi byte yang cocok untuk digunakan dengan UART.
Sumber: opennet.ru
