1.下载交叉编译器
ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/
选择cross-3.2.tar.bz2或cross-3.2.tar.gz(此处我选cross-3.2.tar.gz)
arm-linux-gcc-3.4.1.tar.bz2
http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2
2.解包安装
将cross-3.2.tar.gz放到 /下面直接解包(因为cross-3.2.tar.gz包本身解包后的目录结构就是/usr/local/arm,故 而不能把cross-3.2.tar.gz再放到/sur/local下面去解包)
[root@localhost /]#tar xvzf cross-3.2-tar.gz
可在/usr/local下看到arm目录:
[root@localhost /]# cd /usr/local
[root@localhost local]# ls
arm bin etc games include lib libexec sbin share src
3.添加交叉编译器环境变量(三种方法a,b)
a.[root@localhost local]# export PATH=$PATH:/usr/local/arm/bin 注:(此方法只在当前终端有效)
b.修改/etc/profile文件:
[root@localhost local]# vi /etc/profile
在末尾添加:export PATH=$PATH:/usr/local/arm/bin
c. 修改~/.bash_profile文件:
[root@localhost local]# vi ~/.basn_profile
修改:PATH=$PATH:usr/local/arm/bin
4.使新的环境变量生效。
(b)----[root@localhost local]#source /etc/profile
或者(c)----- [root@localhost local]#source ~/.basn_profile
5.检查是否将路径加入PATH
[root@localhost local]# echo $PATH
若显示的内容中有/usr/local/arm/bin,说明已经将交叉编译器的路径加入PATH。自此,交叉编译环境搭建完成。
6.测试
简单例子:
[root@localhost local]#vi hello.c
--输入:
/*hello.c*/
#intclude <stdio.h>
int main()
{
printf("Hello,world!/n");
return 0;
}
--保存退出vi
[root@localhost local]#arm-linux-gcc hello.c -o hello
[root@localhost local]# ls
arm bin etc games hello hello.c include lib libexec sbin share src
--成功生成hello文件
[root@localhost local]# ./hello
bash: ./hello: cannot execute binary file
--提示无法执行二进制文件
--file一下hello文件类型
[root@localhost local]# file hello
hello: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.0.0, dynamically linked (usesshared libs), not stripped
--看到没,可执行的ARM体系文件
7.arm-linux-gcc交叉编译环境搭建成功。