本篇文章主要提供toolchain的源码下载和自己在安装的过程中遇到的一些问题和解决方案。
riscv-toolchain源码文件巨大,在网络不好的情况下大概率下载失败,这里提供源码下载链接:https://pan.baidu.com/s/1KTckAhgQTcqStdgAK8yJ8g
提取码:p8my
详细的安装过程请参考:https://github.com/riscv/riscv-gnu-toolchain;https://github.com/riscv/riscv-tools。其他很多博主也有相关教程,这里不再赘述。
需要重点注意的点:
1. 编译tools之前必须编译交叉编译工具,即riscv-toolchain,否则会提示:gcc: error: unrecognized argument in option ‘-mcmodel=medany’ gcc: note: valid arguments to ‘-mcmodel=’ are: 32 kernel large medium small; did you mean ‘medium’?
make: *** [file.o] Error 1
如需详细了解报错原因请参考:https://github.com/riscv/riscv-tools/issues/292
2. 在开始全部的编译工作之前,需指定RISCV的目录路径,必须将riscv/bin写入PATH里面,否则会提示:exec: -I: invalid option
或者unrecognized option '--64'。
注意:PATH里面不能包含.,去掉所有包含.的路径描述。可用echo $PATH查看PATH的值。
如需详细了解报错原因请参考:https://github.com/riscv/riscv-gnu-toolchain/issues/446
3. 在编译toolchain的过程中我遇到了一个很神奇的bug,具体描述大概是一个xx命名冲突,和system.h相关的,具体描述忘记了,如果你要遇到类似的bug,请用sudo make进行编译,即可解决。