全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
移植GNU工具链到新的体系架构字体: 小 中 大 | 打印 发表于: 2008-4-08 20:31 作者: beforewind 来源: EDA中国门户网站 链接地址:/toolchain/toolchain_guide_for_tot.html2007-12-11 从何开始有个新的CPU, 或者新的操作系统,该怎么样搞个tool chain出来? 如何构建一个 self host的操作系统? 或许不为真的要去构造, 仅仅满足一下好奇心而已. 当然打算从gnu toolchain入手, 又不是为了写编译器.(来自互联网的内容已尽力标明出处)tool chain 的结构GCC的tool chain 包括几个部分? 根据印象,应是有gcc,cpp,cc1,gas,ld,gdb, ar, nm,strip,objdump .emulator? 忘了,还有重要的libc. 汗.看一个以上几部分都已经都存在的tool chain的构建,我们需要下面的几个部分才能构建一个完整的tool chain:binutils :gas,ld,ar,nm,strip,objdump.gun-gcc:gcc,cpp,cc1,libc: a c lib for applicationsgdb: for debugging .模拟器.以上各个部分,缺了就不好受.Binutils估计as是我们最想搞到的部分. 没有as,ld,nm,ar. 即使移植了Gcc也是不能工作.binutils包含如下各个部分:主要部分: ld - the GNU linker. as - the GNU assembler.其他(很有用哦): addr2line - Converts addresses into filenames and line numbers. ar - A utility for creating, modifying and extracting from archives. c+filt - Filter to demangle encoded C+ symbols. gprof - Displays profiling information. nlmconv - Converts object code into an NLM. nm - Lists symbols from object files. objcopy - Copys and translates object files. objdump - Displays information from object files. ranlib - Generates an index to the contents of an archive. readelf - Displays information from any ELF format object file. size - Lists the section sizes of an object or archive file. strings - Lists printable strings from files. strip - Discards symbols. windres - A compiler for Windows resource files.预备知识:1.阅读如binutils自己的文档 gas/doc/internals.texi bfd/doc/bfdint.texi Preliminary Notes on Porting BFD2.读源代码.?3.找个cpu的实例来分析,比如这个Add new target to Binutils还有PS3的cell CPU的proting: New port to Cell SPU也比较全面.移植的基本步骤,建议仔细阅读 CGEN, the Cpu tools GENerator 的各种文档:移植完整的Tool chain到一个CPU(target),需要按顺序(不一定,但是这么做是有道理的)移植如下模块: DejaGNUDejaGNU是一个测试工具 DejaGNU的Home Page BFD Binary File DriverPreliminary Notes on Porting BFD CGEN 为GNU tool Chain 提供CPU描述,产生基础文件pcodes, GAS, and simulator,refer to M32R port Opcodes opcodes 目录完全由CGEN产生 CGEN Porting GAS CGEN只产生部分代码,主要是测试 CGEN Porting Binutils ld 搞完ld, binutils就全了. newlib libgloss simulatorCGEN Porting GCC GDB可以看到CGEN的重要作用,困难的Opcodes部分他已经帮着做了. 对于binutils, CGEN为CPU产生如下文件:Opcodes:include/opcodes/FOO.h - Port specific ISA encodingopcodes/FOO-dis.c - Port specific disassembler routinesopcodes/FOO-opc.c - Port specific ISA encodingsize=-1ISA: Instruction Set Architecture . 然后,by hand吧,最头痛的部分可能是BFD/*-Foo.c的编写了,好像是重定位的方式很是不好,RedHat为此搞了一个新的重定位的方式,但是,没有公开.:BFD: bfd/elf32|coff-FOO.c - Port specific relocation handlersbfd/cpu-FOO.c - Port specific description of the CPUGAS:gas/config/tc-FOO.h - Customisation of generic parts of the assemblergas/config/tc-FOO.c - Port specific parts of the assemblerinclude/coff|elf/FOO.h - Port specific header fileLD:ld/scripttempl/FOO.sc - Port specific linker template fileld/emulparam/FOO.sh - Port specific linker customisation最后是各种配置文件的修改:opcodes/configure.inopcodes/disassemble.copcodes/Makefile.ambfd/configure.inbfd/config.bfdbfd/archures.cbfd/reloc.cbfd/targets.cbfd/Makefile.am Run make dep-am.gas/configure.ingas/configure.tgt Add new cpu support.gas/Makefile.am Run make dep-amld/configure.inld/makefile.aminclude/dis-asm.hbinutils/readelf.c:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年下半年内蒙古事业单位联考招聘易考易错模拟试题(共500题)试卷后附参考答案
- 2025年辅警招聘考试试题库及答案(历年真题)
- 跨域医疗数据共享机制-第1篇-洞察与解读
- 2025年全国导游资格《地方导游基础知识》考试题库(含答案)
- 2025年光荣院招聘笔试预测试题及答案
- 2025年全国保密教育线上培训考试试题库带答案详解
- 储能系统功率质量优化策略-洞察与解读
- 2025版权授权合同范本下载
- 2025企业股权转让合同协议书范本
- 2024年武隆县辅警招聘考试真题含答案详解(突破训练)
- 京密引水渠保护管理办法
- 2025年机械设计制造及其自动化专业考试卷及答案
- (高清版)DB34∕T 1267-2025 造林技术规程
- 大学生职业生涯规划书(教育专业)
- 《低钠血症的中国专家共识(2023)》解读
- 乳房疾病预防与保养
- 五粮液国庆茅台活动方案
- 日语入门考试试题及答案
- T/CGCC 14-2018无形资产价值评价体系
- T/CBMCA 022-2021陶瓷岩板加工规范
- 三级医院评审标准实施细则(2023 年版)
评论
0/150
提交评论