



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
移植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喀什经济开发区兵团分区招聘(10人)考试参考试题及答案解析
- 2025江西南昌市西湖城市建设投资发展集团有限公司及下属子公司招聘40人考试参考试题及答案解析
- 2024教科版一年级科学上册全册教案设计
- 2025年体育组织行业研究报告及未来行业发展趋势预测
- 2024年永州市工会社会工作者招聘笔试真题
- 推进文旅医养融合发展的策略及实施路径
- 弹跳的小球教学课件
- 2025年山东快递工程专业职称考试(快递设施设备知识·技术员、助理工程师)历年参考题库含答案详解(5卷)
- 反洗钱身份识别培训课件
- 2025年北京市人文知识竞赛真题
- 山东省烟台市2024-2025学年高一下学期期末学业水平诊断生物试卷(含答案)
评论
0/150
提交评论