制作交叉编译器


  做嵌入式开发少不了平台操作,因此也少不了使用交叉编译器,我们可以用的别人已经做好的编译器,但是有的时候别人的交叉编译器不一定适合我们,所以我们可以自己做一个属于自己的交叉编译器。

1、下载代码包
使用命令wget  http://www.kegel.com/crosstool/crosstool-0.43.tar.gz当然也可以使用windows 迅雷来下载buildroot-2011.11制作交叉编译器所需要的源码包,如果不提前下载的话,在编译buildroot-2011.11的时候linux也会自动下载,但是速度很慢,所以建议还是提前下载。并把所有所有的源码包都放在名为buildroot-2011.11-packet的文件夹下。(下载的代码包有:binutils-2.15.tar.bz2gcc-3.4.5.tar.bz2         glibc-2.3.6.tar.bz2glibc-linuxthreads-2.3.6.tar.bz2linux-2.6.8.tar.bz2linux-libc-headers-2.6.12.0.tar.bz2

2、把代码包上传到linux上
2.1 修改/opt的权限
我们一般把检查编译器放在linux的/opt目录下,当然这不是绝对的。因为linux安装好后,/opt目录默认只有root才具有写的权限,所以要修改其权限。[yangzheng@centos6 ~]$ ls -ld /opt/

drwxr-xr-x. 2 root root 4096 11月 11 2010 /opt/

[yangzheng@centos6 ~]$ sudo chmod 777 /opt/

[sudo] password for yangzheng:

[yangzheng@centos6 ~]$ ls -ld /opt/

drwxrwxrwx. 2 root root 4096 11月 11 2010 /opt/

2.2、上传代码包

2.3 、解压缩并制作源代码包[yangzheng@centos6opt]$ tar -jxf buildroot-2011.11-packet/buildroot-2011.11.tar.bz2

[yangzheng@centos6opt]$ ls

buildroot-2011.11  buildroot-2011.11-packet

2.4、再将上传的buildroot-2011.11-patcket这个文件夹移到buildroot-2011.11这个文件夹下,并重命名为dl。[yangzheng@centos6opt]$ sudo mv buildroot-2011.11-packet/ buildroot-2011.11/dl

[sudo] password for yangzheng:

[yangzheng@centos6 opt]$ ls

buildroot-2011.11

[yangzheng@centos6 opt]$ ls buildroot-2011.11/

board  CHANGES    configs dl    fs     Makefile support  toolchain

boot   Config.in  COPYING docs  linux  package  target

[yangzheng@centos6 opt]$ ls buildroot-2011.11/dl/

binutils-2.21.1.tar.bz2    gmp-5.0.2.tar.bz2     uClibc-0.9.32.tar.bz2

buildroot-2011.11.tar.bz2  linux-2.6.37.tar.bz2  zlib-1.2.5.tar.bz2

ccache-3.1.4.tar.bz2       lzo-2.06.tar.gz

gcc-4.3.6.tar.bz2          mpfr-3.0.1.tar.bz2

[yangzheng@centos6 opt]$ ls

buildroot-2011.11

3、配置交叉编译器CPU类型


3.1 、在开始编译之前我们配置交叉编译器,使用哪些依赖的软件包,及版本。首先make muneconfig(如果有乱码的话)export TERM=vt100 ,make menuconfig


3.2、  


这里矫正一个错误,2440的CPU应该是arm920t.

3.3、配置Buildroot Options

 这里我们开始配置交叉编译器的"Build options  --->"选项,如下:


   大家可以看到这里的“($(TOPDIR)/dl)Download dir (NEW)”,这里的dl就是为什么之前我们要把源代码文件夹重命名为dl的原因。

   “($(TOPDIR)/arm920t) Host dir”就是指定我们制作出来的交叉编译器所在的路径,注意这里大家设置为$(TOPDIR),而不是默认的${BASEDIR},否则以后用我的代码可能会有问题。

3.4、配置“Toolchain”选项

   接下来我们配置Toolchain,这里主要是选择Linux内核头文件的版本,GNU/GCC相关工具链的版本等。具体选项如下:


注意上面在“Kernel Headers”先要设置“Linux 2.6 (manually specified version)”,然后再输入“linux version”的版本为2.6.37。

 

3.5、其他配置

   在完成上面的配置后,剩下的配置就比较简单了:

“System configuration  --->”使用默认的选项,不要作修改;

“Package Selection for the target  --->”这里我们只选择今后经常需要的两个库文件:

Package Selection for the target --->

    Libraries  --->

        Compression anddecompression  --->

               [*] lzo

               [*] zlib

“Filesystem images  --->”全部取消,不要选;

“Bootloaders --->”全部取消,不要选;

“Kernel --->”全部取消,不要选;

3.6、完成配置

  在完成上面的所有配置后,我们选择“Save an Alternate Configuration File”保存这些配置,然后使用“Tab”键选择到“Exit”上退出。这时,我们就会在当前目录下,看到一个名为.config的掩藏文件。在之后的编译过程中,Makefile将根据这个文件来选择相应的软件包和特性来编译安装。

4、最后make 即可(大概需要30分钟),机器差一点的话可能一个小时。

5、测试一下!

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值