Ubuntu下ARM交叉编译工具链安装

仅作为学习正点原子Linux嵌入式开发的学习笔记

交叉编译:
交叉编译是在一个平台上生成另一个平台上的可执行代码。同一个体系结构可以运行不同的操作系统;同样,同一个操作系统也可以在不同的体系结构上运行。

发展趋势:
伴随着以计算机技术、通讯技术为主的信息技术的飞速发展和互联网的广泛应用,3C(Computer、Communication、ConsumerElectronic)合一将成为必然趋势。信息家电,手持设备,移动设备等嵌入式产品的迅速发展,使得嵌入式软件开发再度成为一个研究热点。 由于嵌入式设备的性能局限,往往不能通过本机编译得到所需软件的可执行程序。因此,以Linux为主机操作系统,搭配一个交叉编译系统,为嵌入式设备生成可执行程序已成为日益流行的编译嵌入式软件的解决方案。而开放源码的编译器GCC,经过多年的发展,已能支持几乎所有知名厂商的处理器,是嵌入式软件开发中理想的交叉编译器。

——百度百科

Ubuntu自带的gcc编译器针对的是X86架构,不能编译出能在ARM平台上执行的软件,要想编译出ARM架构上的可执行文件,就必须用上交叉编译器了。本文要介绍的交叉编译器是arm-linux-gnueabihf,由Linaro公司开发。

Linaro,一间非营利性质的开放源代码软件工程公司,主要的目标在于开发不同半导体公司系统单芯片(SoC)平台的共通软件,以促进消费者及厂商的福祉。针对于各个成员推出的 ARM系统单芯片(SoC),它开发了ARM开发工具、Linux内核以及Linux发行版(包括 Android 及 Ubuntu)的主要自动建构系统。

正点原子相关教程使用的是4.9版本的交叉编译器,所以我这里也下载这个版本,下载地址:https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/

选择x86_64是因为我的Ubuntu是64位的,

在这里插入图片描述

将下载的压缩包复制到Ubuntu中,

在这里插入图片描述

使用tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz进行解压,或者直接用图形界面右键解压。

扫描二维码关注公众号,回复: 13752551 查看本文章

解压完成后,将编译工具的bin/目录的绝对地址进行复制,

在这里插入图片描述

修改/etc/profile文件,再最后面添加export PATH=$PATH:+上面复制的绝对路径,目的是为了将交叉编译器的命令添加到全局变量。

在这里插入图片描述

修改完成后,重启Ubuntu。

使用 arm-linux-gnueabihf-gcc -v 查看交叉编译器是否可以使用。

在这里插入图片描述

接下来我们用arm-linux-gnueabihf-gcc编译一个程序,

在这里插入图片描述

通过file命令,我们可以查看刚才编译的程序的属性,下面的信息表明app是一个ARM架构下的可执行文件。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43772810/article/details/123731744