aarch64-linux-gnu-gcc 交叉编译工具链安装演示

一.什么是交叉编译工具链

内核不同就需要交叉编译,在一个平台上生成另一个平台上的可执行代码。

在进行嵌入式系统的开发时,运行程序的目标平台通常具有有限的存储空间和运算能力,在目标平台进行编译很难实现,因为编译工具链需要很大的存储空间,而且需要很强的CPU运算能力,为了解决这个问题,交叉编译工具就诞生了。

通过交叉编译工具,我们就可以在CPU能力很强、存储空间足够的主机平台上(比如PC上)编译出针对其他平台的可执行程序。

本次我主要介绍的就是Ubuntu上安装的交叉编译工具链aarch64-linux-gnu-gcc

二.aarch64-linux-gnu-gcc介绍

aarch64-linux-gnu-gcc 是由 Linaro 公司基于 GCC 推出的的 ARM 交叉编译工具,aarch64-linux-gnu-gcc 交叉编译器必须安装在 64 位主机上,才能编译目标代码

可用于交叉编译 ARMv8 64 位目标中的裸机程序、u-boot、Linux kernel、filesystem 和 App 应用程序。

三.安装交叉编译工具链

我这里已经安装好了,没有安装的可以使用以下命令或者在windows中下载后拖进虚拟机中
sudo apt-get install

1.下完后你会得到一个.tar 或者 .tar.xz的压缩包,把它放到你虚拟机的文件夹里。
2.解压缩,右键点击压缩包后出现**Extract to…**可以选择解压的路径。
在这里插入图片描述
或者通过命令解压缩,这里我是.tar.xz的压缩包,所以,我使用的命令为:tar xvf +文件名(tar.xz)

注意:这里直接使用文件名需要通过cd命令进入到压缩包所在的文件夹里。
如果解压缩失败了,在命令前加上sudo加上权限再试一次。

3.记住解压缩后的文件夹路径,如果你不清楚路径是什么,可以通过cd命令到文件所在文件夹中,通过pwd指令,可以得到此时的路径。

比如我的路径为:
/home/yaowei/Desktop/myfile/opt
在这里插入图片描述

四.配置交叉编译工具的环境变量

这一步很重要,配置环境变量的作用是让系统可以找到编译工具的安装路径,这样,我们就不需要到指定的安装路径下去使用,而是在任意路径中都可以使用命令

操作方法:
打开终端,输入 sudo vim /etc/profile,然后输入密码可以修改环境变量。
在这里插入图片描述
密码输入正确后会跳出一个vim文件
在这里插入图片描述
在最下方标记的位置添加环境变量配置
例如:
export PATH=$PATH:/home/yaowei/Desktop/myfile/opt/gcc-linaro-6.5.0-2018.12-x86_64_aarch64-linux-gnu/bin

把里面的路径换成实际所在的路径,刚刚通过pwd指令获得的路径。

添加完成后保存后退出,重启虚拟机。
通过aarch64-linux-gnu-gcc -v查看是否安装完成。
在这里插入图片描述

验证是否安装成功
使用vim创建一个.c文件,就叫HelloWorld.c,编写以下代码

#include<stdio.h>
int main()
{
    printf("hello world!\n");
}

在这里插入图片描述

在这里插入图片描述
保存后退出
使用ls指令查看此文件夹下的目录文件,发现只有HelloWorld.c文件
在这里插入图片描述
通过aarch64-linux-gnu-gcc HelloWorld.c -o HelloWorld指令将.c文件进行编译为二进制文件为HelloWorld。

通过ls指令也可以看到文件夹下多了一个文件。
在这里插入图片描述
这样就代表交叉编译工具配置完成了。

  • 8
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
### 回答1: aarch64-linux-gnu交叉编译是指在x86或其他架构的电脑上,通过交叉工具,将代码编译为适用于ARM64架构的可执行文件。在开发ARM64架构的应用程序时,我们可以通过交叉编译工具,将开发环境迁移到x86或其他架构的电脑上,使得开发变得更加便捷。 aarch64-linux-gnu交叉编译的过程一般包括以下步骤: 1. 安装交叉编译工具:可以通过下载对应的工具安装,例如使用apt-get install gcc-aarch64-linux-gnu (Ubuntu系统) 或yum install gcc-aarch64-linux-gnu (CentOS系统)来安装。 2. 编写应用程序源代码:开发人员根据需求编写应用程序源代码。 3. 使用交叉编译工具编译可执行文件:在Linux终端下,输入交叉编译工具的路径与对应的编译选项,对应的可执行文件就会生成。 4. 上传可执行文件到ARM64服务器:最后,将编译好的可执行文件上传到ARM64服务器上即可完成部署。 通过aarch64-linux-gnu交叉编译,可以为ARM64架构的应用开发提供更为方便和高效的开发环境。同时,通过与开源社区的交流与合作,可以不断地改进和完善交叉编译工具。 ### 回答2: Aarch64-linux-gnu交叉编译是将一组程序代码从一种CPU及操作系统架构编译成另一种CPU及操作系统架构的过程。在这种情况下,原始代码是针对ARM 64位体系结构和Linux操作系统编写的,但是需要将其编译成可以在不同体系结构和操作系统下运行的代码。 这种编译称为交叉编译,目的是让程序能够在ARM架构的设备上运行。 Aarch64-linux-gnu交叉编译通常用于在PC上为ARM架构的设备编写软件。它的目的是为开发者提供在开发环境中使用强大的桌面工具来编程,而不需要在设备上进行编程。这使得程序编写和测试更加高效。此外,交叉编译还允许在使用不同操作系统(如Mac或Windows)的计算机上开发应用程序,这样就可以在处理器体系结构不同或使用不同的操作系统的多个设备上运行相同的程序。 Aarch64-linux-gnu交叉编译需要建立交叉编译环境,即要在一个主机上安装交叉编译器,可以使用gcc工具,同时还需要安装一些与目标体系结构有关的库和头文件。这些库和头文件通常是在目标体系结构的官方开发工具包中提供的。 进行Aarch64-linux-gnu交叉编译的本质是让开发人员能够在不同环境之间快速迁移代码和数据,满足快速开发和部署的需求。它为开发人员带来更多的便利,让他们不再局限于一个特定的平台,同时也能够加速代码开发过程,从而使开发者可以更快地发布产品和服务。 ### 回答3: aarch64-linux-gnu是指基于Aarch64架构的Linux系统,而交叉编译则是指在一台机器上编译出另一种不同架构的可执行程序。 在进行aarch64-linux-gnu交叉编译时,需要首先安装对应的交叉编译工具,这个工具应该包含对ARM Aarch64架构的交叉编译器、库文件等。具体安装方法可以参照相应的文档或者使用包管理器安装安装交叉编译工具之后,就可以开始编写代码并进行交叉编译了。在编写代码时,需要注意一些与不同架构相关的问题。例如,需要注意对齐方式、字节序等问题。同时,也需要在Makefile或者其他编译脚本中指定交叉编译器的路径,并设置好编译选项。 最后,进行交叉编译时需要选择要编译的目标架构并指定交叉编译器以及库文件的位置。编译完成后,可以将生成的可执行程序拷贝到目标机器上进行运行。 总之,aarch64-linux-gnu交叉编译需要准备好对应的工具,注意编写代码时与不同架构相关的问题,设置好编译选项和路径,最后进行交叉编译并将生成的可执行文件拷贝到目标机器上即可。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值