首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

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

  • 25-03-05 03:00
  • 3473
  • 9229
blog.csdn.net

前言

本文是博文 http://iyenn.com/rec/1709265.html 的分支博文。

在本博文中我们完成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的意思详见我的另一篇博文 http://iyenn.com/rec/1709266.html

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系统中:
在这里插入图片描述
然后解压出来…
在这里插入图片描述
按照博文 http://iyenn.com/rec/1709220.html 中的方法配置环境变量。

gedit ~/.bashrc
  • 1

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

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
  • 1
  • 2
  • 3

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

source ~/.bashrc
  • 1

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

echo $ARCH
  • 1
echo $CROSS_COMPILE
  • 1

在这里插入图片描述

arm-none-linux-gnueabihf-gcc -v
  • 1

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

末尾

昊虹嵌入式技术交流群
QQ群名片
注:本文转载自blog.csdn.net的昊虹AI笔记的文章"https://blog.csdn.net/wenhao_ir/article/details/145649698"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top