摘要 | 第1-4页 |
Abstract | 第4-8页 |
第一章 概论 | 第8-14页 |
·嵌入式系统介绍 | 第8页 |
·ARM to minix项目介绍 | 第8-9页 |
·交叉编译系统 | 第9-12页 |
·编译器的结构 | 第9-11页 |
·交叉编译的必要性 | 第11-12页 |
·主流平台开发工具 | 第12页 |
·利用GNU工具链构建ARM-MINIX嵌入式系统的开发环境 | 第12-14页 |
·利用GNU工具链构建嵌入式系统开发环境的优越性 | 第12-13页 |
·利用GNU工具链构建ARM-MINIX嵌入式系统的开发环境 | 第13-14页 |
第二章 目标平台和GNU工具链 | 第14-27页 |
·ARM体系结构和minix的a.out格式 | 第14-20页 |
·ARM体系结构 | 第14-16页 |
·内存空间 | 第15页 |
·ARM的内部寄存器 | 第15-16页 |
·minix的a.out格式剖析 | 第16-20页 |
·a.out格式目标文件的结构 | 第16-17页 |
·minix的a.out格式 | 第17-20页 |
·GNU工具链 | 第20-27页 |
·GCC简介 | 第20页 |
·GCC编译系统的结构及其工作流程 | 第20-23页 |
·GCC编译系统的工作流程 | 第20-21页 |
·GCC编译器的结构 | 第21-23页 |
·GNU Binutils工具包和make项目管理工具 | 第23-27页 |
·GNU Binutils工具包 | 第23-24页 |
·GNU make项目管理工具 | 第24-27页 |
第三章 GAS和GLD的实现机制分析 | 第27-42页 |
·BFD库 | 第27-31页 |
·BFD的顶层结构 | 第27-28页 |
·BFD内部工作机制分析 | 第28-30页 |
·BFD前端 | 第28-29页 |
·BFD库代码 | 第29-30页 |
·BFD的后端 | 第30页 |
·BFD的重要数据结构 | 第30-31页 |
·GAS的分析 | 第31-36页 |
·GAS的数据类型 | 第31-32页 |
·GAS源代码分析 | 第32-34页 |
·GAS的目录结构 | 第32-33页 |
·GAS源代码的主要文件及作用 | 第33-34页 |
·GAS的结构 | 第34页 |
·GAS的工作流程 | 第34-36页 |
·连接器GLD的分析 | 第36-42页 |
·连接器GLD的作用 | 第36-38页 |
·连接器GLD的工作机制 | 第38-40页 |
·GNU LD的数据结构 | 第40页 |
·GLD的实现机制分析 | 第40-42页 |
第四章 移植GCC交叉编译系统 | 第42-50页 |
·交叉编译器移植的思路 | 第42-43页 |
·GCC各模块分析: | 第42页 |
·GCC交叉编译器移植的一般过程 | 第42-43页 |
·BFD地移植 | 第43-46页 |
·GAS地移植 | 第46-47页 |
·GLD地移植 | 第47-50页 |
第五章 交叉编译环境的构建 | 第50-55页 |
·建立交叉编译系统的一般步骤 | 第50页 |
·交叉编译系统的构建 | 第50-55页 |
·准备阶段 | 第50页 |
·修改Binutils和GCC | 第50-52页 |
·添加目标target到Binutils | 第50-52页 |
·添加目标到GCC | 第52页 |
·移植newlib库 | 第52-53页 |
·构建针对arm-minix的交叉编译系统 | 第53-55页 |
第六章 总结 | 第55-56页 |
参考文献 | 第56-59页 |
致谢 | 第59页 |