当前位置: 首页 > article >正文

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

前言

本文是博文 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版本信息如下:
在这里插入图片描述
可见已经不一样了,说明配置生效了。

末尾


http://www.kler.cn/a/547547.html

相关文章:

  • 服务器模式部署mediacms后卸载mediacms,包括数据库
  • 项目版本号生成
  • CentOS 7上安装Python 3的步骤如下
  • 车规MCU处理器选择Cortex-M7还是Cortex-R52?
  • 树莓集团:从区域到全国,数字产业园服务如何有效赋能企业?
  • 【Erdas实验教程】004:影像镶嵌拼接
  • DeepSeek指导手册从入门到精通
  • 使用API有效率地管理Dynadot域名,清除某一文件夹中域名的默认DNS设置
  • 深度探索 DeepSeek:AI 领域的璀璨新星
  • Flutter_学习记录_网络请求的简单了解
  • 分布式 NewSQL 数据库(TiDB)
  • Linux系统常用命令用法详解
  • (LLaMa Factory)大模型训练方法--准备模型(Qwen2-0.5B)
  • 基于若依开发的工程项目管系统开源免费,用于工程项目投标、进度及成本管理的OA 办公开源系统,非常出色!
  • Jmeter+Jenkins接口压力测试持续集成
  • Unity序列化多态数组
  • 当Ollama遇上划词翻译:我的Windows本地AI服务搭建日记
  • AI知识库 - Cherry Studio
  • C++基础知识(三)之结构体、共同体、枚举、引用、函数重载
  • 答题考试系统php+uniapp