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

本文介绍了如何在Ubuntu环境下设置和使用arm-linux-gnueabihf交叉编译器,为ARM架构的嵌入式设备生成可执行程序。文章详细解释了交叉编译的概念及其在嵌入式开发中的应用,并提供了具体步骤指导读者完成交叉编译器的安装配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

仅作为学习正点原子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进行解压,或者直接用图形界面右键解压。

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

在这里插入图片描述

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

在这里插入图片描述

修改完成后,重启Ubuntu。

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小辉_Super

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值