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的可以联系我1415505333@qq.com,不太

$ 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<stdio.h>
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 <stdio.h>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

会出现:

查看运行过程

 

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值