文章目录 1、下载2、编译1. 依赖安装2. 编译 3、运行 1、下载 $ sudo apt-get install git wget build-essential $ git clone https://GitHu
$ sudo apt-get install git wget build-essential $ git clone https://GitHub.com/riscv-collab/riscv-gnu-toolchain$ git checkout 2023.06.02
注意上面 clone 的仓库,我们称其为构建脚本仓库,其并不包含 GCc 等工具源码,这些源码以 git 的 submodule 的形式作为子仓库的内容发布,所以需要继续更新子仓库。
$ git submodule update --init --recursiveSubmodule 'binutils' (Https://sourceware.org/git/binutils-gdb.git) reGIStered for path 'binutils'Submodule 'dejagnu' (https://git.savannah.gnu.org/git/dejagnu.git) registered for path 'dejagnu'Submodule 'gcc' (https://gcc.gnu.org/git/gcc.git) registered for path 'gcc'Submodule 'gdb' (https://sourceware.org/git/binutils-gdb.git) registered for path 'gdb'Submodule 'glibc' (https://sourceware.org/git/glibc.git) registered for path制作交叉工具链 riscv-gnu-toolchain
注意:
使用上诉命令通过 submodule 方式下载困难的话,可以手工通过下载并切换到指定的分支。如 binutils 可通过以下方式下载并切换到指定的分支,地址和分支可以在根目录下的.gitignore
文件中获取。
$ git clone https://sourceware.org/git/binutils-gdb.git binutils$ git checkout binutils-2_40-branch
$ sudo apt-get install -y autoconf automake autotools-dev curl python3 python3-pip libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev ninja-build git cmake libglib2.0-dev
riscv-gnu-toolchain 支持通过不同的编译命令和参数,生成不同版本的 toolchain。
分别支持:
make
命令$ ./configure --prefix=${PWD}/riscv-newlib$ make -j8
编译完成后,在 ${PWD}/riscv-newlib/bin
目录下生成 riscv64-unknown-elf-gcc
make linx
命令$ ./configure --prefix=${PWD}/riscv64-linux$ make linux -j8
默认编译的版本为 RV64GC (64-bit)
, 需要编译 RV32GC (32bit)
版本可以使用以下命令编译
$ ./configure --prefix=${PWD}/riscv32-linux --with-arch=rv32gc --with-abi=ilp32d$ make linux -j8
a/m/f/d/g
。make musl
命令$ ./configure --prefix=${PWD}/riscv64-musl$ make musl -j8
$ ./configure --prefix=${PWD}/riscv --enable-multilib
然后使用 make
或 make linux
或 make musl
编译对应的版本。
注:
musl 只支持 64bit 系统。
更多的配置信息可以通过 ./configure --help
查看。
测试 toolchain 是否安装成功
$ riscv64-unknown-linux-gnu-gcc -v
来源地址:https://blog.csdn.net/flyingcys/article/details/132568863
--结束END--
本文标题: RISC-V交叉工具链riscv-gnu-toolchain编译
本文链接: https://lsjlt.com/news/382618.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0