riscv-gnu-toolchain 交叉编译器如何构建?

安装依赖工具

shell 复制代码
sudo apt-get install git autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf patchutils bc libexpat-dev libglib2.0-dev ninja-build zlib1g-dev pkg-config libboost-all-dev libtool libssl-dev libpixman-1-dev libpython-dev virtualenv libmount-dev libsdl2-dev

工具链下载

开始下载 riscv-gnu-toolchain

shell 复制代码
git clone https://gitee.com/mirrors/riscv-gnu-toolchain
cd riscv-gnu-toolchain

下载 RISC-V 平台的 C 语言编译器源代码仓库

shell 复制代码
git clone -b riscv-gcc-10.2.0 https://gitee.com/mirrors/riscv-gcc

下载测试框架源代码仓库,即 riscv-dejagnu

shell 复制代码
git clone https://gitee.com/mirrors/riscv-dejagnu

下载 GNU 的 C 库源代码仓库,也就是 riscv-glibc

shell 复制代码
git clone -b riscv-glibc-2.29 https://gitee.com/mirrors/riscv-glibc

下载用于嵌入式的轻量级 C 库源代码仓库,即 riscv-newlib

shell 复制代码
git clone https://gitee.com/mirrors/riscv-newlib

下载二进制工具集合源代码仓库 riscv-binutils

shell 复制代码
git clone -b riscv-binutils-2.35 https://gitee.com/mirrors/riscv-binutils-gdb riscv-binutils

下载 GDB 软件调试器源代码仓库 riscv-gdb

shell 复制代码
git clone -b fsf-gdb-10.1-with-sim https://gitee.com/mirrors/riscv-binutils-gdb riscv-gdb

配置工具链

shell 复制代码
kdir build  #建立build目录
#配置操作,终端一定要切换到build目录下再执行如下指令
../configure --prefix=/opt/riscv/gcc --enable-multilib --target=riscv64-multlib-elf

编译工具链

复制代码
sudo make -j8

这个指令在编译完成后会自动安装到"/opt/riscv/gcc"目录,由于要操作"/opt/riscv/gcc"目录需要超级管理员权限,所以我们要记得加上 sudo

切换到"/opt/riscv/gcc/bin"目录下,执行如下指令

shell 复制代码
riscv64-unknown-elf-gcc -v

看是否有riscv64-unknown-elf-gcc版本信息

相关推荐
wheeldown2 小时前
【Linux】Linux进程状态和僵尸进程:一篇看懂“进程在忙啥”
linux·运维·服务器·进程
半桔3 小时前
【Linux手册】动静态库:从原理到制作
linux·运维·服务器·动态库
z202305083 小时前
Linux之块设备的多队列的实现机制
linux·运维·服务器
云飞云共享云桌面3 小时前
SolidWorks对电脑的硬件配置要求具体有哪些
java·服务器·前端·网络·数据库
塔子终结者3 小时前
网络安全A模块专项练习任务十解析
java·服务器·网络安全
等风来不如迎风去3 小时前
【bash】命令查看当前目录下文件个数
linux·运维·服务器
百思可瑞教育4 小时前
Spring Boot 参数校验全攻略:从基础到进阶
运维·服务器·spring boot·后端·百思可瑞教育·北京百思教育
倔强的石头1064 小时前
Linux服务器暴走,用Netdata+cpolar轻松驯化
linux·运维·服务器
静心观复4 小时前
JVM 的 C1/C2 编译器
服务器·jvm
cpsvps_net5 小时前
容器热更新策略在云服务器零停机部署中的实施标准
运维·服务器