简介
RISC-V GCC交叉编译工具根据环境分为好多种。
编译器的获取可以通过源码自己编译,也可以直接下载编译好的文件。以下是在Ubuntu环境通过源码的方式安装交叉编译器的操作方法,可以参考源码里提供的说明文件。
源码下载
通过git从远程仓库拉取代码,包括子模块代码
git clone https://github.com/riscv/riscv-gnu-toolchain
git submodule init
git submodule update --recursive
子模块内容包括:
编译环境
安装编译所必须的依赖工具
sudo apt-get install 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 ninja-build
编译
完整的编译工作分为两步:先执行配置,再进行编译;目标平台不通使用的编译命令不一样。
配置
创建build目录,在build目录下执行配置命令:
../configure --prefix="target path" --with-arch="arch" --with-abi="abi"
arch: rv32imc rv64imc
abi: ilp32 ilp32f ilp32d lp64 lp64f lp64d
编译Newlib版本
c运行库使用newlib
编译命令:make
编译Linux版本
c运行库使用glibc
编译命令:make linux
编译multilab版本
修改配置命令,增加--enable-multilib
生成的编译器同时支持编译32位和64位。
嵌入式交叉编译器
针对裸机程序,提供有编译好的可执行文件。