RISC-V软件环境搭建指南
指导虚拟机搭建
RISC-V软件开发环境搭建指南
虚拟机下载与配置
- 下载VirtualBox(版本可以最新)下载地址https://download.virtualbox.org/virtualbox/7.0.6/VirtualBox-7.0.6-155176-Win.exe
1.虚拟机联网
-
第一步:点击管理—》全局设定
第二步:设置网络
第三步:设置NAT网络明细
- CIDR具体设置:打开命令窗口。输入ipconfig
- 复制无线局域网的默认网关,粘贴至CIDR
2.新建虚拟机并配置
1.点击新建
2.配置:按照如图的类型与版本,同时文件夹应该选择空间较大的硬盘(下载后有50G左右),点击下一步
3.分配内存:尽量多分配,选择横向内存绿色与橙色交接处(如图)这样虚拟机运行速度会较快。点击下一步
4.点击创建
5.不用修改,点击下一步
6.选择动态分配,点击下一步
7.文件位置需要选择空间足够的盘,同时虚拟硬盘大小直接选最大就ok(动态分配),点击创建
8.可以看见新虚拟机已经安装了,现在配置系统具体设置与共享文件夹(方便主机和虚拟机之间传输文件)。
1.单击设置->系统->处理器->将处理器数量拉至绿色与橙色交接(选择实际核数)
2.单击网络将连接方式改为桥接网卡
3.点击共享文件夹,点击右方添加共享文件夹路径
4.路径设置(以后传输文件就复制到这个文件夹内,放在易找到的地方),勾选自动挂载
9.点击ok,之后启动虚拟机,会弹出选择启动盘,点击右下角的选择
10.选择注册虚拟机,点击注册,找到下载过的虚拟光盘文件ubuntu-20.04.4-desktop-amd64.iso(这个需要找老师预先下载),选择后点击继续
11.等待一段时间,看见如下标识,点击 Install Ubuntu。
12.选择默认Keyboar layout(English(US)),点击Continue(ps:如果界面显示不完整可以使用Tab键一个一个尝试,下同)
12.此页面,选择Minimal installation,点击continue
13.点击install Now,跳出警告,点击continue
14.跳出时区选择,选择上海作为标准时区
15.用户设置界面,输入名字,密码尽量短小易记(例如123),选择Log in automatically,点击下一步,等待下载好(大约几分钟),点击restart now
3.安装gcc,spike,qemu
1.点击上方“设备”,最下方安装增强功能,点击确定。安装
(若出错,参考这篇文章https://blog.csdn.net/kinzxv/article/details/81237557?ops_request_misc=&request_id=&biz_id=102&utm_term=Oracle%20VM%20VirtualBox%E5%A6%82%E4%BD%95%E5%88%A0%E9%99%A4%E5%A2%9E%E5%BC%BA%E5%8A%9F%E8%83%BD&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-81237557.142v73wechat_v2,201v4add_ask,239v2insert_chatgpt&spm=1018.2226.3001.4187)
2.点击设备,设置拖放共享粘贴板,都选择为双向
3.输入终端
sudo mkdir /mnt/share
sudo mount -t vboxsf XXX(共享文件夹名称 ) /mnt/share
搭建好共享文件夹,(这个是临时的,建立永久的参考:https://blog.csdn.net/SkyGloaming/article/details/120518021?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167833467716800188537249%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=167833467716800188537249&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_click~default-2-120518021-null-null.142v73wechat_v2,201v4add_ask,239v2insert_chatgpt&utm_term=ubuntu%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6%E5%A4%B9&spm=1018.2226.3001.4187
4.下载基本工具链
终端输入:
sudo apt-get install vim git autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev
5.通过网络下载库:
git clone https://gitee.com/mirrors/riscv-gnu-toolchain.git
6.库完成后跳转至库内
编辑其.gitmodules
vim .gitmodules
按键“i”进入文本编辑模式,删除所有并复制下列代码至其中
[submodule "binutils"]
path = binutils
url = https://gitee.com/mirrors/binutils-gdb.git
branch = binutils-2_40-branch
[submodule "gcc"]
path = gcc
url = https://gitee.com/mirrors/gcc.git
branch = releases/gcc-12
[submodule "glibc"]
path = glibc
url = https://gitee.com/mirrors/glibc_source.git
[submodule "dejagnu"]
path = dejagnu
url = https://git.savannah.gnu.org/git/dejagnu.git
branch = dejagnu-1.6.3
[submodule "newlib"]
path = newlib
url = https://gitee.com/mirrors/newlib-cygwin.git
branch = master
[submodule "gdb"]
path = gdb
url = https://gitee.com/mirrors/binutils-gdb.git
branch = gdb-12-branch
[submodule "qemu"]
path = qemu
url = https://gitee.com/mirrors/qemu.git
[submodule "musl"]
path = musl
url = https://gitee.com/mirrors/musl.git
branch = master
[submodule "spike"]
path = spike
url = https://gitee.com/mirrors/riscv-isa-sim.git
branch = master
[submodule "pk"]
path = pk
url = https://github.com/riscv-software-src/riscv-pk.git
branch = master
7.点击按键“esc”后输入“:wq”,保存文件
8.依次输入
git submodule sync
git submodule update --init --recursive
9.等待下载完成(40min)
(ps:qemu文件可能下载失败,可以外部下载后通过共享文件传输进内部)
下载地址:https://download.qemu.org/qemu-7.2.0.tar.xz
10.下载完成后分别编译GCC, QEMU, SPIKE。找到下载的文件夹位置riscv-gnu-toolchain,在同级文件夹打开终端,创建Makefile的内容
touch Makefile
vim Makefile
按键“i”进入文本编辑模式并复制下列代码至其中(注意标红字(-j7)段需要自己修改为自己cpu分配的核数)
TOP_DIR = $(shell pwd)
GCC_DIR = riscv-gnu-toolchain
QEMU_DIR = riscv-gnu-toolchain/qemu
SPIKE_DIR = riscv-gnu-toolchain/spike
###############################################################################################################
spike-modify:
@echo -ne "\nBuild RISCV Spike\n"
@cd $(SPIKE_DIR)/build && make -j7 && make install
spike-all:
@cd $(SPIKE_DIR) && mkdir -p build && mkdir -p install && cd build && ../configure --prefix=$(TOP_DIR)/$(SPIKE_DIR)/install --enable-commitlog
@echo -ne "\nRe-Build RISCV Spike\n"
@cd $(SPIKE_DIR)/build && make -j7 && make install
spike-clean:
@echo -ne "\nRemove RISCV Spike\n"
@rm -rf $(SPIKE_DIR)/build
@rm -rf $(SPIKE_DIR)/install
###############################################################################################################
qemu-modify:
@echo -ne "\nBuild RISCV Qemu\n"
@cd $(QEMU_DIR)/build && make -j7 && make install
qemu-all:
@cd $(QEMU_DIR) && mkdir -p build && mkdir -p install && cd build && ../configure --prefix=$(TOP_DIR)/$(QEMU_DIR)/install
@echo -ne "\nRe-Build RISCV Qemu\n"
@cd $(QEMU_DIR)/build && make -j7 && make install
qemu-clean:
@echo -ne "\nRemove RISCV Qemu\n"
@rm -rf $(QEMU_DIR)/build
@rm -rf $(QEMU_DIR)/install
###############################################################################################################
gcc-modify:
@echo -ne "\nBuild RISCV GCC\n"
@cd $(GCC_DIR)/build && make -j7 && make install
gcc-all:
@cd $(GCC_DIR) && mkdir -p build && mkdir -p install && cd build && ../configure --prefix=$(TOP_DIR)/$(GCC_DIR)/install --with-cmodel=medany --enable-multilib
@echo -ne "\nRe-Build RISCV GCC\n"
@cd $(GCC_DIR)/build && make -j7 && make install
#&& make linux -j7 && make install
gcc-clean:
@echo -ne "\nRemove RISCV GCC\n"
rm -rf $(GCC_DIR)/build
rm -rf $(GCC_DIR)/install
gcc-test:
$(GCC_DIR)/install/bin/riscv64-unknown-elf-gcc -print-multi-lib
###############################################################################################################
all: gcc-all qemu-all spike-all
11.点击按键“esc”后输入“:wq”,保存文件
12.先进入spike目录,使用命令
git checkout 469d9c6907d6df44afce48c422626194c9cd1e3c
sudo apt-get install device-tree-compiler pkg-config libsysfs-dev
13.然后再回到Makefile目录使用make gcc-all, make spike-all, make qemu-all
分别编译。
14.完成搭建
更多推荐
所有评论(0)