Accessing Hardware in Rust
Summary
The article examines how to design ergonomic and safe Rust APIs for hardware access across I/O spaces, system registers, and memory-mapped I/O. It surveys major hardware-abstraction approaches (svd2rust, tock-registers, safe-mmio with bitflags, and derive-mmio with bitbybit), discusses documentation practices, and provides concrete examples and trade-offs.