github.com/duskmoon314/aw-pac

Peripheral access API for Allwinner SoCs generated from unofficial SVD file

Open this visualization on its own page →

Contributors

4

Lines of Code

11,390

From

2021-12-20

To

2022-07-07

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.

Share this video