1个不稳定版本

0.1.0 2024年7月1日

#1597嵌入式开发

Apache-2.0

230KB
5.5K SLoC

Crates.io docs.rs

适用于Vorago VA416xx MCU系列的HAL

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

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

构建

构建应用程序需要thumbv7em-none-eabihf交叉编译器工具链。如果您还没有安装它,可以使用以下命令安装:

rustup target add thumbv7em-none-eabihf

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

如果您还没有这样做,建议您阅读一些关于Rust的出色资源来学习Rust

设置自己的二进制crate

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

嵌入式开发的hello world通常是闪烁LED。此示例包含在示例文件夹中。

  1. 如果您还没有设置,请设置您的Rust交叉编译器。更多详细信息请参阅构建章节

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

  3. 为了确保cargo build交叉编译,建议创建一个.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.va416xx-hal]
     version = "<Most Recent Version>"
     features = ["rt"]
    
  7. 使用cargo build构建应用程序

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

依赖项

~3.5MB
~74K SLoC