您的位置:首页 > 运维架构 > Linux

UBUNTU安装交叉编译工具arm-liunx-gcc-4.4.3

2017-06-29 17:48 525 查看
注意:若只是安装交叉编译器只需要前两步就可以完成了!!

编译环境:ubuntu 12.04

1、交叉编译器简介

1.1、交叉编译器概念

与交叉编译对应的是本地编译,在了解交叉编译前,先来了解一下什么是本地编译。

本地编译

本地编译可以理解为,在当前编译平台下,编译出来的程序只能放到当前平台下运行。平时我们常见的软件开发,都是属于本地编译:

比如,我们在 x86 平台上,编写程序并编译成可执行程序。这种方式下,我们使用 x86 平台上的工具,开发针对 x86 平台本身的可执行程序,这个编译过程称为本地编译。

交叉编译

交叉编译可以理解为,在当前编译平台下,编译出来的程序能运行在体系结构不同的另一种目标平台上,但是编译平台本身却不能运行该程序:

比如,我们在 x86 平台上,编写程序并编译成能运行在 ARM 平台的程序,编译得到的程序在 x86 平台上是不能运行的,必须放到 ARM 平台上才能运行。

1.2、为什么要进行交叉编译

这是由于ARM平台相对于x86平台有较大的局限性,而在x86平台的相对于ARM平台有明显的优势,主要体现在以下几个方面:

Speed : 目标平台的运行速度往往比主机慢得多,许多专用的嵌入式硬件被设计为低成本和低功耗,没有太高的性能

Capability: 整个编译过程是非常消耗资源的,嵌入式系统往往没有足够的内存或磁盘空间

Availability: 即使目标平台资源很充足,可以本地编译,但是第一个在目标平台上运行的本地编译器总需要通过交叉编译获得

Flexibility: 一个完整的Linux编译环境需要很多支持包,交叉编译使我们不需要花时间将各种支持包移植到目标板上

2、安装arm-linux-gcc-4.4.3

1、下载交叉编译工具

交叉编译工具包可以去以下网址下载:

arm-linux-gcc-4.4.3.tar.gz

2、解压下载交叉编译工具到根目录下(或者自己其他路径,但是自己要记住,方便后面配置.bashrc环境变量):

sudo tar zxvf arm-linux-gcc-4.4.3.tar.gz -C /


然后进入:

/opt/FriendlyARM/toolschain/4.4.3/bin


查看很多解压的交叉编译工具,如图:



3、设置当前用户下的.bashrc文件配置环境变量,打开.bashrc文件:

sudo vim ~/.bashrc


添加编译工具链路径到~/.bashrc文件,然后保存退出,并重启shell,使其生效

export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin


4、测试是否已正确安装,若正确安装输入以下命令将会显示arm-linux-gcc的版本

arm-linux-gcc -v




注意:若是显示 /opt/FriendlyARM/toolschain/4.4.3/bin//arm-linux-gcc: 15: exec: /opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found



这是因为Ubuntu 14.04是64位的,所以需要安装32位的库,解决方法:

sudo apt-get install lib32z1


**至此交叉编译器已经安装完成了**


有了交叉编译工具,我们就可以先在宿主机(Ubuntu)上编译成可执行程序,然后将可执行程序放到arm上运行了(注意:无法在宿主机(Ubuntu)上运行

3、利用arm-linux-gcc-4.4.3交叉编译python2.7.3,并移植到ARM平台

若想移植python2.7.3,可以参考我的另一篇博客

http://blog.csdn.net/sinat_36684217/article/details/73928016

4、参考资料

交叉编译相关概念:

http://blog.csdn.net/pengfei240/article/details/52912833


交叉工具安装视频讲解:

http://study.163.com/course/courseLearn.htm?courseId=1002965014#/learn/video?lessonId=1004390554&courseId=1002965014
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息