6 个版本
0.8.1 | 2021 年 9 月 23 日 |
---|---|
0.8.0 | 2021 年 4 月 24 日 |
0.7.0 | 2019 年 10 月 11 日 |
0.6.2 | 2019 年 2 月 26 日 |
#392 in 嵌入式开发
每月 60 次下载
在 lpc8xx-hal 中使用
3.5MB
95K SLoC
LPC82x PAC

简介
这是一个非常底层的库。大多数用户应使用 lpc82x-hal 代替。
用于 ARM Cortex-M0+ 微控制器的 NXP LPC82x 系列的底层寄存器映射,使用 Rust 编写。代码自动从 ARM 提供的 SVD 文件 中生成,使用 svd2rust。
本包的目的是为用 Rust 编写的嵌入式程序或库提供对 LPC82x MCU 完全功能的访问。
请也查看 lpc82x-hal,这是一个用于与 LPC82x 微控制器接口的高级包。
用法
将此添加到您的 [dependencies]
部分以将 lpc82x-pac
包含到您的 Cargo 项目中
lpc82x-pac = "0.7"
此包包含一个可选的 rt
功能,可以通过添加以下内容来激活
lpc82x-pac = { version = "0.7", features = ["rt"] }
rt
功能包括 cortex-m-rt 包并提供可覆盖的中断处理程序。有关详细信息,请参阅 svd2rust 文档。
文档
有关 API 的具体信息,请参阅 API 参考文档。
本crate中的所有代码都是通过svd2rust自动生成的,因此请查看svd2rust文档以获取有关API如何工作的更多通用信息。
此外,LPC82x用户手册包含了如何与微控制器一起工作的详细文档。
状态
该crate已完整且正在积极维护,但并非所有部分都已测试。迄今为止的经验表明,原始的SVD文件存在许多问题。很可能还存在未发现的错误。如果您发现任何问题,请创建一个issue。已知的issue在GitHub上跟踪。
我们从SVD文件继承的另一个问题是,一些寄存器和字段名称非常奇怪。这些名称似乎是从可读文档生成的,这意味着它们有时读起来像被截断的句子。
目前,我们没有保证API的稳定性。这意味着我们保留在升级时对API进行更改的权利,这可能会破坏现有的程序。
更新程序
仓库包含一个更新脚本,可用于重新生成源代码。此脚本更新所有必需的工具(svd2rust和rustfmt),下载SVD文件,对其应用各种补丁,然后重新生成代码。
应用于SVD文件的补丁相对较小,仅用于修复文件中的各种问题,否则将阻止代码生成或导致生成不正确的代码。
许可证
此项目是开源软件,根据零条款BSD许可证(简称0BSD)许可。这基本上意味着您可以用任何方式使用该软件,没有任何限制,但您不能让作者对问题负责。
有关详细信息,请参阅LICENSE。
依赖关系
~0.6–0.8MB
~11K SLoC