#nxp #arm #svd2rust

无需 std lpc82x-pac

NXP LPC82x 系列ARM Cortex-M0+微控制器的底层寄存器映射

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 嵌入式开发

Download history 12/week @ 2024-03-27 19/week @ 2024-04-03 3/week @ 2024-06-26 57/week @ 2024-07-03

每月 60 次下载
lpc8xx-hal 中使用

0BSD 许可证

3.5MB
95K SLoC

LPC82x PAC crates.io Documentation Build Status

简介

这是一个非常底层的库。大多数用户应使用 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进行更改的权利,这可能会破坏现有的程序。

更新程序

仓库包含一个更新脚本,可用于重新生成源代码。此脚本更新所有必需的工具(svd2rustrustfmt),下载SVD文件,对其应用各种补丁,然后重新生成代码。

应用于SVD文件的补丁相对较小,仅用于修复文件中的各种问题,否则将阻止代码生成或导致生成不正确的代码。

许可证

此项目是开源软件,根据零条款BSD许可证(简称0BSD)许可。这基本上意味着您可以用任何方式使用该软件,没有任何限制,但您不能让作者对问题负责。

有关详细信息,请参阅LICENSE

Braun Embedded支持

依赖关系

~0.6–0.8MB
~11K SLoC