移植gnu工具链到新的体系架构

移植gnu工具链到新的体系架构

ID:8824370

大小:38.50 KB

页数:4页

时间:2018-04-08

移植gnu工具链到新的体系架构_第1页
移植gnu工具链到新的体系架构_第2页
移植gnu工具链到新的体系架构_第3页
移植gnu工具链到新的体系架构_第4页
资源描述:

《移植gnu工具链到新的体系架构》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、移植GNU工具链到新的体系架构字体:小中大

2、打印发表于:2008-4-0820:31  作者:beforewind  来源:EDA中国门户网站链接地址:http://osdev.gro.clinux.org/toolchain/toolchain_guide_for_tot.html2007-12-11从何开始有个新的CPU,或者新的操作系统,该怎么样搞个toolchain出来?如何构建一个selfhost的操作系统?或许不为真的要去构造,仅仅满足一下好奇心而已.当然打算从gnutoolchain入手,又不是为了写编译器.(来自互联网的内容已尽力标明出处)too

3、lchain的结构GCC的toolchain包括几个部分?根据印象,应是有gcc,cpp,cc1,gas,ld,gdb,ar,nm,strip,objdump....emulator?忘了,还有重要的libc...汗..看一个以上几部分都已经都存在的toolchain的构建,我们需要下面的几个部分才能构建一个完整的toolchain:binutils:gas,ld,ar,nm,strip,objdump....gun-gcc:  gcc,cpp,cc1,libc:    aclibforapplicationsgdb:    fordebugging...模拟器

4、...以上各个部分,缺了就不好受...Binutils估计as是我们最想搞到的部分....没有as,ld,nm,ar...即使移植了Gcc也是不能工作...binutils包含如下各个部分:主要部分:·ld-theGNUlinker.·as-theGNUassembler.其他(很有用哦):·addr2line-Convertsaddressesintofilenamesandlinenumbers.·ar-Autilityforcreating,modifyingandextractingfromarchives.·c++filt-Filtertodemang

5、leencodedC++symbols.·gprof-Displaysprofilinginformation.·nlmconv-ConvertsobjectcodeintoanNLM.·nm-Listssymbolsfromobjectfiles.·objcopy-Copysandtranslatesobjectfiles.·objdump-Displaysinformationfromobjectfiles.·ranlib-Generatesanindextothecontentsofanarchive.·readelf-Displaysinformatio

6、nfromanyELFformatobjectfile.·size-Liststhesectionsizesofanobjectorarchivefile.·strings-Listsprintablestringsfromfiles.·strip-Discardssymbols.·windres-AcompilerforWindowsresourcefiles.预备知识:1.阅读如binutils自己的文档  gas/doc/internals.texi  bfd/doc/bfdint.texi  PreliminaryNotesonPortingBFD2.读

7、源代码....??3.找个cpu的实例来分析,比如这个AddnewtargettoBinutils  还有PS3的cellCPU的proting:NewporttoCellSPU  也比较全面.移植的基本步骤,建议仔细阅读CGEN,theCputoolsGENerator的各种文档:移植完整的Toolchain到一个CPU(target),需要按顺序(不一定,但是这么做是有道理的)移植如下模块:·DejaGNU  DejaGNU是一个测试工具DejaGNU的HomePage·BFD          BinaryFileDriver  PreliminaryNo

8、tesonPortingBFD·CGEN        为GNUtoolChain提供CPU描述,产生基础文件pcodes,GAS,andsimulator,refertoM32Rport·Opcodes      opcodes目录完全由CGEN产生CGENPorting·GAS          CGEN只产生部分代码,主要是测试CGENPorting·Binutilsld    搞完ld,binutils就全了........·newlib·libgloss·simulator  CGENPorting·GCC·GDB可以看到CGEN的重要作用,困难的Op

9、codes部分他已经帮着

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。