github.com/duskmoon314/aw-pac ↗

Peripheral access API for Allwinner SoCs generated from unofficial SVD file

An animated visualization of duskmoon314/aw-pac's Git history from December 2021 to July 2022, built by 4 contributors. The codebase reached 11,390 lines, mostly Rust. The video runs 29 seconds.

Render your own repo

Turn any GitHub repository into a video like this — free sample in seconds.

Visualize your own →

Open this visualization on its own page →

Language

Rust

Contributors

4

Lines of Code

11,390

From

2021-12-20

To

2022-07-07

Advertisement

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.

Advertisement

Share this video