ARM-LINUX基础
+ -

交叉编译工具链arm-linux-gnueabihf-gcc

2025-07-25 39 0

GCC ARM Linux GNUEABIHF 工具链详细介绍

gcc-arm-linux-gnueabihf 是一个针对 ARM 架构的交叉编译工具链,专门用于在 x86/x86_64 主机上开发运行在 ARM Linux 系统上的应用程序。这个工具链名称中的各部分含义如下:

  • gcc: GNU Compiler Collection
  • arm: 目标架构为 ARM
  • linux: 目标系统为 Linux
  • gnueabihf: GNU EABI Hard Float (使用硬件浮点单元的嵌入式应用二进制接口)

主要组件

这个工具链包含以下主要组件:

  1. 编译器arm-linux-gnueabihf-gcc (C 编译器)
  2. C++ 编译器arm-linux-gnueabihf-g++
  3. 汇编器arm-linux-gnueabihf-as
  4. 链接器arm-linux-gnueabihf-ld
  5. 二进制工具arm-linux-gnueabihf-objcopy, arm-linux-gnueabihf-objdump
  6. 调试器arm-linux-gnueabihf-gdb
  7. 标准 C 库:针对 ARM 架构优化的 glibc 或 uClibc

特点

  1. 硬件浮点支持 (hf)

    • 使用 ARM 处理器的硬件浮点单元 (VFP)
    • 提供比软件浮点更高效的浮点运算性能
    • 生成使用硬件浮点指令的代码
  2. ABI 兼容性

    • 遵循 ARM EABI (嵌入式应用二进制接口)
    • 与 ARM Linux 发行版兼容
  3. 交叉编译能力

    • 允许在 x86/x86_64 主机上编译 ARM 架构的代码
    • 生成的二进制文件可直接在 ARM Linux 系统上运行

ARM 工具链的比较

  1. arm-linux-gnueabi:

    • 软件浮点实现
    • 兼容性更广 (支持不带 FPU 的 ARM 芯片)
    • 性能较低
  2. aarch64-linux-gnu:

    • 针对 ARM 64位架构 (ARMv8/AArch64)
    • 不兼容 32位 ARM 系统

在 Ubuntu/Debian 上安装

sudo apt-get update
sudo apt-get install gcc-arm-linux-gnueabihf

指定版本下载安装

wget https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

tar -xf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz
export PATH=$PATH:$(pwd)/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz/bin

或者

安装到指定目录usr/local/arm/

sudo vi /etc/profile
export PATH=$PATH:usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz/bin

卸载

sudo apt-get remove arm-linux-gnueabihf

或者

zzmt@zzmt:~/Desktop/images/files$ which arm-linux-gnueabihf-gcc 
/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc

找到目录后,删除整个目录

rm -rf arm-linux-gnueabihf-gcc*

0 篇笔记 写笔记

GCC版本对编译LINUX驱动的影响
在LINUX环境中,可以通过如下命令查看LINUX的内核版本和编译该内核的GCC版本:[root@mypcie ~]# cat /proc/versionLinux version 4.18.0-147.5.1.el8_1.x86_64 (mockbuild@kbuilder.bsys.cent......
gcc的安装与版本管理
在 Ubuntu 上安装 GCC 12(或特定版本的 GCC),可以通过以下方法实现:方法 1:使用 Ubuntu 官方源(推荐)适用于 Ubuntu 22.04 (Jammy) 及更高版本,默认仓库已包含 GCC 12。更新软件包列表sudo apt update安装 GCC 12......
交叉编译工具链arm-linux-gnueabihf-gcc
GCC ARM Linux GNUEABIHF 工具链详细介绍gcc-arm-linux-gnueabihf 是一个针对 ARM 架构的交叉编译工具链,专门用于在 x86/x86_64 主机上开发运行在 ARM Linux 系统上的应用程序。这个工具链名称中的各部分含义如下:gcc: GNU C......
关注公众号
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!