Ariane和riscv-gnu-toolchain工具链的安装

搭建过程

  1. riscv-gnu-toolchain的安装

(1)下载更新riscv-gnu-toolchain

$ git clone https://github.com/riscv/riscv-gnu-toolchain

$ cd riscv-gnu-toolchain

手动更新隐藏文件,gitmodule:在gitee找代码上更新。

需要对应的.gitmodule的可以联系我[email protected],不太

$ git submodule update --init –recursive

(2)安装所需的软件包

$ sudo yum install autoconf automake python3 libmpc-devel mpfr-devel gmp-devel gawk  bison flex texinfo patchutils gcc gcc-c++ zlib-devel expat-devel

更新一些必要的软件包如make 需要升级为4.3版本

automake 想要升级到1.16版本

(3)更改环境变量

$ vim ~/.bashrc

在最后添加(/home/Icer/riscv/riscv是我准备安装的位置)

Exprot RISCV=/home/Icer/riscv/riscvPATH=”/home/Icer/riscv/riscv/bin:$ PATH”

然后执行

$ source ~/.bashrc

(4)make

执行

$./configure --prefix=$HOME/riscv$ make

该过程时间约为40分钟

(5)测试

创建hello.c文件,编写随意一个程序,或参考如下:

#include
int main()
{
printf("hello world!\n");
return 0;
}

保存退出后,运行如下命令,编译这个程序:

$ riscv64-unknown-elf-gcc -o hello hello.c

如果此时没有报错,且目录下出现了hello文件,则编译成功。

2、riscv-toolchain的安装

下载更新riscv-tools

$ git clone --recursive https://github.com/riscv/riscv-tools.git

安装依赖包

$ sudo yum install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev libusb-1.0-0-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev device-tree-compiler pkg-config libexpat-dev

添加环境变量

$ vim ~/.bashrc

在最后添加(/home/Icer/riscv/riscv是我准备安装的位置)

PATH=”/home/Icer/riscv/riscv/toolchain/bin:$PATH”

然后执行

$ source ~/.bashrc

安装pk和spike

在文件夹下有响应的脚本文件,分别安装pk和spike两个工具

验证

验证刚刚hello产生的那个文件,执行(建议看一下pk和spike是否安装成功)

$ spike pk hello

 

到这说明了工具链的安装是没有问题了。

3、Cva6的安装和使用

目前成功安装的cva6版本号为v4.2.0,verilator的版本为3.9.24较为稳定,较高版本的verilator似乎不太兼容。

下载更新cva6

在进行git clone时,需要注意版本:

git clone https://github.com/openhwgroup/cva6.git --branch v4.2.0 ./cva6-v4.2.0

后缀在gitee上同样适用

cd cva6-v4.2.0git submodule update --init --recursive

安装依赖

依赖主要有两个:device-tree-compiler和verilator

安装device-tree-compiler使用如下命令:

sudo yum install device-tree-compiler

如果该命令不行,安装如下链接的教程:

Install Device Tree Compiler on CentOS using the Snap Store | Snapcraft

下载3.924版本的verilator:

git clone https://github.com/verilator/verilator --branch v3.924 ./verilator-3.9.24


更新环境变量:

在最后添加:

export VERILATOR_ROOT=/home/ICer/riscv/verilator

PATH="$VERILATOR_ROOT/bin/:$PATH"

不建议使用脚本安装。

安装ariane

make verilate

目前网上比较简单的测试是输入

work-ver/Variane_testharness rv64um-v-divuw

但是会出错。

而我们自行测试是没有问题的。

使用Verilator模式运行一个RISC-V ELF程序:速度是很慢的

$ echo '#include int main(int argc, char const *argv[]) {    printf("Hello Ariane!\\n");    return 0;}' > hello.c
$ spike-dasm < trace_hart_00.dasm > logfile.txt$ vim logfile.txt$ riscv64-unknown-elf-gcc hello.c -o hello.elf
$ make verilate$ work-ver/Variane_testharness $RISCV/riscv64-unknown-elf/bin/pk hello.elf

会出现:

查看运行过程

 Ariane和riscv-gnu-toolchain工具链的安装_第1张图片Ariane和riscv-gnu-toolchain工具链的安装_第2张图片

这两个文件会一直更新代表在运行了

你可能感兴趣的:(gnu,linux,java)