LinuxSir.cn,穿越时空的Linuxsir!

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

谁能介绍介绍arm-elfu交叉编译器呢?

[复制链接]
发表于 2004-5-14 13:26:25 | 显示全部楼层 |阅读模式
它和我们用--target=arm-linux建立起来的一套工具(gcc,binutil,glibc,etc)有什么区,大家来讨论讨论
发表于 2004-5-15 18:10:39 | 显示全部楼层
一般的gcc等,是基于x86体系的开发工具

把内核根目录里的Makefile文件里替换ARCH=arm就可以开发基于ARM体系的程序,加--target=arm-linux可以得到一系列arm-linux开头的开发具,如arm-linux-gcc等,为了区别主机平台下的gcc等工具。

同理ppc是基于PowerPC体系的

可以从内核里的arch目录找内核所支持的CPU体系

个人理解,仅供参考!
 楼主| 发表于 2004-5-15 22:50:36 | 显示全部楼层
最初由 renbagshoes 发表
一般的gcc等,是基于x86体系的开发工具

把内核根目录里的Makefile文件里替换ARCH=arm就可以开发基于ARM体系的程序,加--target=arm-linux可以得到一系列arm-linux开头的开发具,如arm-linux-gcc等,为了区别主机平台下的gcc等工具。

同理ppc是基于PowerPC体系的

可以从内核里的arch目录找内核所支持的CPU体系

个人理解,仅供参考!


照这样的说法,使用configure的时候加--target=arm-linux也仅是为了得到以arm-linux开头的开发工具,而并不是用于开发arm体系的CPU的程序的工具?

但许多文章没有提及要替换ARCH的值,而只说明使用target的值就可以建立开发特定CPU的开发工具,真让人困惑,还请renbagshoes兄解惑:thank :thank
发表于 2004-5-16 10:37:47 | 显示全部楼层
可以参考LFS5.0文档中第六章中介绍编译GCC段,我理解就是target只是指定一个别名,我们的x86的gcc全名应是i686-pc-linux-gnu-gcc,一般,我们只有一个平台,所以不需要加以区分。最下面括号里也有很好的说明。

通常情况下,tooldir (可执行文件最后安装到的目录) 是 $(exec_prefix)/$(target_alias), 如果展开,就成为类似于 /usr/i686-pc-linux-gnu这样。因为我们只为自己的系统编译,就并不需要/usr目录下再存在目标前缀。它是在交叉编译时(比如在Intel机器上编译将在PowerPC上执行的程序时)才用到的。
 楼主| 发表于 2004-5-16 12:32:56 | 显示全部楼层
暂时以兄弟的看法为准,我们再继续研究研究

另外对于arm-elf建立的工具是不是专用于arm体系的cpu的编译,连接等工具?它是gnu的项目?是否有兄弟能介绍一下这方面的资料?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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