LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 7865|回复: 9

arm-elf-tools 与 arm-linux-tools 的区别?

[复制链接]
发表于 2006-11-20 14:58:49 | 显示全部楼层 |阅读模式
这两个交叉编译工具有什么不同?是不是编译出的可执行文件格式不同?(arm-elf-tools编译出的可执行文件格式好像为elf32,那么arm-linux-tools呢?)还是所依赖的系统不同?(arm-elf-tools编译的可执行文件可以在uclinux下运行,那么arm-linux-tools呢?)

   arm-linux-tools,arm-elf-tools两工具分别编译出的可执行文件可以在同一个开发板上运行么?
发表于 2006-12-1 09:25:38 | 显示全部楼层
arm-elf-tools 生成的文件是FLAT格式的,连接时需要选项-elf2flt,编译得到的文件可以直接在裸机上跑,uClinux和ARM7可能只能运行这种格式的程序。

arm-linux-tools编译生成的文件是Linux内使用的可执行文件的格式(比如a.out)。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-1 10:38:53 | 显示全部楼层
Post by luoyong
arm-elf-tools 生成的文件是FLAT格式的,连接时需要选项-elf2flt,编译得到的文件可以直接在裸机上跑,uClinux和ARM7可能只能运行这种格式的程序。

arm-linux-tools编译生成的文件是Linux内使用的可执行文件的格式(比如a.out)。


嗯,我知道了,arm-elf-tools生成的文件是flat格式,一种2进制文件格式
而arm-linux-tools 生成的文件格式是elf,一种可以在x86体系下运行的可执行文件格式。
elf文件格式相比于flat格式庞大得多。
不知我这样的说法对不?
回复 支持 反对

使用道具 举报

发表于 2006-12-3 16:47:17 | 显示全部楼层
没错。
回复 支持 反对

使用道具 举报

发表于 2006-12-5 10:53:45 | 显示全部楼层
而arm-linux-tools 生成的文件格式是elf,一种可以在x86体系下运行的可执行文件格式

生成的文件应该是运行在arm体系下的吧
回复 支持 反对

使用道具 举报

发表于 2006-12-6 09:43:14 | 显示全部楼层
从新版本看两者间的区别应该已经没有了,是面向同一目标的不同产品。
特地看了一下arm-linux-tools站上的文档,也没提之间的差别,新版的arm-linux-tools也支持ELF格式,而且强调生成的目标代码与操作系统无关,并建议不要使用旧的a.out格式。
我曾分别用arm-elf-tools和arm-linux-tool(u-boot官方提供的编译环境ELDK)编译过u-boot,都可以正常运行。
回复 支持 反对

使用道具 举报

发表于 2006-12-7 08:45:05 | 显示全部楼层
Post by LYOO
从新版本看两者间的区别应该已经没有了,是面向同一目标的不同产品。
特地看了一下arm-linux-tools站上的文档,也没提之间的差别,新版的arm-linux-tools也支持ELF格式,而且强调生成的目标代码与操作系统无关,并建议不要使用旧的a.out格式。
我曾分别用arm-elf-tools和arm-linux-tool(u-boot官方提供的编译环境ELDK)编译过u-boot,都可以正常运行。


编译u-boot是可以正常运行,那么编译busybox呢?
回复 支持 反对

使用道具 举报

发表于 2006-12-7 11:51:58 | 显示全部楼层
Post by luoyong
编译u-boot是可以正常运行,那么编译busybox呢?

我觉得编译busybox时需要修改一下ld脚本,定址工作不再由程序员完成,而是交给操作系统来做,应该是就可以跑了。

当然,我还没亲自实验过,只是个思路,等空下来,试试看:%
回复 支持 反对

使用道具 举报

发表于 2006-12-7 11:56:13 | 显示全部楼层
Post by luoyong
编译u-boot是可以正常运行,那么编译busybox呢?

我觉得编译busybox时需要修改一下ld脚本,定址工作不再由程序员完成,而是交给操作系统来做,应该是就可以跑了。

当然,我还没亲自实验过,只是个思路,等空下来,试试看:%
回复 支持 反对

使用道具 举报

发表于 2007-1-8 19:53:38 | 显示全部楼层

arm-linux-gcc怎么安装??

请问arm-linux-gcc交叉编译器怎么安装和配置呀???
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表