摘要 | 第3-4页 |
Abstract | 第4-5页 |
第一章 绪论 | 第9-14页 |
1.1 课题背景和意义 | 第9-13页 |
1.1.1 课题背景 | 第9-12页 |
1.1.2 研究意义 | 第12-13页 |
1.2 本文概述 | 第13-14页 |
第二章 搭建及配置开发平台 | 第14-26页 |
2.1 安装与配置 Linux 平台 | 第14-19页 |
2.1.1 安装虚拟机 VMware Workstation | 第15页 |
2.1.2 安装嵌入式操作系统 Ubuntu | 第15-16页 |
2.1.3 配置 Linux 平台 | 第16-19页 |
2.2 配置 PC 机平台 | 第19-20页 |
2.2.1 配置 FTP 客户端 | 第19页 |
2.2.2 设置 DNW | 第19-20页 |
2.2.3 安装 Source Insight | 第20页 |
2.3 建立交叉编译环境及测试 | 第20-25页 |
2.3.1 安装交叉编译工具 | 第21-22页 |
2.3.2 修改环境变量 | 第22-23页 |
2.3.3 示例程序的编写与测试 | 第23-25页 |
2.4 小结 | 第25-26页 |
第三章 移植 SIL3114 的驱动 | 第26-65页 |
3.1 嵌入式系统开发的流程 | 第26页 |
3.2 SIL3114 驱动移植流程图的设计 | 第26-28页 |
3.2.1 静态编译与动态编译 | 第26-28页 |
3.2.2 SIL3114 驱动移植流程图的设计 | 第28页 |
3.3 μClinux 内核的配置系统 | 第28-35页 |
3.3.1 make 工具及工作原理 | 第30-31页 |
3.3.2 Makefile 基本结构 | 第31页 |
3.3.3 Makefile 规则 | 第31-33页 |
3.3.4 Config.in 功能及简单语法 | 第33-35页 |
3.4 Gcc 编译流程 | 第35-37页 |
3.5 获取标准μClinux 内核 | 第37-38页 |
3.6 源内核环境下的模块编译 | 第38-45页 |
3.6.1 确定处理器和编译器类型 | 第39页 |
3.6.2 编写 Makefile | 第39-41页 |
3.6.3 分析头文件的搜索路径 | 第41-43页 |
3.6.4 分析内核中的条件编译 | 第43-44页 |
3.6.5 引用头文件 | 第44-45页 |
3.6.6 编译结果及分析 | 第45页 |
3.7 目标内核下的模块编译 | 第45-52页 |
3.7.1 建立目标内核下模块编译条件 | 第45-46页 |
3.7.2 分析解析错误(parse error) | 第46-48页 |
3.7.3 分析隐式声明 | 第48-50页 |
3.7.4 分析内建函数 | 第50-52页 |
3.7.5 编译结果及分析 | 第52页 |
3.8 目标内核下的静态编译 | 第52-64页 |
3.8.1 修改配置文件 Makefile 和 Config.in | 第52-53页 |
3.8.2 分析 Makefile 的隐晦规则 | 第53-54页 |
3.8.3 编译目标内核 | 第54-56页 |
3.8.4 分析链接过程 | 第56-59页 |
3.8.5 导出全局符号 | 第59-62页 |
3.8.6 分析未定义变量 | 第62-63页 |
3.8.7 结果及分析 | 第63-64页 |
3.9 小结 | 第64-65页 |
第四章 测试 | 第65-75页 |
4.1 嵌入式系统的软件组成 | 第65页 |
4.2 常见 Bootloader 的启动过程 | 第65-66页 |
4.3 分析 ARMboot 启动代码 | 第66-70页 |
4.4 ROMFS 文件系统 | 第70-71页 |
4.5 测试 | 第71-74页 |
4.5.1 利用 H-JTAG 烧写 Bootloader | 第72-73页 |
4.5.2 烧写内核和文件系统 | 第73-74页 |
4.6 小结 | 第74-75页 |
第五章 总结与展望 | 第75-77页 |
参考文献 | 第77-82页 |
致谢 | 第82-83页 |
攻读硕士学位期间发表的论文 | 第83页 |