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

本文详细介绍了如何在Ubuntu上使用Linaro的arm-linux-gnueabihf交叉编译器为ARM架构设备编译软件,包括下载、解压、库安装、环境变量设置和实际编译过程,以适应3C融合和嵌入式设备的发展需求。
摘要由CSDN通过智能技术生成

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

发展趋势:
伴随着以计算机技术、通讯技术为主的信息技术的飞速发展和互联网的广泛应用,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/

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

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

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

相关库的安装,在交叉编译之前,需要等待这些库安装完成。

sudo apt-get update //先更新,否则安装库可能会出错
sudo apt-get install lsb-core lib32stdc++6 //安装库

1.永久添加环境变量

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

修改完成后,重启Ubuntu。

2 . 临时添加环境变量

       重启终端后,需要重新来进行配置。

export PATH=$PATH:/home/linux/linux/tool/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf/bin  //导出环境变量
echo $PATH  //查看当前是否已经导出环境变量
arm-linux-gnueabihf-gcc -v  //查看交叉环境是否配置好

       查看交叉编译环境是否配置好

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值