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…**可以选择解压的路径。
aarch64-linux-gnu-gcc 交叉编译工具链安装演示_第1张图片
或者通过命令解压缩,这里我是.tar.xz的压缩包,所以,我使用的命令为:tar xvf +文件名(tar.xz)

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

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

比如我的路径为:
/home/yaowei/Desktop/myfile/opt
aarch64-linux-gnu-gcc 交叉编译工具链安装演示_第2张图片

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

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

操作方法:
打开终端,输入 sudo vim /etc/profile,然后输入密码可以修改环境变量。
在这里插入图片描述
密码输入正确后会跳出一个vim文件
aarch64-linux-gnu-gcc 交叉编译工具链安装演示_第3张图片
在最下方标记的位置添加环境变量配置
例如:
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查看是否安装完成。
aarch64-linux-gnu-gcc 交叉编译工具链安装演示_第4张图片

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

#include
int main()
{
    printf("hello world!\n");
}

在这里插入图片描述

aarch64-linux-gnu-gcc 交叉编译工具链安装演示_第5张图片
保存后退出
使用ls指令查看此文件夹下的目录文件,发现只有HelloWorld.c文件
aarch64-linux-gnu-gcc 交叉编译工具链安装演示_第6张图片
通过aarch64-linux-gnu-gcc HelloWorld.c -o HelloWorld指令将.c文件进行编译为二进制文件为HelloWorld。

通过ls指令也可以看到文件夹下多了一个文件。
aarch64-linux-gnu-gcc 交叉编译工具链安装演示_第7张图片
这样就代表交叉编译工具配置完成了。

你可能感兴趣的:(Linux,嵌入式,linux,ubuntu)