仅针对 RISC-V
目标
要为基于 RISC-V
架构的乐鑫芯片构建 Rust 应用程序,请执行以下步骤:
-
rustup toolchain install nightly --component rust-src
上面的命令下载了 rust 源码。
rust-src
包含了 std 库、core 库和构建配置文件等。 下载rust-src
的原因在于:- 确定性 - 你可以查看 core 和 std 库的内部结构。如果你正在编写需要较高确定性的软件,你可能需要检查正在使用的库。
- 构建自定义目标 -
rustc
使用rust-src
创建新的自定义目标的组件。如果你的目标是 rust 尚不支持的 triple-target,则必须下载rust-src
。
关于自定义目标的更多信息,参见 Embedonomicon 的此章节。
-
设置目标:
-
对于
no_std
(裸机)应用,运行:rustup target add riscv32imc-unknown-none-elf # 针对 ESP32-C2 和 ESP32-C3 rustup target add riscv32imac-unknown-none-elf # 针对 ESP32-C6 和 ESP32-H2
-
对于
std
应用:由于这些目标目前属于 Tier 3,所以不存在通过
rustup
分发的预构建对象,并且与no_std
目标不同,不需要安装任何东西。请参阅 rustc book 一书的 *-esp-idf 章节以找到适配具体设备的目标。riscv32imc-esp-espidf
针对不支持原子指令(A)扩展的 SoC,例如 ESP32-C2 和 ESP32-C3riscv32imac-esp-espidf
针对支持原子指令(A)扩展的 SoC,例如 ESP32-C6、ESP32-H2 和 ESP32-P4
-
-
为了构建
std
项目,还需要安装:
现在你应该就能在乐鑫的 RISC-V
芯片上构建和运行一个项目了。