第一节 实验环境

基于 WSL2+Unbuntu22.04.2 LTS,在此基础上安装:

1、安装开发运行的依赖包

sudo apt install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev \
	libgmp-dev gawk build-essential bison flex texinfo gperf libtool \
	patchutils bc zlib1g-dev libexpat-dev pkg-config  libglib2.0-dev \
	libpixman-1-dev libsdl2-dev git tmux python3 python3-pip ninja-build

2、Rust 开发环境

curl https://sh.rustup.rs -sSf | sh
cargo install cargo-binutils

3、Qemu 模拟器(RiscV64)

下载并编译针对 RiscV64 架构的模拟器:

git clone https://git.qemu.org/git/qemu.git --depth 1
cd qemu
./configure --target-list=riscv64-softmmu
make -j $(nproc)

编译后得到 build/qemu-system-riscv64,把它的路径加入当前用户环境变量文件 .bashrc,编辑 ~/.bashrc 文件(如果使用的是默认的 bash 终端),在文件的末尾加入几行:

# 请注意,/path/to 是 qemu 的父目录,应调整为实际的安装位置
export PATH=$PATH:/path/to/qemu/build

随后即可在当前终端执行 source ~/.bashrc,或者直接重启一个新的终端,使刚才的环境变量设置生效。

4、RiscV 工具集

实验中需要用到其中的 riscv64-unknown-elf-objdump 等调试工具。

sudo apt install binutils-riscv64-unknown-elf

5、FDT转换工具

用于把设备树的二进制格式 dtb 转换为可读文本的形式 dts。

sudo apt install device-tree-compiler