网站需要多少钱,陕西省高速集团建设网站,广州天河发布公众号,设计配色网站文章目录 1、下载2、编译1. 依赖安装2. 编译 3、运行 1、下载
$ sudo apt-get install git wget build-essential
$ git clone https://github.com/riscv-collab/riscv-gnu-toolchain
$ git checkout 2023.06.02注意上面 clone 的仓库#xff0c;我们称其为构建脚本仓库我们称其为构建脚本仓库其并不包含 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-branch2、编译
1. 依赖安装
$ 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-dev2. 编译
riscv-gnu-toolchain 支持通过不同的编译命令和参数生成不同版本的 toolchain。 分别支持
32bit 和 64bitNewlib、glibc 和 musl 版本
编译 Newlib 版本使用 make 命令
$ ./configure --prefix${PWD}/riscv-newlib
$ make -j8编译完成后在 ${PWD}/riscv-newlib/bin 目录下生成 riscv64-unknown-elf-gcc
编译 glibc 版本使用 make linx 命令
$ ./configure --prefix${PWD}/riscv64-linux
$ make linux -j8默认编译的版本为 RV64GC (64-bit), 需要编译 RV32GC (32bit) 版本可以使用以下命令编译
$ ./configure --prefix${PWD}/riscv32-linux --with-archrv32gc --with-abiilp32d
$ make linux -j8支持的架构是rv32i或rv64i加上标准扩展 a/m/f/d/g。支持的ABI是ilp3232位软浮点ilp32d32位硬浮点ilp32f32位在寄存器中使用单精度在内存中使用双精度仅限特定用途lp64lp64flp64d相同但使用64位长和指针。
编译 musl libc 版本使用 make musl 命令
$ ./configure --prefix${PWD}/riscv64-musl
$ make musl -j8同时编译支持 32bit 和 64bit 版本
$ ./configure --prefix${PWD}/riscv --enable-multilib然后使用 make 或 make linux 或 make musl 编译对应的版本。 注 musl 只支持 64bit 系统。 更多的配置信息可以通过 ./configure --help 查看。
3、运行
测试 toolchain 是否安装成功
$ riscv64-unknown-linux-gnu-gcc -v