交叉编译器的制作
做嵌入式开发少不了平台操作,然而我们不可能就直接在开发板上进行开发,这就需要一种编译器使自己在PC机上进行开发,但是程序可以在开发板上运行。这就需要我们制作交叉编译器,下面来说明如何制作交叉编译器。
操作系统平台:CentOS 6.4
制作流程
1、在/opt下新建一个文件夹buildroot-2011.11-packet
[keyue@CentOS~]$cd /opt
[keyue@CentOS opt]$mkdir buildroot-2011.11-packet
/opt只有在root用户下才具有写的权限,因此在这里要先进入root用户
[keyue@CentOS opt]$su
[sudo] password for keyue:
[keyue@CentOS opt]#ls -ld /opt
drwxrwxrwx. 2 root root 4096 11 月 11 2010 /opt/
2、下载代码包
[keyue@CentOS opt]#cd buildroot-2011.11-packet
[keyue@buildroot-2011.11-packet~]$wget http://buildroot.uclibc.org/downloads/buildroot-2011.11.tar.bz2
注:binutils-2.15.tar.bz2 、gcc-3.4.5.tar.bz2、 glibc-2.3.6.tar.bz2、glibc-linuxthreads-2.3.6.tar.bz2、linux-2.6.8.tar.bz2、linux-libc-headers-2.6.12.0.tar.bz2也为制作交叉编译器所需要的源码包,建议提前下载好,放入到buildroot-2011.11-packet文件夹中。不下载,也没有影响,在编译的过程中会自动下载,但是这样编译的速度会很慢,个人建议提前下载好。
3、解压并制作源代码包
[keyue@buildroot-2011.11-packet~]#cd ./..
[keyue@CentOS opt]#tar -jxf buildroot-2011.11-packet/buildroot-2011.11.tar.bz2
[keyue@CentOS opt]#ls
buildroot-2011.11 buildroot-2011.11-packet
再将上传的buildroot-2011.11-patcket 这个文件夹移到buildroot-2011.11 这个文件夹下,并重命名为dl。
[keyue@CentOS opt]#mv buildroot-2011.11-packet buildroot-2011.11/
[keyue@CentOS opt]#mv buildroot-2011.11-packet dl
[keyue@CentOS opt]#ls buildroot-2011.11/
board CHANGES configs dl fs Makefile support toolchain boot Config.in COPYING docs linux package target
4、配置交叉编译器的CPU类型
[keyue@CentOS buildroot-2011.11]#make menuconfig
如果出现乱码的话,输入export TERM=vt100,再次执行make menuconfig即可。
4.1、配置Target Architecture--->
4.2、配置Buildroot Options--->
大家可以看到这里的“($(TOPDIR)/dl) Download dir (NEW)”,这里的dl 就是为什么之前我们要把源代码文件夹重命名为dl 的原因。“($(TOPDIR)/arm920t) Host dir”就是指定我们制作出来的交叉编译器所在的路径,注意这里大家设置为$(TOPDIR),而不是默认的${BASEDIR},否则以后用我的代码可能会有问题。
4.3、配置Toolchain--->
4.4、在完成上面的配置后,剩下的配置就比较简单了:
“System configuration --->”使用默认的选项,不要作修改;
“Package Selection for the target --->”这里我们只选择今后经常需要的两个库文件:
Package Selection for the target --->
Libraries --->
Compression and decompression --->
[*] lzo
[*] zlib
“Filesystem images --->”全部取消,不要选;
“Bootloaders --->”全部取消,不要选;
“Kernel --->”全部取消,不要选;
在完成上面的所有配置后, 我们选择“ Save an Alternate Configuration File”保存这些配置,然后使用“Tab”键选择到“Exit”上退出。这时,我们就会在当前目录下,看到一个名为.config 的掩藏文件。在之后的编译过程中,Makefile 将根据这个文件来选择相应的软件包和特性来编译安装。
5、make 编译的过程有点漫长,慢慢等待吧
6、 结束