交叉编译工具 aarch64-linux-gnu-gcc 的介绍与安装

AArch64 是随 ARMv8 ISA 一起引入的 64 位架构,用于执行 A64 指令的计算机。而且在 AArch64 状态下执行的代码只能使用 A64 指令集。,而不能执行 A32 或 T32 指令。但是,与 AArch32 中不同,在64位状态下,指令可以访问 64 位和 32 位寄存器。

aarch64-linux-gnu-gcc 是一个交叉编译工具链,可以在其他架构的系统中,编译安装 64 位 arm 架构的程序。常用在嵌入式代码的移植中。aarch64-linux-gnu-gcc 是由 Linaro 公司基于 GCC 推出的的 ARM 交叉编译工具。可用于交叉编译 ARMv8 64 位目标中的裸机程序、u-boot、Linux kernel、filesystem 和 App 应用程序。aarch64-linux-gnu-gcc 交叉编译器必须安装在 64 位主机上,才能编译目标代码。

软件仓库安装
1.查看有哪些版本可以安装

apt-cache search aarch64

2.选择某个版本进行安装

apt-get install gcc-10-aarch64-linux-gnu

可能会出现 E: Unmet dependencies. 错误


使用 apt --fix-broken install 可解决依赖问题

root@kali:~/Documents/test# apt --fix-broken install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  dh-python libdouble-conversion1 liblinear3
......

3.安装一个没有版本号的 gcc-aarch64-linux-gnu

sudo apt-get install gcc-aarch64-linux-gnu


这样就可以使用 gcc-aarch64-linux-gnu 了。如果你在安装的过程中,出现了问题,也可以直接从官方网站下载编译好的二进制文件,直接运行,不过,得注意下载的版本要与硬件架构、系统版本相符。

官方二进制下载
Ubuntu packages 提供了软件包: gcc-arm-linux-gnueabihf (4:7.4.0-1ubuntu2.3 以及其他的) 。

建议直接从 linaro 的官网下载相应版本的 gcc-linaro 交叉编译工具https://releases.linaro.org/components/toolchain/,并直接选择带有二进制的文件,即在官网入口处选择 binaries 路径https://releases.linaro.org/components/toolchain/binaries/,该文件夹下面包含各种版本的已经编译好的 aarch64-linux-gnu-gcc 二进制可执行程序

x86_64 代表宿主机是64位的,其他的则都为32位的
_be 代表是大端模式,不带该字段的为小端模式

下载完成之后,解压,压缩包里的 bin 目录下,就有我们需要的交叉编译器,直接使用即可。当然,也可以从 ARM 官网下载更多的 GNU Toolchain for the A-profile Architecturehttps://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads

相关推荐

  1. rocketmq交叉编译aarch64 GNU/Linux

    2024-01-16 12:04:06       33 阅读
  2. LINUX交叉编译arm/aarch64简单脚本

    2024-01-16 12:04:06       21 阅读
  3. 构建 aarch64 以及 riscv64 交叉编译工具链(裸机)

    2024-01-16 12:04:06       34 阅读
  4. riscv64-linux-gnu-gcc编译生成32位cpu二进制

    2024-01-16 12:04:06       35 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-16 12:04:06       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-16 12:04:06       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-16 12:04:06       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-16 12:04:06       18 阅读

热门阅读

  1. 在vue中,切换页面之后如何关闭定时器

    2024-01-16 12:04:06       39 阅读
  2. C#学习笔记3-函数与单元测试

    2024-01-16 12:04:06       22 阅读
  3. Springboot启动后自动退出解决办法

    2024-01-16 12:04:06       34 阅读
  4. Linux中的numactl命令使用详解

    2024-01-16 12:04:06       30 阅读
  5. (程序员专用简历助手)Prompt提示词

    2024-01-16 12:04:06       33 阅读