基于QEMU的RISC-V架构linux系统开发(一)——RISC-V交叉编译器的安装

文章详细介绍了如何安装和配置RISC-V64位交叉编译器,包括基于Ubuntu20.4的必备库文件安装,通过git获取riscv-gnu-toolchain源码,配置不同的架构和ABI,以及编译和安装过程。区分了裸机和Linux系统的gcc编译方式,并强调了配置环境变量的重要性。
摘要由CSDN通过智能技术生成

基于RISC-V交叉编译器包括32bit和64bit两种类型,其中每种类型又包括裸机版本(newlib)和动态链接库版本(linux glibc)。不同类型、版本的gcc的安装仅在配置文件上存在差异,具体安装流程(64bit linux的版本为例,安装流程参考riscv-gnu-toolchain的说明文档)如下所示:

1.首先下载riscv-gnu-toolchain,可以在线使用git克隆,也可到github官网下载risc-v的工具链软件。

https://github.com/riscv-collab/riscv-gnu-toolchain/tags

图1 可通过gnu工具链软件源码进行安装

本节使用git进行在线安装,命令如下所示:

git clone GitHub - riscv-collab/riscv-gnu-toolchain: GNU toolchain for RISC-V, including GCC

图2 riscv-gnu-toolchain在线git下载

 

2.然后安装riscv-gnu-toolchain的必备库文件(基于ubuntu20.4),如下所示:

sudo apt-get install autoconf automake autotools-dev curl python3 libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev ninja-build

图3 安装riscv-gnu-toolchain的必备库文件

3.configure配置riscv-gnu-toolchain的配置文件,针对32bit、64bit的芯片的配置表如下所示:

表 1 配置参数设置(32bit和64bit)

芯片

类型

--with-arch(架构类型)

--with-abi(芯片ABI

32bit

rv32gc

ilp32 (32-bit soft-float), ilp32d (32-bit hard-float), ilp32f (32-bit with single-precision in registers and double in memory, niche use only)

64bit

rv64gc

lp64 (64-bit soft-float), lp64d (64-bit hard-float), lp64f (64-bit with single-precision in registers and double in memory, niche use only)

以64bit的硬件浮点芯片为例,配置命令如下所示:

./configure --prefix=/opt/pkg/riscv --with-arch=rv64gc --with-abi=lp64d

图4 64bit的硬件浮点配置

4.进行gcc的编译(其中裸机和linuxgcc编译方式存在差异,注意:保持联网,需要在线下载gcc源码,且编译时间较长,以linux系统gcc编译为例)。

make (裸机)

make linuxlinux系统)

图5 编译生成linux模式的交叉编译器

 

注意:裸机开发适用于单机嵌入式软件如RTOSlinux系统适用于带操作系统软件(基于glibc);

5.进入riscv-gcc的安装目录/opt/pkg/riscv,安装完成的gcc文件目录及在安装目录bin文件中查看gcc的版本的命令,分别如下所示:

图6 交叉编译器安装完成及版本号查询

 

6.配置环境变量,然后在任意路径查找riscv64-gcc的版本号,命令如下所示:

export PATH=/opt/pkg/riscv/bin:$PATH

riscv64-unknown-linux-gnu-gcc --version

图7 配置环境变量,获得riscv-gcc的版本号

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少林and叔叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值