|
|
|
|
 关于GCC移植到新的硬件的问题 - ACp [ 2005-07-15 17:40 | 118 byte(s)]
 中国有那些公司或单位提供移植GCC的服务? - gangchen_sh [ 2005-07-19 01:16 | 0 byte(s)]
 Re: 关于GCC移植到新的硬件的问题 - pdqqdqq [ 2005-07-17 14:58 | 752 byte(s)]
 Re: 关于GCC移植到新的硬件的问题 - want_king [ 2006-04-17 22:35 | 1,208 byte(s)]
 Re: 关于GCC移植到新的硬件的问题 - gillionaire [ 2005-07-19 10:55 | 71 byte(s)]
 Re: 关于GCC移植到新的硬件的问题 - pdqqdqq [ 2005-07-23 16:22 | 494 byte(s)]
 Re: 关于GCC移植到新的硬件的问题 - teawater [ 2005-07-23 18:02 | 41 byte(s)]
 Re: 关于GCC移植到新的硬件的问题 - keyboard [ 2005-07-18 15:41 | 91 byte(s)]
 Re: 关于GCC移植到新的硬件的问题 - yjx_super [ 2005-07-18 19:57 | 128 byte(s)]
 Re: 关于GCC移植到新的硬件的问题 - artu [ 2005-07-18 18:44 | 32 byte(s)]
 Re: 关于GCC移植到新的硬件的问题 - teawater [ 2005-07-15 20:46 | 17 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
与bfd完全没有关系.bfd是调试器内部的东西.你要做的主要有:
1.熟悉你的机器的指令集和汇编语言.(写机器描述时要用)
2.熟悉你的系统的ABI(Application Bianry Interface),它规定了你的系统的数据表示,数据的对齐方式,存储访问方式,寄存器的用法,栈的布局,参数的传递方式,等等一些运行时的环境.(写系统相关的头文件和gcc编译器的内部定义宏时要用)
3.彻底理解gcc的机器描述.你可以在gcc的文档*.info中找到关于机器描述的介绍.阅读这个文件时配合阅读gcc/config/下某个机器的已有*.md文件效果更好.
4.从gcc/config/目录下选择某个与你的机器相近的机器的目录,复制该目录.修改其中的*.md,*.c,*.h等文件.
在这些事情中,最核心的是理解机器描述.完全理解了机器描述,你就成功70%,另外,你还得熟悉gcc编译器的内部定义宏.掌握了这两方面的知识,剩下的就是工作量的问题了.
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
你说的很好.
不知你看过LCC的资料没有?有没有关于*.MD文件的格式说明啊?我找了一阵子了.
|
|
----
\ {[<~!@#$%^&*()_-+=|:;"',./>]}?
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
|
GCC的internal文档中有关于MD文件的说明呀!Porting GCC for Dunces这篇文章中也有呀!你google一下porting gcc会出现很多相关东东的!!
|
|
|
----
Out of your Window!
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
gcc需要bdf吗?Are you sure?没错,as和ld确实需要bdf,因为bdf是它们之间交换数据的一种格式。但是,具我了解,gcc不需要了解bdf,因为它只与as有接口,而与as的接口是汇编语言。为了生成带有调试信息的汇编代码,故还要比普通情况下多了解一些关于调试信息的格式,这些格式是标准的ELF、COFF或DWARF等的符号调试信息格式。不知你说的需要bdf是在什么情况下使用?或许是我有未知道的地方?
如果你说的是不仅仅移植gcc,而且还要移植as和ld,那当然要涉及到bdf。我是将gcc与它们分开看待的。实际上它们分属不同的软件包。
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
看完你写的,我觉的如果对相同体系结构的处理器的移植只用修改机器描述就可以了
因为相同体系结构的处理器只是硬件实现方法不同,指令系统都是相同的.
比如说:gcc 可以编译某种型号的cpu(ycpu); 我现在给这个cpu集成一个新的I/O设备,占用几个没有
使用的I/O 存储地址,构成一个新的型号CPU(ncpu),那么我只要增加gcc/config/ycpu的头文件就可.
是不是这样呢?
------------------------------------------------------------
1.熟悉你的机器的指令集和汇编语言.(写机器描述时要用)
2.熟悉你的系统的ABI(Application Bianry Interface),它规定了你的系统的数据表示,数据的对齐方式,存储访问方式,寄存器的用法,栈的布局,参数的传递方式,等等一些运行时的环境.(写系统相关的头文件和gcc编译器的内部定义宏时要用)
3.彻底理解gcc的机器描述.你可以在gcc的文档*.info中找到关于机器描述的介绍.阅读这个文件时配合阅读gcc/config/下某个机器的已有*.md文件效果更好.
4.从gcc/config/目录下选择某个与你的机器相近的机器的目录,复制该目录.修改其中的*.md,*.c,*.h等文件.
在这些事情中,最核心的是理解机器描述.完全理解了机器描述,你就成功70%,另外,你还得熟悉gcc编译器的内部定义宏.掌握了这两方面的知识,剩下的就是工作量的问题了.
|
|
|
[Original]
[Print]
[Top]
|
|
|