有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 皋陶 于 2020-8-28 09:58 编辑
官方教程: https://github.com/freechipsproject/rocket-chip https://github.com/riscv/riscv-tools
1、使用ubuntu,且GCC版本>=4.8
用了一天的centos安装,各种出错,乖乖用官方推荐的Ubuntu。
2、在/home/xj(自己决定)下面执行下列步骤: - $ git clone https://github.com/ucb-bar/rocket-chip.git $ cd rocket-chip $ git submodule update --init
复制代码
3、安装相关工具: - sudo apt-get install autoconf automake autotools-dev curl device-tree-compiler libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev
复制代码
4、 - $ cd rocket-chip/riscv-tools $ git submodule update --init --recursive
复制代码(执行这步的时候,注意如果出现fatal、error等,删除所有文件,回到第2步重来) - $ export RISCV=/home/xj/rocket-chip/riscv-tools/riscv-gnu-toolchain $ export MAKEFLAGS="$MAKEFLAGS -j8"
复制代码
5、执行./build.sh
结果:安装成功,如下图:
6、安装JDK(不安装的话,后面执行make veriolg时候会报错)
使用源安装:
使用下面的命令安装,只需一些时间,它就会下载许多的文件,所及你要确保你的网络环境良好: - sudo add-apt-repository ppa:webupd8team/java
- sudo apt-get update
复制代码(报错: W: GPG error: http://ppa.launchpad.net maverick Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 1C1E55A728CBC482 方法: gpg --keyserver pgpkeys.mit.edu --recv-key 1C1E55A728CBC482 gpg -a --export 1C1E55A728CBC482 | sudo apt-key add - 数字串是错误码。重新执行apt-get update 又遇到问题及解决方案: https://www.jianshu.com/p/486e7f9802ab ) - sudo apt-get install oracle-java8-installer
- sudo apt-get install oracle-java8-set-default
复制代码
修改环境变量:
编辑.bashrc文件 - JAVA_HOME=/usr/lib/jvm/java-8-oracle
- JRE_HOME=$JAVA_HOME/jre
- JAVA_BIN=$JAVA_HOME/bin
- CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
- PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
- export JAVA_HOME JRE_HOME PATH CLASSPATH
复制代码
为了让更改立即生效,请在终端执行如下命令: 输入以下命令验证:
7、测试toolchain - $ cd /home/xj/rocket-chip/ $ echo -e '#include <stdio.h>\n int main(void) { printf("Hello world!\\n"); return 0; }' > hello.c
- $ riscv64-unknown-elf-gcc -o hello hello.c
复制代码
报错: UNKMOWN riscv64-unknown-elf-gcc
原因:安装的工具链没有添加到环境变量,系统找不到
解决方案: 去bashrc里面添加环境变量:
结果:
8、生成verilog相关文件
To generate FPGA- or VLSI-synthesizable Verilog $ cd /home/xj/rocket-chip/vsim $ make verilog (输出的文件目录:vsim/generated-src):
报错:
2018/9/15 重试上述步骤:
执行make verilog CONFIG=DefaultFPGAConfig
结果生成如下文件:
9 生成vcs仿真文件(若未安装,移步VCS安装与破解)
执行:
结果:
现使用gcc版本:
gcc version 5.5.0 20171010 (Ubuntu 5.5.0-12ubuntu1~14.04)
尝试降级gcc:
下面来自网络将4.4换成4.8就好了
1. 查看gcc版本和g++版本
xumingtao@huaserver1:/usr/bin$ ls -l gcc* lrwxrwxrwx 1 root root 7 Aug 30 19:26 gcc -> gcc-4.6 -rwxr-xr-x 1 root root 353216 Apr 16 07:37 gcc-4.6 xumingtao@huaserver1:/usr/bin$ ls -l g++* lrwxrwxrwx 1 root root 7 Mar 14 04:05 g++ -> g++-4.6 -rwxr-xr-x 1 root root 357312 Apr 16 07:36 g++-4.6
2. 安装gcc和g++ 4.4版本
sudo apt-get install gcc-4.4 g++-4.4 g++-4.4-multilib
3. 修改gcc链接
sudo mv gcc gcc.bak sudo ln -s gcc-4.4 gcc xumingtao@huaserver1:/usr/bin$ ls -l gcc* lrwxrwxrwx 1 root root 7 Sep 6 10:43 gcc -> gcc-4.4 -rwxr-xr-x 1 root root 259232 Apr 16 14:20 gcc-4.4 -rwxr-xr-x 1 root root 353216 Apr 16 07:37 gcc-4.6 lrwxrwxrwx 1 root root 7 Aug 30 19:26 gcc.bak -> gcc-4.6
4. 修改g++链接
sudo mv g++ g++.bak sudo ln -s g++-4.4 g++ xumingtao@huaserver1:/usr/bin$ ls -l g++* lrwxrwxrwx 1 root root 7 Sep 6 10:45 g++ -> g++-4.4 -rwxr-xr-x 1 root root 263328 Apr 16 14:18 g++-4.4 -rwxr-xr-x 1 root root 357312 Apr 16 07:36 g++-4.6 lrwxrwxrwx 1 root root 7 Mar 14 04:05 g++.bak -> g++-4.6
5.查看gcc和g++版本号
gcc-v g++-v 结果:无效。 再次尝试:
参考链接: https://github.com/freechipsproject/rocket-chip/issues/1061
将gcc更换为4.8.5. 修改文件/home/xj/rocket-chip/vsim# vim Makefrag 注意其中的Ml(是L的小写,不是字母'AI')
而且,在执行的时候不加-j8
在实现的时候,出现过很多问题,已经不明白原因了。问题如下:
总之,编译成功了。结果如下:
本篇完,感谢关注:RISC-V单片机中文网
|