安装 RISC-V 交叉编译工具链
在本课程中,我们需要使用 RISC-V 交叉编译工具链来编译 RISC-V 程序。在本节中,我们将介绍安装 RISC-V 交叉编译工具链的两种方法。
为什么不能使用通过 APT 安装的 riscv64-linux-gnu 工具链?
这个交叉编译工具链在编译 64 位程序时没有问题,但在某些机型上编译 32 位程序时会出现问题,因此我们需要自己编译交叉编译工具链。
Vlab 虚拟机已部署此工具
我们已经请求 Vlab 管理员在虚拟机上安装了满足实验要求的 riscv64-unknown-linux-gnu 工具链,位于 /opt/vlab/riscv64 目录下,使用 Vlab 虚拟机完成实验的同学可以跳过此安装步骤。
安装教程
我们提供手动编译安装和解压安装两种安装方法供同学们使用。
手动编译安装
在这部分教程中,你将从工程源码开始一步步编译出所需的交叉编译工具链。
安装依赖
在安装交叉编译工具链之前,我们需要安装一些依赖:
$ sudo apt install autoconf automake autotools-dev curl python3 python3-pip
$ sudo apt install libmpc-dev libmpfr-dev libgmp-dev gawk
$ sudo apt install build-essential bison flex texinfo gperf libtool patchutils
$ sudo apt install bc zlib1g-dev libexpat-dev ninja-build git cmake libglib2.0-dev
下载源码
我们可以通过以下命令来下载 RISC-V 交叉编译工具链的源码:
同样地,你也可以点击此处获取源码压缩包(大小约为 6.8 GB)。
编译安装
进入源码目录,创建 build 文件夹并进入:
我们需要编译的是支持乘除法扩展的 riscv64-unknown-linux-gnu 工具链,因此需要执行以下命令进行配置:
之后执行编译。这个过程会非常漫长,强烈建议使用多线程加速编译:
编译完成后,就可以在 /opt/riscv64/bin 目录下找到交叉编译工具链了。
添加环境变量并测试
我们可以通过以下命令将交叉编译工具链添加到环境变量中:
之后,我们就可以通过以下命令来查看交叉编译工具链的版本:
若输出了编译器的版本信息,则说明已经安装成功。
一键解压安装
我们也提供已经编译好的、适用于 x86_64 架构的工具链压缩包,以便大家一键安装。
下载压缩包
你可以点击此处下载交叉编译工具链压缩包。
解压安装
进入压缩包的下载目录,执行如下命令:
解压完成后,你将会找到位于 /opt 目录下的 riscv64 目录。你可以在根目录下使用如下命令清楚下载的压缩包:
添加环境变量并测试
我们可以通过以下命令将交叉编译工具链添加到环境变量中:
之后,我们就可以通过以下命令来查看交叉编译工具链的版本:
若输出了编译器的版本信息,则说明已经安装成功。