新ちゃん 发表于 2020-8-18 16:20:07

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的环境没有配置好而引起的,只要落实第一步的全部工具都安装成功,那么交叉工具链必然能编译成功。

本篇完,感谢关注:RISC-V单片机中文网
页: [1]
查看完整版本: rocket-chip工具链的编译与使用