duskmoon314/aw-pac ↗
Created Jul 13, 2022 · View the duskmoon314/aw-pac repository page
Peripheral access API for Allwinner SoCs generated from unofficial SVD file
Want this for your repo?
Render a free sample of any GitHub repo in seconds.
Contributors
4
Lines of Code
11,390
From
Dec 20, 2021
To
Jul 7, 2022
About duskmoon314/aw-pac
aw-pac is a collection of Rust peripheral access crates for Allwinner System-on-Chip devices, generated automatically from unofficial SVD (System View Description) files. The project provides low-level hardware abstraction for embedded development, enabling direct access to device registers and peripherals through type-safe Rust APIs. Currently, it supports three SoC families: the D1 series (D1H, D1S, F133), the R528/T113, and the XR806, each published as separate crates on crates.io.
The crates are generated using svd2rust, a tool that converts SVD specifications into Rust peripheral access abstractions. This approach allows developers working with Allwinner SoCs to write embedded Rust code with compile-time safety guarantees while maintaining compatibility with the official hardware documentation. Since the SVD files are unofficial community-created specifications, this project fills a gap where official vendor support may be limited or unavailable.
The project is actively maintained by a single developer and welcomes contributions under dual Apache 2.0 or MIT licensing. It acknowledges earlier work on SVD file extraction that helped bootstrap the D1 platform support, demonstrating how collaborative reverse engineering efforts can benefit the broader embedded Rust ecosystem.