从ARM官方获取自己想要的gcc交叉编译工具链接(Arm GNU Toolchain),并在Ubuntu系统中进行配置

发布于:2025-02-16 ⋅ 阅读:(28) ⋅ 点赞:(0)

前言

本文是博文 https://blog.csdn.net/wenhao_ir/article/details/145547974 的分支博文。

在本博文中我们完成gcc交叉编译工具gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz的下载、配置、测试。

下载自己想要的gcc交叉编译工具的源码

目标文件的名字及说明

目标是下载到文件:gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz
即下面截图中红框中的文件:
在这里插入图片描述
名字gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz中的eabihf的意思为:

  1. eabi

    • 代表 “Embedded Application Binary Interface”,即嵌入式应用程序二进制接口。
    • 这是一种为嵌入式系统定义的应用程序接口,旨在标准化不同嵌入式设备之间的软件接口,确保不同编译器和操作系统之间的兼容性。
  2. hf

    • 代表 “hard float”,即硬件浮点运算。
    • 这表示目标系统使用硬件支持的浮点单元(FPU)进行浮点运算,而不是使用软件模拟浮点运算。硬浮点运算通常会比软浮点运算快,因为硬件浮点单元可以直接执行浮点操作,而不需要依赖于软件来模拟。

因此,eabihf 共同表明该工具链是为支持 嵌入式应用程序二进制接口(EABI)的目标架构,且该架构使用 硬件浮点运算(HF)的交叉编译工具链。

如果你的目标平台具有硬件浮点单元(比如许多基于ARM的嵌入式处理器),使用带有 hf 的工具链会使得浮点运算更加高效。如果目标平台不支持硬件浮点运算,通常会使用没有 hf 的工具链(例如 eabi)。

名字gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz中的gnu的意思详见我的另一篇博文 https://blog.csdn.net/wenhao_ir/article/details/145650191

ARM官网下载自己想要的gcc交叉编译工具的源码

进入ARM官网:
https://developer.arm.com/
在这里插入图片描述
搜索框中搜索“Arm GNU Toolchain”
在这里插入图片描述
点击下图红框中的搜索结果:
在这里插入图片描述
点击下图中的“Download Arm GNU Toolchain”,进入“Arm GNU Toolchain”的下载列表页:
在这里插入图片描述
下面这个页面的链接为:
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
在这里插入图片描述
上面这个页面的链接为:
https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
在这个页面中往下拉找寻文件gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz

但是不幸的事情发生了,下载列表中最早的Arm GNU Toolchain只提供到2022年的版本了,2022年之前的都没有了,如下图所示:
在这里插入图片描述
那就只有用搜索引擎搜索目标文件gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz了。

搜索引擎搜索下载自己想要的gcc交叉编译工具的源码

百度中搜索gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz,很快就在阿里云的镜像站中找到这个文件了,阿里云镜像站的链接为:
https://mirrors.aliyun.com/armbian-releases/_toolchain/
在这里插入图片描述
下载后我传到百度网盘,方便以后取用,百度网盘下载链接:
https://pan.baidu.com/s/1hknQwu33TOKrBFBDleLavA?pwd=fs6u

配置Linux系统使用下载的gcc交叉编译工具

将下载好的文件gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf.tar.xz复制到Ubuntu系统中:
在这里插入图片描述
然后解压出来…
在这里插入图片描述
按照博文 https://blog.csdn.net/wenhao_ir/article/details/144326545 中的方法配置环境变量。

gedit ~/.bashrc

在末尾加上下面的配置语句:

export ARCH=arm
export CROSS_COMPILE=arm-none-linux-gnueabihf-
export PATH=$PATH:/home/book/mytools/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin

执行下面的命令使配置生效:

source ~/.bashrc

在这里插入图片描述
运行下面的命令验证下配置:

echo $ARCH
echo $CROSS_COMPILE

在这里插入图片描述

arm-none-linux-gnueabihf-gcc -v

在这里插入图片描述
我之前系统的gcc版本信息如下:
在这里插入图片描述
可见已经不一样了,说明配置生效了。

末尾


网站公告

今日签到

点亮在社区的每一天
去签到