2008年11月5日星期三

交叉编译环境搭建

安装交叉编译器

ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/下载交叉编译器cross-3.2.tar.bz2存放在/usr/local目录下。

切换致该目录:

# cd /usr/local

# mkdir arm

然后解压cross-3.2.tar.bz2

# tar jxvf cross-3.2.tar.bz2 –C /usr/local/arm

3、把交叉编译器的路径加入到PATH。(两种方法ab

a、#export PATH=$PATH:/usr/local/arm/2.95.3/bin

注:(这只能在当前的终端下才是有效的,)

b、修改/etc/profile文件:

vi /etc/profile

增加路径设置,在末尾添加如下:

export PATH$PATH:/usr/local/arm/2.95.3/bin

4、使新的环境变量生效。

# source /etc/profile

5、检查是否将路径加入PATH的方法。

# echo $PATH

如果显示的内容中有/usr/local/arm/bin,说明已经将交叉编译器的路径加入PATH。自此,交叉编译环境安装完成。

6、测试。

下面我们就来测试一个简单的例子。

/*Hello.c*/

#include

int main()

{

printf(“hello word!\n”);

return 0;

}

程序输好以后确认无误,保存。进入程序文件所在目录

# arm-linux-gcc hello.co hello

-o可以理解为“目标为生成”)arm-linux-gcc是第一次出现,有人可能会问这个哪里来的,不妨打开刚才安装的交叉编译工具目录/usr/local/arm-linux/arm-linux/bin/可以发现里面有一个arm-linux-gcc文件,这个就是针对armCPUgcc编译器了。以后用其它编译工具链式也可以通过这种方法看看其编译器是什么了。编译好了以后就可以下载到目标机进行测试了。当然也可以先在PC机上测试正误。用gcc hello.co hello就可以生成PC机上程序了,在运行./hello就可以发现终端显示hello!字样。用arm-linux-gcc编译的程序在PC机上是不能运行的,运行后给出错误报告:无法执行二进制文件。说明经过交叉编译环境编译出的文件是硬件可执行的二进制代码文件

没有评论: