4 个版本 (破坏性更新)

0.4.0 2023年11月27日
0.3.0 2022年10月31日
0.2.0 2022年7月12日
0.1.0 2022年7月12日

#208 in 硬件支持

MIT/Apache

12KB
211

Rust Litex HAL

为 LiteX 内核设计的 Rust 嵌入式 HAL crate。它包含 GPIO、UART、SPI 和延迟的基本 HAL 特性。

ULX3S demo

更多信息及说明请参考我的博客 这里 和示例项目 在此仓库

该仓库还包含一个示例,您可以使用 litex_sim 在 Verilator 上运行。

编译和模拟示例

编译

以下依赖项是生成外设(也称为外设访问crate或PAC)的 Rust 代码和为它构建示例所必需的。

RISCV 32I 的 Rust 目标

我们的示例使用 VexRiscv,因此为了能够编译它们,您需要为 Rust 添加 riscv32i-unknown-none-elf 目标。

rustup target add riscv32i-unknown-none-elf

Python

用于 LiteX 脚本。

  • ArchLinux
sudo pacman -S python
  • Ubuntu
sudo apt install python3
  • 通用 LiteX 脚本

官方说明.

LiteX

用于构建内核和可选地使用 verilator 模拟它。

官方说明.

在 litex_sim 上模拟

如果您想在 litex_sim 上运行示例,则需要以下依赖项。

RISCV 32I 的交叉编译器

用于编译 VexRiscv 软核。RISCV 64 也可以构建 RISCV 32。

  • ArchLinux
sudo pacman -S riscv64-elf-gcc
  • Ubuntu
sudo apt install gcc-riscv64-unknown-elf

Verilator

用于运行模拟的模拟器。

  • ArchLinux
sudo pacman -S verilator
  • Ubuntu
sudo apt install verilator

模拟

要运行模拟,请执行以下命令

cargo xtask simulate --example counter

您也可以将 --release 传递给模拟命令。

依赖项

~71KB