buildroot:交叉编译器的制作

时间:2021-12-14 16:02:11

         交叉编译器的制作

        做嵌入式开发少不了平台操作,然而我们不可能就直接在开发板上进行开发,这就需要一种编译器使自己在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--->

buildroot:交叉编译器的制作

              4.2、配置Buildroot Options--->

buildroot:交叉编译器的制作

               大家可以看到这里的“($(TOPDIR)/dl) Download dir (NEW)”,这里的dl 就是为什么之前我们要把源代码文件夹重命名为dl 的原因。“($(TOPDIR)/arm920t) Host dir”就是指定我们制作出来的交叉编译器所在的路径,注意这里大家设置为$(TOPDIR),而不是默认的${BASEDIR},否则以后用我的代码可能会有问题。

              4.3、配置Toolchain--->

buildroot:交叉编译器的制作

              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、 结束