嵌入式开发(一) Ubuntu12.04下搭建交叉编译环境

操作系统:Ubuntu12.04 AMD64位

交叉编译环境:arm-Linux gcc版本4.4.3

前言:

     首先理解一下交叉编译的意思。我们要给嵌入式设备写应用程序,但是又不能在嵌入式设备上完成所有的代码开发工作,只能在一台工作PC上完成然后编译成二进制文件上传到嵌入式设备上。但是我们选用的编译工具链不能是工作PC上的,应该是嵌入式设备上的编译工具链,所以,我们要在PC上搭建适用于嵌入式设备的交叉编译工具链。例如,PC上的gcc版本可能是4.6但是arm-linux-gcc的版本却是4.4.3.

搭建过程:

     一、下载适合自己开发板的交叉编译工具包 本文以arm-linux-4.4.3.tar.bz2为例

     二、解压缩到/usr/local/arm目录下面

# tar xvf arm-linux-4.4.3.tar.bz2 -C /usr/local/arm
     三、设置环境变量
# vi /etc/profile
末尾添加行export PATH=$PATH:/usr/local/arm/arm-linux-4.4.3/bin
     四、导入环境变量
# source /etc/profile
     五、测试
# arm-linux-gcc -v
出现以下画面说明是ok了。。。

但是很有可能没有这么顺利,楼主我就遇到了一个问题,在输入上面命令后,出现如下错误:

/home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/arm-linux-gcc: 15: exec: /home/song/software/opt/FriendlyARM/toolschain/4.4.3/bin/.arm-none-linux-gnueabi-gcc: not found

在网上查了一下,发现是因为Ubuntu使用的是64位系统,需要安装一些32位的库:

$ sudo apt-get install ia32-libs

又因为ia32-libs是一个正在被淘汰的库,所以可能有些它的依赖包是不会被自动下载的,你可以根据他的提示先安装一下ia32-libs的依赖包,最后就可以把它装上了。

然后再用# arm-linux-gcc -v 试试就好了!

 
作者: 福尔摩斯の子弟
出处: http://www.cnblogs.com/holmestian/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/holmestian/p/3929545.html