如果你的工作是嵌入式产品开发,那么支持多平台的Linux工具将是你的首选。对于开发所需要的一系列工具,比如编辑器(vi)、编译器(gcc、g++、as)、链接工具(ld)、调试工具(gdb)项目管理(autoconf、automake、make)、函数库(libc)等等都可以免费获得。利用这些工具可以制作出专门用于编译嵌入式软件的编译器。在Debian Linux中你可以如下进行:
(1) 安装如下工具,使用命令:
# apt-get install dpkg-cross fakeroot dpatch autoconf2.13 gawk flex realpath automake1.7 debhelper cdbs
(2) 获取binutils和libc的源码,使用如下命令:
# apt-get source -x gcc-3.4 binutils libc
(3) 从http://bugs.debian.org获得binutils的交叉平台补丁,我使用的版本是binutils 2.15-5,对于不同的嵌入式平台,可以如下打补丁:
$ patch -p0 < binutils-cross-2.15-5.patch
$ cd binutils-2.15
$ TARGET=arch-linux fakeroot debian/rules binary-cross (此处 arch 可以被 arm, alpha,...等目标平台代替)
(4) 安装所产生的deb包,使用命令:
# dpkg -I xxx.deb
(5)从http://packages.debian.org处查找并下载你所用平台的libdb1-compat, libc6, libc6-dev , linux-kernel-headers等deb包。
(6)对相应平台的每个deb包使用dpkg-cross转换一下,使用如下命令:$ dpkg-cross -b -a arch package转换完之后进行安装:# dpkg -i converted-package
(7)接着,编译目标平台的gcc,我是用的是gcc-3.4.3,可以如下进行:
$ export GCC_TARGET=arch (此处arch可以被arm, alpha,...等目标平台所代替)
$ cd gcc-3.4-3.4.3
$ debian/rules control
$ dpkg-buildpackage -b -rfakeroot
(8)安装所产生的如下八个deb包:
libstdc++6-0-arm-cross_3.4.3-3_all.deb
libstdc++6-0-dev-arm-cross_3.4.3-3_all.deb
libstdc++6-0-dbg-arm-cross_3.4.3-3_all.deb
libstdc++6-0-pic-arm-cross_3.4.3-3_all.deb
g++-3.4-arm-linux_3.4.3-3_i386.deb
gcc-3.4-arm-linux_3.4.3-3_i386.deb
cpp-3.4-arm-linux_3.4.3-3_i386.deb
libgcc1-arm-cross_3.4.3-3_all.deb
至此,你的嵌入式开发平台就搭建好了。也可以参见:http://www.emdebian.org/tools/crossdev.html
没有评论:
发表评论