#svd2rust #pac #efm32pg1b

no-std efm32pg1b-pac

Silicon Labs EFM32PG1B 微控制器的外设访问 API

10 个版本

0.3.0 2024 年 7 月 13 日
0.2.8 2024 年 7 月 11 日
0.2.5 2024 年 4 月 16 日
0.2.2 2024 年 2 月 17 日
0.1.0 2020 年 3 月 7 日

104嵌入式开发

Download history 273/week @ 2024-04-14 1/week @ 2024-04-21 4/week @ 2024-05-19 87/week @ 2024-06-30 211/week @ 2024-07-07 83/week @ 2024-07-14 3/week @ 2024-07-21 3/week @ 2024-07-28

每月 387 次下载

MIT/Apache

4MB
105K SLoC

EFM32PG1B 外设访问包 (PAC)

crates.io docs.rs

适用于 ARM Cortex-M4 微控制器系列 Silicon Labs EFM32PG1B 的低级寄存器映射,使用 Rust 编写。代码自动从供应商提供的 SVD 文件生成,使用 svd2rust v0.33.0

svd2rust -i EFM32PG1B.svd -c svd2rust.toml
rm -rf src
form -i lib.rs -o src/ && rm lib.rs
cargo fmt

此包的目的是为使用 Rust 编写的嵌入式程序或库提供对 EFM32PG1B MCU 完整功能的访问。

使用的 SVD 文件基于 EFM32PG1B CMSIS-Pack 中的所有文件。它们之间的唯一区别是 <name><description><flashSize> 字段值。以下是每个 MCU 的闪存大小

EFM32PG1B 闪存大小
100F128GM32 0x20000
100F128IM32 0x20000
100F256GM32 0x40000
100F256IM32 0x40000
200F128GM32 0x20000
200F128GM48 0x20000
200F128IM32 0x20000
200F256GM32 0x40000
200F256GM48 0x40000
200F256IM32 0x40000
200F256IM48 0x40000

在源 flashSize 文件中使用的 EFM32PG1B.svd 文件中设置的值为最低值(0x20000)。

时钟管理单元所有通道控制寄存器的 ASYNC(异步反射)字段已重命名为 ASYNCREFL,因为 svd2rust 将其转换为 async,这是 Rust 的关键字,导致编译错误。

文档

SVD 文件可在 EFM32PG1B CMSIS-Pack 中找到。

额外的供应商提供的文档

许可

许可协议为

任由您选择。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的任何有意提交以包含在作品中的贡献,都将如上双重许可,不附加任何额外条款或条件。

依赖

~0.6–1.1MB
~16K SLoC