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

相关推荐
慌糖40 分钟前
Spring Boot音乐服务器项目-查询音乐模块
服务器·spring boot·后端
basketball61642 分钟前
Linux C 进程间高级通信
linux·运维·服务器
是小恐龙啊1 小时前
【测试报告】博客系统(Java+Selenium+Jmeter自动化测试)
运维·服务器
北南京海5 小时前
[Linux]进程地址空间
linux·运维·服务器
yzx9910136 小时前
服务器生成图片
运维·服务器
liulilittle8 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
caolib10 小时前
无需云服务器的内网穿透方案 -- cloudflare tunnel
运维·服务器·内网穿透·tunnel·cloudflared
誰能久伴不乏11 小时前
Linux系统调用概述与实现:深入浅出的解析
linux·运维·服务器
程序员学习随笔11 小时前
Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
linux·运维·服务器
-SGlow-12 小时前
MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
linux·运维·服务器·数据库·mysql