rocket-chip工具链的编译与使用

3.2 rocket-chip工具链的编译与使用

主要资料来源:
https://github.com/riscv/riscv-tools/tree/2faac3398af956cea9f1cbdc64b0575f807fc6a8

rocket-chip工具链的编译步骤:

1、 先配置好ubuntu的环境,github上的教程都是基于ubuntu的,这就是Linux系统推荐ubuntu的原因。安装以下工具,并确保GCC的版本大于或等于4.8。

$ 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 libexpat1-dev pkg-config

2、 然后进入riscv-tools的目录进行目录更新。因为riscv-tools的内容太多,所以需要二次更新。同时需要设置环境变量,具体的路径按各自需求来完成配置。

$ cd rocket-chip/riscv-tools
$ git submodule update --init --recursive
$ export RISCV=/path/to/install/riscv/toolchain

3、 第三步是编译交叉工具链。我一般是直接使用build.sh的脚本,把全部工具都编译一遍,我生成的是32位的交叉工具链。

$ ./build.sh

4、 第四步是漫长的等待,riscv-tools工具中编译时间最长的是riscv-gnu-toolchain,其他工具的编译时间还好。需要等至全部工具编译成功。

编译交叉工具链时可能遇到的问题:

1、出现“c++11”字样的问题:
这个问题是由于gcc的版本过低引起的,gcc的版本不能低于4.8,可以用gcc –version查看gcc的版本。

2、出现“error: Building GCC requires GMP 4.2+, MPFR 2.4.0+ and MPC 0.8.0+”的字样,这是由于gcc的依赖工具版本不够高,可以尝试以下操作:

cd <riscv-tools>/riscv-gnu-toolchain/riscv-gcc
contrib/download_prerequisites
sudo yum install gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel

3、出现error不用怕,只要根据error的提示,在谷歌/百度中搜相应的关键字即能找到解决的方法,因为多数的error都是因为ubuntu的环境没有配置好而引起的,只要落实第一步的全部工具都安装成功,那么交叉工具链必然能编译成功。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值