16 个不稳定版本 (6 个破坏性版本)

0.7.0 2024年7月4日
0.5.2 2024年6月16日
0.5.1 2022年6月18日
0.5.0 2021年12月20日
0.2.1 2021年11月13日

#110嵌入式开发

Download history 3/week @ 2024-04-26 1/week @ 2024-06-07 284/week @ 2024-06-14 67/week @ 2024-06-21 98/week @ 2024-06-28 49/week @ 2024-07-05 2/week @ 2024-07-12 96/week @ 2024-07-26 8/week @ 2024-08-02

104 每月下载量
用于 vorago-reb1

Apache-2.0

215KB
4.5K SLoC

Crates.io docs.rs

为 Vorago VA108xx 微控制器系列提供的 HAL

此仓库包含硬件抽象层(HAL),它是基于外设访问 API 的额外硬件抽象。

它是读取设备数据手册并编码在原始 PAC 之上的类型安全层的成果。此 crate 还实现了嵌入式-hal 项目指定的 trait,使其与嵌入式 Rust 生态系统中的各种驱动程序兼容。

与其他 HAL 实现相比,这里只有一个芯片变体可用,因此无需传递芯片变体作为功能。

构建

构建应用程序需要 thumbv6m-none-eabi 跨编译器工具链。如果您尚未安装,可以使用以下命令安装:

rustup target add thumbv6m-none-eabi

之后,您可以使用 cargo build 命令构建 crate 的开发版本。

如果您尚未这样做,建议阅读一些可用的优秀资源来学习 Rust

设置您自己的二进制 crate

如果您有自定义板,您可能对为您的项目设置新的二进制 crate 感兴趣。以下步骤旨在提供完整的列表,以使二进制 crate 能够为您自定义板进行闪存。

嵌入式开发的“Hello World”通常是闪烁 LED。此示例包含在示例文件夹中。

  1. 如果您尚未设置,请设置 Rust 跨编译器。有关更多信息,请参阅构建章节

  2. 使用 cargo init 创建新的二进制 crate

  3. 为确保 cargo build 能够进行交叉编译,建议创建一个 .cargo/config.toml 文件。此仓库中也提供了一个示例 .cargo/config.toml 文件。

  4. memory.x 文件复制到您的项目中。此文件包含链接器所需的信息。

  5. blinky.rs 文件复制到您的二进制crate中的 src/main.rs 文件。

  6. 您需要在您的 Cargo.toml 文件中添加一些依赖项。

     [dependencies]
     cortex-m = "<Compatible Version>"
     cortex-m-rt = "<Compatible Version>"
     panic-halt = "<Compatible Version>"
     embedded-hal = "<Compatible Version>"
    
     [dependencies.va108xx-hal]
     version = "<Most Recent Version>"
     features = ["rt"]
    
  7. 使用 cargo build 构建应用程序。

  8. 不同板子的板级烧录可能有所不同,通常有多种方法。您可以在主要的README文件中找到示例说明。

依赖项

~1.7–2.3MB
~44K SLoC