0.背景描述:
???? 本次实验是在Ubuntu 20.04虚拟机系统上安装riscv-gnu-toolchain gcc交叉编译环境。
???? 需要安装git软件,下载riscv-gnu-toolchain工程。
1.下载riscv-gnu-toolchain
??? github链接:https://github.com/riscv/riscv-gnu-toolchain
??? gitee链接:https://gitee.com/riscv-mcu/riscv-gnu-toolchain?_from=gitee_search
??? 自己的电脑访问github链接下载riscv-gnu-toolchain下载的特别慢,国内的gitee网站下载的很快,推荐使用gitee链接。
??? 使用gitee链接下的riscv-gnu-toolchain工程作为例子进入链接后如下如所示:
???? 红色框中的是riscv-gnu-toolchain仓库的子仓库,需要在克隆了riscv-gnu-toolchain仓库之后自己单独克隆每个子仓库。
??? 0. 下载riscv-gnu-toolchain仓库命令:
git clone --recursive https://gitee.com/riscv-mcu/riscv-gnu-toolchain.git
???? 下载时间比较长请耐心等待。。。。。。loading....................
???? 1. 下载qemu子仓库命令:
git clone https://git.qemu.org/git/qemu.git
???? 2. 下载riscv-binutils子仓库命令:?
git clone https://gitee.com/riscv-mcu/riscv-binutils-gdb.git riscv-binutils
???? 3. 下载riscv-degagnu子仓库命令:?
git clone https://gitee.com/riscv-mcu/riscv-dejagnu.git
???? 4. 下载riscv-gcc子仓库命令:?
git clone https://gitee.com/riscv-mcu/riscv-gcc.git
????? 5. 下载riscv-gdb子仓库命令:
git clone https://gitee.com/riscv-mcu/riscv-binutils-gdb.git riscv-gdb
????? 6. 下载riscv-glibc子仓库命令:
git clone git://sourceware.org/git/glibc.git
????? 7. 下载riscv-newlib子仓库命令:
git clone git://sourceware.org/git/newlib-cygwin.git
???? 8. 参考riscv-gnu-toolchain下的Readme.md安装了很多软件为编译工具链做准备:
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
2. 编译工具链
??? 所有仓库下载完成后对仓库的代码进行编译,也是安装软件的过程,在主仓库目录下执行:
??? 0. 首先执行配置文件,配置生成的编译对应支持的架构以及abi;具体内容可参考传送门
??? /bin/riscv 为安装目录
./configure --prefix=/bin/riscv --with-arch=rv32ima --with-abi=ilp32
???? 1. 编译工程:
sudo make
3. 配置环境变量
??? riscv-gnu-toolchain编译通过后,则安装完成,使用该工具链编译riscv工程需要配置环境变量,打开在Home目录下.bashrc文件,在文件中添加如下命令:
export RISCV=/bin/riscv
export PATH=$PATH:/bin/riscv/bin
??? 文件保存后在终端中执行:
sudo source ~/.bashrc
配置完环境变量后在终端中输入riscv-然后按tab键就可以看到如下riscv工具链命令:
?
|