Skip to content

Latest commit

 

History

History
49 lines (35 loc) · 2.33 KB

README.md

File metadata and controls

49 lines (35 loc) · 2.33 KB

ATSAMx7x Rust HAL and PACs

This repository holds the HAL (Hardware Abstraction Layer) and PACs (Peripheral Access Crates) that supports and enable working with Microchip SAM S70/E70/V70/V71-based devices using Rust.

The PACs are generated by SVD files provided by Microchip, publically available at at the Microship Packs Repository.

The HAL is the result of reading the MCU family datasheet, and provide a type-safe layer ovret he raw PACs. Were able, information is stored in the type-layer instead of computed at run-time. The HAL implements traits specified by embedded-hal, making it compatible with various Embedded Rust ecosystem crates.

Evaluation kit examples are available under boards/, and provide examples for most implemented peripherals. At present, examples are available for the SAM V71 Xplained Ultra (boards/atsamv71_xult) and SAM E70 Xplained Pro (boards/atsame70_xpro).

Development

This repository employs a trunk-based development: development occurs on master with short-lived branches that merges into it. When a release is met, for example a v0.3.2 release, a v0.3.x branch is spun of master and the release tagged. If this branch already exists, relevant commits are back-ported instead.

Development is done towards master.

Building

Install the ARMv7-EM target:

$ rustup target add thumbv7em-none-eabihf

and build the examples:

$ cd boards/atsamv71_xult
$ cargo build --examples
$ cd boards/atsame70_xpro
$ cargo build --examples

Flashing the device

Refer to the SAM V71 Xplained Ulta README.

License

All source code in this repository is licensed under either of

Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0) MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT) at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.