riscv虚拟环境搭建基于Ubuntu20服务器-创新互联

概述

搭建riscv虚拟环境可以理解为拥有两个功能就可以了:
其一是编译,即将c语言代码(目前好像只支持c语言)编译成能在riscv指令架构下运行的汇编语言和机器语言。
其二是riscv的虚拟,模拟一个riscv板,运行riscv指令,这里使用qemu。

创新互联公司主营皋兰网站建设的网络公司,主营网站建设方案,成都APP应用开发,皋兰h5小程序定制开发搭建,皋兰网站营销推广欢迎皋兰等地区企业咨询

本人环境
在这里插入图片描述

前期准备

面对一个刚刚装好的Ubuntu环境,首先当然是更新

sudo apt update
sudo apt upgrade
安装编译环境

本人这里是安装sifive的交叉编译工具链
sifive官网:https://www.sifive.com/software
可根据自己操作系统找 如图 比如我的是Ubuntu
在这里插入图片描述
安装包你可以先下下来再传到你的Ubuntu,但是云服务器有大小限制,这里就直接在命令行里下载了
为了看起来方便 我先建立了一个riscv文件夹 方法

mkdir riscv
cd riscv

然后从官网下载

wget https://static.dev.sifive.com/dev-tools/freedom-tools/v2020.12/riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz?_ga=2.5551280.2018998367.1669891766-2030521401.1668046281

下载好了就可以解压

tar zxvf riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14.tar.gz\?_ga\=2.5551280.2018998367.1669891766-2030521401.1668046281

解压之后就多出来一个文件夹,可以把安装包删掉了,rm + 名称
为方便以后,可以把文件夹名称改短一点 ,mv 原名称 现名
我改成了toolchain

mv riscv64-unknown-elf-toolchain-10.2.0-2020.12.8-x86_64-linux-ubuntu14/ toolchain

再进入toolchain文件夹之后,可以看到有 如图
在这里插入图片描述
进入bin文件夹中,可以看到有很编译工具了 如图
在这里插入图片描述
这时候 我们只需设置一下环境变量 就可以直接使用这些工具了
设置环境变量
可以先进入在bin文件夹查看路径
比如我的
在这里插入图片描述
然后复制路径

vim ~/.bashrc

打开bashrc 将光标移动到最后面 按一下 “i”键 变成insert模式 添加内容如下 根据自己的路径改一下 格式是 export PATH=路径:$PATH

export PATH=/home/lighthouse/riscv/toolchain/bin:$PATH

按esc 然后 :wq 退出 要是不大会 可以自行搜索vim使用方法
然后再输入以下指令 使环境变量生效

source ~/.bashrc

可以回到riscv文件夹路径下 使用riscv64-unknown-elf-gcc --version验证是否设置成功
如图 则表示成功
在这里插入图片描述

安装qemu

下载网址:https://download.qemu.org/
我现在的最新版本是7.1
在这里插入图片描述
可以右击复制链接地址 再用wget方法下载 比如我的命令(注意回到riscv文件路径,养成好习惯)
wget https://download.qemu.org/qemu-7.1.0.tar.xz
在这里插入图片描述
同样下载好了之后解压
顺带删除安装包、改名
注意根据你的实际名称操作~

tar xvf qemu-7.1.0.tar.xz
rm qemu-7.1.0.tar.xz 
mv qemu-7.1.0/ qemu

完成后进入qemu文件夹 最后只需要安装编译qemu就好了

./configure

在执行的过程会碰到一些依赖包没有报错的情况 依次下载就好了
比如 (可以自行百度安装方法)
在这里插入图片描述
以下是我安装的一些安装包以及方法

sudo apt-get install ninja-build
sudo apt-get install libglib2.0-dev
sudo apt-get install libpixman-1-dev

最后进入build文件夹
执行

sudo make
sudo make install

这个过程有一些些久 耐心等待就好了
结束之后 可以回到根目录 通过qemu-riscv64 --version验证
在这里插入图片描述
如下表示成功 接下来 我用一个简单的C语言程序 验证环境是否搭建完成

验证

在根目录下 新建一个文件夹 workplace 并新建一个hello.c文件

mkdir workplace 
cd workplace 
touch hello.c
vim hello.c

将代码放入

#includeint main(void){printf("hello\n");
}            

分别使用进行riscv64-unknown-elf-gccqemu-riscv64编译和执行,结果如下
在这里插入图片描述

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前题目:riscv虚拟环境搭建基于Ubuntu20服务器-创新互联
分享URL:http://ybzwz.com/article/pppho.html