riscv32{i,im,ima,imc,imac,imafc}-unknown-none-elf

层级:2

针对具有 RV32I、RV32IM、RV32IMC、RV32IMAFC 和 RV32IMAC ISA 的 RISC-V CPU 的裸机目标。

层级:3

针对具有 RV32IMA ISA 的 RISC-V CPU 的裸机目标。

目标维护者

要求

该目标是交叉编译的,并使用静态链接。不需要外部工具链,默认的 rust-lld 链接器可以工作,但您必须指定一个链接器脚本。 riscv-rt crate 提供了一个合适的链接器脚本。 riscv-rust-quickstart 仓库给出了一个 RV32 项目的示例。

构建目标

该目标包含在 Rust 中,可以通过 rustup 安装。

测试

这是一个交叉编译的 no-std 目标,必须在模拟器中运行,或者通过编程将其写入合适的硬件。无法在此目标上运行 Rust 测试套件。

交叉编译工具链和 C 代码

该目标支持 C 代码。如果与 C 或 C++ 互联,您可能需要使用 riscv64-unknown-elf-gcc 作为链接器,而不是 rust-lld