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版本信息

相关推荐
爱装代码的小瓶子13 分钟前
muduo库 --socket的封装
服务器·开发语言·php
m0_7373025825 分钟前
OpenClaw:不止于对话,能真正动手的开源 AI 智能体
服务器
云飞云共享云桌面32 分钟前
东莞制造业研发降本方案:1 台云主机承载 10 人 SolidWorks,钣金操作秒响应
linux·运维·服务器·安全·电脑
修炼室39 分钟前
告别天天变动的随机端口!基于 Tailscale 子网路由(Subnet Router)外网原生直连学院服务器及安装踩坑指南
运维·服务器
华纳云IDC服务商43 分钟前
高防服务器清洗流量导致丢包怎么办?
运维·服务器·网络
一直跑1 小时前
codex服务器运用(服务器上不了外网chatgpt)
运维·服务器·chatgpt
云服务器代理商1 小时前
腾讯云香港服务器选择指南:延迟优势、配置价格与开通思路
服务器·云计算·腾讯云·腾讯云服务器·香港节点·腾讯云国际·腾讯云海外
草莓熊Lotso1 小时前
【Linux网络】深入理解 TCP 协议(一):报头设计与可靠性基石
linux·运维·服务器·c语言·网络·c++·tcp/ip
YYYing.1 小时前
【C++大型项目之高性能服务器框架 (一) 】一切物语的开始:日志系统&配置系统篇
服务器·高并发·高性能·c/c++·后端框架
加油码1 小时前
Linux 信号详解:从 Ctrl+C 到进程异常退出,真正理解信号机制
linux·服务器·c++