va416xx-rs/va416xx
Robin Mueller 5d1740efea
All checks were successful
Rust/va416xx-rs/pipeline/head This commit looks good
Init Commit
Monorepo for Rust support of VA416XX family of radiation hardened MCUs
2024-06-25 20:01:21 +02:00
..
.github Init Commit 2024-06-25 20:01:21 +02:00
automation Init Commit 2024-06-25 20:01:21 +02:00
src Init Commit 2024-06-25 20:01:21 +02:00
svd Init Commit 2024-06-25 20:01:21 +02:00
.gitignore Init Commit 2024-06-25 20:01:21 +02:00
build.rs Init Commit 2024-06-25 20:01:21 +02:00
Cargo.toml Init Commit 2024-06-25 20:01:21 +02:00
CHANGELOG.md Init Commit 2024-06-25 20:01:21 +02:00
device.x Init Commit 2024-06-25 20:01:21 +02:00
gen-helper.sh Init Commit 2024-06-25 20:01:21 +02:00
LICENSE-APACHE Init Commit 2024-06-25 20:01:21 +02:00
NOTICE Init Commit 2024-06-25 20:01:21 +02:00
README.md Init Commit 2024-06-25 20:01:21 +02:00

Crates.io docs.rs

PAC for the Vorago VA416xx microcontroller family

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

The crate was generated using svd2rust.

Usage

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

[dependencies.va416xx]
version = "<MostRecentVersion>"
features = ["rt"]

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

For full details on the autgenerated API, you can read 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/va416xx-patch.yml file.

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

    svd2rust -i svd/va416xx.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.