#svd #register #map #generator

no-std bin+lib svd2rust

Generate Rust register maps (structs) from SVD files

67 releases

new 0.33.4 Jun 16, 2024
0.33.1 Apr 21, 2024
0.33.0 Mar 31, 2024
0.31.3 Dec 25, 2023
0.1.2 Nov 27, 2016

#206 in Embedded development

Download history 832/week @ 2024-02-25 485/week @ 2024-03-03 479/week @ 2024-03-10 486/week @ 2024-03-17 738/week @ 2024-03-24 859/week @ 2024-03-31 750/week @ 2024-04-07 368/week @ 2024-04-14 622/week @ 2024-04-21 354/week @ 2024-04-28 465/week @ 2024-05-05 485/week @ 2024-05-12 340/week @ 2024-05-19 319/week @ 2024-05-26 97/week @ 2024-06-02 3280/week @ 2024-06-09

4,064 downloads per month
Used in 3 crates


5.5K SLoC

GitHub top language Minimum Supported Rust Version crates.io crates.io Released API docs Crates.io dependency status Continuous integration


Generate Rust register maps (structs) from SVD files

This project is developed and maintained by the Tools team.


Minimum Supported Rust Version (MSRV)

The generated code is guaranteed to compile on stable Rust 1.65.0 and up.

If you encounter compilation errors on any stable version newer than 1.65.0, please open an issue.

Testing Locally

svd2rust-regress is a helper program for regression testing changes against svd2rust. This tool can be used locally to check modifications of svd2rust locally before submitting a PR.

Check out the svd2rust-regress README for information on how to use this tool.


Licensed under either of

at your option.


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 dual licensed as above, without any additional terms or conditions.

Code of Conduct

Contribution to this crate is organized under the terms of the Rust Code of Conduct, the maintainer of this crate, the Tools team, promises to intervene to uphold that code of conduct.


~141K SLoC