| 摘要 | 第1-5页 |
| ABSTRACT | 第5-10页 |
| 第1章 引言 | 第10-16页 |
| ·嵌入式系统概念 | 第10-11页 |
| ·嵌入式系统的发展的情况 | 第11-12页 |
| ·嵌入式BOOT LOADER 简介 | 第12-13页 |
| ·本文背景 | 第13-15页 |
| ·本论文结构 | 第15-16页 |
| 第2章 实验系统介绍 | 第16-36页 |
| ·硬件环境 | 第16-20页 |
| ·W90P710 学习板 | 第17-18页 |
| ·LambdaICE JTAG | 第18-20页 |
| ·软件环境 | 第20-35页 |
| ·LambdaEDU3 | 第20-21页 |
| ·GCC 工具链 | 第21-25页 |
| ·程序的编译和链接 | 第22-23页 |
| ·GCC 常用模式 | 第23-24页 |
| ·常用选项 | 第24页 |
| ·警告功能 | 第24-25页 |
| ·连接脚本 | 第25-28页 |
| ·基本概念 | 第25-26页 |
| ·链接脚本 | 第26-27页 |
| ·简单例子 | 第27-28页 |
| ·暗含的连接脚本 | 第28页 |
| ·Makefile | 第28-35页 |
| ·Makefile 结构 | 第28-29页 |
| ·一个简单的Makefile 示例 | 第29-32页 |
| ·Makefile 的一个改进版本:使用变量 | 第32-33页 |
| ·Makefile 的一个改进版本:使用自动推导 | 第33-34页 |
| ·Makefile 的一个改进版本:自动变量($^ $< $@)的应用 | 第34-35页 |
| ·总结 | 第35-36页 |
| 第3章 嵌入式应用程序映像 | 第36-50页 |
| ·ELF 文件 | 第36-47页 |
| ·elf 文件简介 | 第37-38页 |
| ·elf 目标文件格式 | 第38页 |
| ·elf Header 部分 | 第38-41页 |
| ·elf 节区(Sections) | 第41页 |
| ·字符串表(String Table) | 第41-42页 |
| ·符号表(Symbol Table) | 第42-43页 |
| ·重定位信息 | 第43-45页 |
| ·重定位表项 | 第43-45页 |
| ·重定位类型 | 第45页 |
| ·程序加载和动态链接 | 第45-47页 |
| ·其他文件格式 | 第47-49页 |
| ·S-Record 文件 | 第47页 |
| ·HEX 文件格式 | 第47-49页 |
| ·BIN 文件格式 | 第49页 |
| ·部分可执行文件格式的区别 | 第49页 |
| ·总结 | 第49-50页 |
| 第4章 主流嵌入式BOOTLOADER 分析 | 第50-93页 |
| ·主流嵌入式BOOTLOADER 比较 | 第50-54页 |
| ·Blob(Boot Loader Object) | 第50-51页 |
| ·ARMBoot | 第51-52页 |
| ·U-Boot | 第52页 |
| ·Redboot | 第52-53页 |
| ·vivi | 第53-54页 |
| ·Bios-lt | 第54页 |
| ·U-BOOT 源代码分析 | 第54-92页 |
| ·第一阶段(Stage 1) | 第54-58页 |
| ·第二阶段(Stage 2) | 第58-64页 |
| ·U-boot 的初始化 | 第64-79页 |
| ·私有数据global_data | 第64-65页 |
| ·初始化序列init_sequence | 第65-72页 |
| ·环境变量重定位 | 第72-73页 |
| ·初始化设备 | 第73-76页 |
| ·控制台初始化 | 第76-79页 |
| ·命令处理 | 第79-92页 |
| ·命令数据结构 | 第79-80页 |
| ·命令查找 | 第80-81页 |
| ·主循环 | 第81-92页 |
| ·总结 | 第92-93页 |
| 第5章 CORE-BOOT 设计与实现 | 第93-121页 |
| ·ARM 处理器启动原理 | 第93-94页 |
| ·CORE-BOOT 组织结构设计 | 第94-99页 |
| ·LambdaEDU3 目录结构 | 第94-96页 |
| ·Core-Boot 目录结构 | 第96-99页 |
| ·/target/tool/bsps/boards 目录 | 第96-97页 |
| ·/target/tool/bsps/drivers 文件夹 | 第97-99页 |
| ·/target/tool/bsps/include 文件夹 | 第99页 |
| ·/target/tool/bsps/shared 文件夹 | 第99页 |
| ·CORE-BOOT 代码设计 | 第99-120页 |
| ·Boot Loader 与应用的关系 | 第99-103页 |
| ·RAM Boot Loader | 第99页 |
| ·Boot Loader 和应用一体化结构 | 第99-100页 |
| ·Boot Loader 与应用分离的结构 | 第100-103页 |
| ·地址规划设计(ROM 与RAM 的内存关系) | 第103-107页 |
| ·内存不重新映射 | 第103-104页 |
| ·内存进行一次映射 | 第104页 |
| ·内存进行两次映射 | 第104-105页 |
| ·系统初始化 | 第105-107页 |
| ·Core-Boot 源代码设计 | 第107-117页 |
| ·Core-Boot 第一阶段(Stage 1) | 第107-115页 |
| ·Core-Boot 第二阶段(Stage 2) | 第115-117页 |
| ·Core-boot 的初始化 | 第117-120页 |
| ·Core-Boot 初始化序列init_sequence | 第117-119页 |
| ·init_sequence 中的函数 | 第119页 |
| ·NOR Flash 初始化 | 第119-120页 |
| ·NAND FLASH 初始化 | 第120页 |
| ·控制台初始化 | 第120页 |
| ·小结 | 第120-121页 |
| 第6章 CORE-BOOT 测试以及实验设计 | 第121-134页 |
| ·基于RAM 的BOOT LOADER 实验 | 第121-129页 |
| ·创建项目“Boot_RAM” | 第121-124页 |
| ·项目设置 | 第124-126页 |
| ·项目编译 | 第126-127页 |
| ·下载运行 | 第127-129页 |
| ·验证结果 | 第129页 |
| ·基于ROM 的BOOT LOADER 实验 | 第129-132页 |
| ·创建项目“Boot_App” | 第130页 |
| ·项目设置 | 第130-131页 |
| ·项目编译 | 第131页 |
| ·烧写 | 第131页 |
| ·验证结果 | 第131-132页 |
| ·基于ROMRAM 的BOOT LOADER 的实验 | 第132-133页 |
| ·创建项目“Core-Boot” | 第132页 |
| ·项目配置 | 第132页 |
| ·项目编译 | 第132页 |
| ·烧写 | 第132页 |
| ·验证结果 | 第132-133页 |
| ·总结 | 第133-134页 |
| 第7章 结论 | 第134-138页 |
| ·本课题研究的主要内容 | 第134-135页 |
| ·CORE-BOOT 的移植简述 | 第135页 |
| ·CORE-BOOT 的优缺点 | 第135-136页 |
| ·课题中的学习和工作情况 | 第136-138页 |
| 致谢 | 第138-139页 |
| 参考文献 | 第139-141页 |
| 附录 | 第141-143页 |
| 在学期间的研究成果 | 第143-144页 |