~ruther/avr-device

ref: 8b1679a89704f5a303a1578b261aa2aee53e1251 avr-device/README.md -rw-r--r-- 1.9 KiB
8b1679a8 — Rahix Add support for atmega328p 5 years ago

#avr-device

Auto-generated wrappers around registers for avr chips.

#Usage

You need to have atdf2svd, svd2rust, form, and rustfmt installed:

rustup component add rustfmt
cargo install form
cargo install svd2rust
git clone https://github.com/Rahix/atdf2svd
cd atdf2svd
cargo install --path .

Next, clone this repo and build the device definitions:

git clone https://github.com/Rahix/avr-device
cd avr-device
make
# You can build for just one specific chip using
make src/devices/<chip>/mod.rs
# I suggest building documentation as well
cargo +nightly doc --features <chip> --open

In your project add the following lines to Cargo.toml:

[dependencies.avr-device]
path = "path/to/avr-device/"
features = ["atmega32u4"]

Via the feature you can select which chip you want the register specifications for. The following list is what is currently supported:

  • atmega328p
  • atmega32u4
  • attiny85

#Internals

avr-device is generated using atdf2svd and svd2rust. The vendor-provided atdf files can be found in vendor/. Later on, we intend to add support for patching the svd files because some information from the provided atdfs is not quite as good as it should be (mainly undescriptive names and missing descriptions).

#License

avr-device is licensed under either of

at your option.

The vendored atdf files are licensed under the Apache License, Version 2.0 (LICENSE-VENDOR).

Do not follow this link