使用特定指令集设置 RISC-V 工具链

Setup RISC-V toolchain with specific instruction set

我正在使用某种形式的 RISC-V ISA 开发处理器,目前正在尝试设置工具链。 我当前的处理器设计使用 RV32I 基本指令集,我想为此 ISA 进行编译。但是,如 http://RISCV.org 网站上所写,工具链的默认配置是针对 RV64I ISA 进行编译。

我如何重新配置​​此工具链以生成适用于 RV32I ISA 的二进制文件?

如果您使用的是 gcc 的 RISC-V 端口,您可以使用 -march 标志来限制它将发出哪些指令集和扩展。

示例:

riscv64-unknown-elf-gcc -march=RV32I etc.

编译器名称以 riscv64 开头的事实无关紧要。 x86同理(x86 64位编译器可以通过“-m32”生成32位ia32代码)