va108xx-rs/va108xx
Robin Mueller ef1c854cac
Some checks are pending
Rust/va108xx-rs/pipeline/head Build started...
fix READMEs
2024-06-16 19:08:51 +02:00
..
.github New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
automation New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
src Set of fixes 2024-06-16 18:56:45 +02:00
svd New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
.gitignore New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
build.rs New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
Cargo.toml Set of fixes 2024-06-16 18:56:45 +02:00
CHANGELOG.md prepare releases for HAL, BSP, PAC 2024-06-16 19:03:46 +02:00
device.x New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
gen-helper.sh New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
LICENSE-APACHE New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
NOTICE New VA108xx Rust workspace structure + dependency updates 2024-06-16 16:16:45 +02:00
README.md fix READMEs 2024-06-16 19:08:51 +02:00

Crates.io docs.rs

PAC for the Vorago VA108xx microcontroller family

This repository contains the Peripheral Access Crate (PAC) for Voragos VA108xx series of Cortex-M0 based microcontrollers.

The crate was generated using svd2rust.

If you are interested in higher-level abstractions, it is recommended you visit the va108xx-hal HAL crate and the vorago-reb1 BSP crate which build on top of this PAC.

Usage

To use this crate, add this to your Cargo.toml

[dependencies.va108xx]
version = "<Most Recent Version>"
features = ["rt"]

The rt feature is optional and recommended. It brings in support for cortex-m-rt.

For full details on the autgenerated API, please see the svd2rust documentation.

Regenerating the PAC

If you want to re-generate the PAC, for example if the register file va416xx.svd changes or the svd2rust version is updated, you can do some using the following these steps:

  1. Make sure all necessary tools are installed: svd2rust, svdtools and form. You can install all tools with cargo:

    cargo install --locked svd2rust svdtools form
    
  2. Patch the vendor-provided SVD file svd/va41xx.svd. This can be done using svdtools in conjunction with the svd/va108xx-patch.yml file.

    svdtools patch svd/va108xx-patch.yml
    
  3. Use svd2rust to generate the Rust library

    svd2rust -i svd/va108xx.svd.patched
    
  4. Use the form tool to split the generated lib.rs into individual modules.

    form -i lib.rs -o src/
    

The gen-helper.sh automates steps 2-4.