第一节 实验环境
基于 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