2024年4月29日发(作者:)

Ubuntu 10.04下运用crosstool-ng-1.9.0建立

arm-linux交叉工具链

构建一个交叉工具链供嵌入式系统开发使用是一个令人恐惧的景象,需要钢

铁般的意志,需要几天(如果不是几个星期)的功夫,需要具备许多的 Unix 和

GNU 知识……”正式基于这一点,我们选择开源工具crosstool-ng,来制作自

己的交叉编译工具链。Crosstool现在也有好几个版本,在这里我选择

crosstool-ng-1.9.0这个工具包。我所选的主机系统是Ubuntu10.04。

在制作交叉编译工具之前要安装各种各样的编译工具,因为Ubuntu系统的方

便性,我们可以通过具体的命令在线安装所需的软件。下面将是具体的制作交叉

编译的过程;

一、安装所需的工具包

$ sudo apt-get install g++ libncurses5-dev bison flex texinfo

automake libtool patch gcj cvs cvsd gawk

二、下载交叉编译工具所用的文件,

在制作交叉编译的过程中,需要在线下载这个编译工具包,考虑到网速的问

题和编译的时间问题,提前将这些包下载下来,放在指定的目录下,可以大大节

省很多的编译时间,考虑到各种包的下载问题,这个百度文库又不能上传软件包,

我就将所有的下载路径附在文章后面,同仁们可以去具体的地方下载!

三、安装2的工具。

安装所需的crosstool-ng-1.9.0,也可在这个地址下

/old_news下载crosstool-ng的工具包。下面是详细的

安装步骤:

#cd //回到家目录

#mkdir crosstool //建立crosstool目录

#cp ~/下载/tar/2 ./crosstool //拷贝

crosstool源码包到crosstool目录下

#cd crosstool //进入crosstool目录

#tar jxvf 2 //解压源码包

考虑到后续要用的各种目录,我这里先建立好所需的目录

#mkdir crosstool-build crosstool-install src //解压完后建立安装

目录编译目录和源码包目录,这几个目录和crosstool-ng-1.9.0目录并列,如下

图所示:

#cd crosstool-ng-1.9.0 //进入crosstool目录

#./configure --prefix=~/crosstool/crosstool-install

# make //编译

# sudo make install //安装

#cd crosstool-build/ //进入crosstool-build目录

#cp ../crosstool-ng-1.9.0/samples/arm-unknown-linux-gnueabi/* ./

//拷贝交叉工具链到crosstool-build目录下

#mv .config //修改文件名

#../crosstool-install/bin/ct-ng menuconfig

此刻会出现一个图形配置界面,在此配置界面下,可以按照自己开发板的实

际情况来进行配置:

1、设定源码包路径和交叉编译器的安装路径。

Paths and misc options --->

(/home/yao/crosstool/src) Local tarballs directory 保存源码包路径

(/home/yao/crosstool/tools) Prefix directory

交叉编译器的安装路径

2、修改交叉编译器针对的构架

Target options --->

*** Target optimisations ***

(armv4t) Architecture level

(arm9tdmi) Emit assembly for CPU

(arm920t) Tune for CPU

3、增加编译时的并行进程数,以增加运行效率,加快编译。

Paths and misc options --->

*** Build behavior ***

(2) Number of parallel jobs

这个数值不宜过大,应该为CPU数量的两倍。