#svd #avr #micro-controller #svd2rust #safe-abstraction #atdf

bin+lib atdf2svd

将 Atmel 的 ATDF 文件转换为 SVD 的工具

9 个版本

0.4.0 2024 年 5 月 4 日
0.3.3 2022 年 10 月 23 日
0.3.2 2022 年 9 月 20 日
0.3.1 2021 年 8 月 1 日
0.1.2 2020 年 3 月 18 日

#357 in 嵌入式开发

Download history 165/week @ 2024-05-03 5/week @ 2024-05-10 9/week @ 2024-05-17 4/week @ 2024-05-24 3/week @ 2024-05-31 7/week @ 2024-06-07 5/week @ 2024-06-14 56/week @ 2024-07-26 8/week @ 2024-08-02

64 每月下载次数

GPL-3.0-only

45KB
1K SLoC

atdf2svd crates.io 页面 CI

将 Atmel 的 atdf 文件转换为 svd 的转换工具。该工具的主要用途是与 svd2rust 一起使用,以创建用于寄存器访问的安全抽象。

使用方法

USAGE:
    atdf2svd <atdf_path> [svd_path]

安装

使用以下命令安装 atdf2svd

$ cargo install -f atdf2svd

注意

自动更改

转换后运行两个 "后处理器"(patch.rs

  • signals_to_port_fields: 对所有 PORTx 外设的寄存器进行修补,包含每个现有引脚的字段。引脚 ID 来自端口实例的 <signals /> 标签。
  • remove_unsafe_cpu_regs: 删除 SREG(状态寄存器) 和 SP(栈指针) 寄存器,因为它们不应安全访问。

手动更改

遗憾的是,提供的 atdf 文件往往不完全正确或包含不具描述性的名称。一个主要问题是枚举值通常只是命名为 VAL_0xXX。我建议使用由 stm32-rs 项目编写的修补工具修补生成的 svd 文件。

许可证

atdf2svd 采用 GPL v3 许可证。有关更多信息,请参阅 LICENSEhttps://gnu.ac.cn/licenses/gpl-3.0.en.html

依赖项

~5–16MB
~155K SLoC