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工具链命令:

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐