我克隆了riscv-tools(https://github.com/riscv/riscv-tools)和riscv-gnu-toolchain(https://github.com/riscv/riscv-gnu-toolchain),并且能够使Spike,pk和交叉编译器(riscv64-unknown-elf-gcc)正常工作。我想扩展它并能够添加自定义说明,并找到了本教程:https://nitish2112.github.io/post/adding-instruction-riscv/,但是它有点过时了。当前的RISCV GNU工具链存储库没有riscv-binutils-gdb目录,但是有riscv-binutils目录和riscv-gdb目录,因此我在添加指令时尝试使用这些目录中的文件。
<<sudo ./configure --prefix=/home/me/riscv64
sudo make newlib -j $(nproc)
sudo make linux -j $(nproc)
export PATH="$PATH:/home/me/riscv64/bin"
export RISCV="/home/me/riscv64"
然后我通过运行对其进行了测试
riscv64-unknown-elf-gcc -o mod mod.c
使用与教程中相同的mod.c文件,除了我在asm内联后添加了分号以使其通过编译器。然后,我从汇编器收到以下错误:
mod.c:7: Error: unrecognized opcode `mod a5,a5,a4'
我做错什么了吗?谢谢您的帮助和时间。
我克隆了riscv-tools(https://github.com/riscv/riscv-tools)和riscv-gnu-toolchain(https://github.com/riscv/riscv-gnu-toolchain)并能够获得Spike,pk和交叉编译器(riscv64 -...