摘要 | 第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页 |