博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

AC郎拿度

我哼着小曲, 当当足球先生, 捧捧世界杯, 过过门将, 推推远角, 踩踩单车, 玩玩牛尾巴, 泡泡名模...
   zzzppp.cublog.cn
关于作者  
我好人啊...
daily.zp@gmail.com

我的分类  




一些现成的GNU交叉开发工具链
嵌入式设备由于不具备一定的处理器能力和存储空间,程序开发一般用PC来完成,然后将可执行文件下载到嵌入式系统中运行。这是目前嵌入式程序开发的不二选 择——Host/target模式。但这引发了一个问题:由于Host和Target的处理器体系结构不同,我们不能直接用PC上既有的程序开发工具,必 须使用跨平台开发工具,即在Host上生成能在Target上运行格式的目标文件。

自己建立交叉编译环境是一件很头疼的事(处理版本的依赖性, 漫长的编译过程...),如果你不想经历这样的痛苦,可以选择网上编译好了的工具链进行安装.如果你用的是Debian/Ubuntu的发行版, 可以使用Emdebian. 如果使用uClinux, 也可安装arm-elf-tools. 另外, 有一个比较新的项目: GNU ARM, 它提供了针对linux, cygwin, MacOS平台的交叉编译工具, 有源代码形式的, 也有二进制形式的.

本blog有篇自己从源代码构建交叉编译工具的文章,  看这里!


Emdebian


Emdebian提供了binutils 2.15, gcc3.3.5 / gcc3.4.3的稳定已编译版本.

安装方法:
(1)在/etc/apt/sources.list文件中添加下列内容:
deb http://www.emdebian.org/emdebian-tools/stable ./

(2)运行 $ apt-get update

(3) $ apt-get install gcc-3.3-arm-linux libc6-dev-arm-cross
或  $ apt-get install gcc-3.4-arm-linux libc6-dev-arm-cross
前者安装3.3版,后者安装3.4版.我在Ubuntu上安装3.3的依赖性有问题,安装3.4的成功。

Warning
The emdebian cross development environment will install files in /usr/bin so you will have to make sure that you do not overwrite any development tools which you may already have on your system.

Embedian将开发环境所用的软件放在/usr/bin目录中:
$ ls /usr/bin/arm*
arm-linux-addr2line  arm-linux-c++filt  arm-linux-gcc      arm-linux-nm       arm-linux-ranlib   arm-linux-strings
arm-linux-ar         arm-linux-cpp      arm-linux-gcc-3.4  arm-linux-objcopy  arm-linux-readelf  arm-linux-strip
arm-linux-as         arm-linux-cpp-3.4  arm-linux-ld       arm-linux-objdump  arm-linux-size

但我最近运行 $ sudo apt-get update 时发现:
deb http://www.emdebian.org/emdebian-tools/stable ./
这个源有问题了, 装不了


ARM-ELF-TOOLS


到http://www.uclinux.org/pub/uClinux/arm-elf-tools/下载arm-elf-tools交叉编译工具安装程序。

下载之后的文件名为arm-elf-tools-20030314.sh(日期可能不同)是脚本文件,安装方法:
    (1)首先看其权限,如果没有执行权限,先给它加上相应的执行权限。
    (2)应该将它拷贝到根目录下,运行$ sudo sh ./arm-elf-tools-20030314.sh。默认的安装路径在usr/local目录。
   
到/usr/local/bin,查看目录中是否存在以arm-elf开头的文件,如果有,则说明安装成功。
   
注意Emdebian的arm-linux工具和uClinux的arm-elf工具区别:
1, arm-linux可视为标准工具链, arm-elf相当于针对运行uClinux的目标环境做了一些补丁.
2, arm-linux默认安装路径在/usr/bin, arm-elf默认安装路径在usr/local/bin.
3, arm-linux使用glibc库,而arm-elf使用uClibc.
一般来说,如果你用uClinux开发,则使用arm-elf工具,否则使用arm-linux工具.



GNU ARM

GNU ARM 针对cygwin, GNU/Linux(x86), GNU/Linux(x86_64), MacOS提供了source, binary形式的交叉编译工具.
目前针对x86 GNU/Linux 的binary工具是:
GNU/Linux (x86)
binutils-2.15, gcc-3.4.3-c-c++-java, newlib-1.12.0, insight-6.1, TAR BZ2 [56.0MB]
使用它很简单, 将包放在一个合适的目录, 解压, 将bin目录添加到PATH变量, 你就可以调用了.

注意它使用的newlib, 而且带上了insight调试工具(后端是gdb).

 发表于: 2006-05-23,修改于: 2006-05-30 14:33 已浏览2918次,有评论0条 推荐 投诉

  网友评论

  发表评论



Copyright © 2001-2006 ChinaUnix.net All Rights Reserved

感谢所有关心和支持过ChinaUnix的朋友们
页面生成时间:2.28443

京ICP证041476号