引导加载程序 。在嵌入式系统中 ·通常并没有像BIOS那样的固件程序。 ★注:有的嵌入式CPU也会内嵌一段短小的启动程序 ·整个系统的加载启动任务完全由Boot Loader完成· ●如在一个基于ARM7 TDMI core的嵌入式系统中,系统在 上电或复位时通常都从地址0x00000000处开始执行, 而在这个地址处安排的通常就是系统的Boot Loader程序。 1口4四1是42月00 陈香兰(xlanchenoustc,edu,cn)(升界款应 长人式操作系统 December 4.2014 6 /87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 引导加载程序 在嵌入式系统中 ▶ 通常并没有像 BIOS 那样的固件程序。 ⋆ 注:有的嵌入式 CPU 也会内嵌一段短小的启动程序 ▶ 整个系统的加载启动任务完全由 Boot Loader 完成。 如在一个基于 ARM7TDMI core的嵌入式系统中,系统在 上电或复位时通常都从地址 0x00000000 处开始执行, 而在这个地址处安排的通常就是系统的 Boot Loader 程序。 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 6 / 87
Outline ①BootLoader简介 ●Boot Loader的概念 o Boot Loader的安装 。Boot Loader的启动过程和操作模式 。Boot Loader的主要任务和典型结构框架 。部分开源的Boot Loader u-boot 。u-bo0t简介 。编译u-boot 。简单分析u-boot源码 RedBoot 。RedBoot荀介 。RedBoot的下载、编译和运行 。RedBoot的简单分析 小结和作业 4口4四1是4P,刀00 陈香兰(xlanchenoustc,ed加,cn)(升异款应 收人式择作系统 December 4.2014 7 /87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Outline 1. BootLoader简介 Boot Loader 的概念 Boot Loader 的安装 Boot Loader 的启动过程和操作模式 Boot Loader的主要任务和典型结构框架 部分开源的Boot Loader .2 u-boot u-boot简介 编译u-boot 简单分析u-boot源码 .3 RedBoot RedBoot简介 RedBoot的下载、编译和运行 RedBoot的简单分析 4. 小结和作业 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 7 / 87
Boot Loader的概念 。Boot Loader是在操作系统内核运行之前运行的第一段小程序。 ●初始化硬件设备 ©建立内存空间的映射图 ★将系统的软硬件环境带到一个合适的状态·以便为最终调用 操作系统内核准备好正确的环境· O加载操作系统内核映象到RAM中,并将系统的控制权传递给它 ★例如:Linux 1口t4四1是42刀00 陈香兰(xlanchenoustc,edu,cn)(升界丸应 长人式操作系统 December 4.2014 8 /87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Boot Loader 的概念 Boot Loader 是在操作系统内核运行之前运行的第一段小程序。 1. 初始化硬件设备 2. 建立内存空间的映射图 ⋆ 将系统的软硬件环境带到一个合适的状态,以便为最终调用 操作系统内核准备好正确的环境。 3. 加载操作系统内核映象到RAM中,并将系统的控制权传递给它 ⋆ 例如:Linux 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 8 / 87
通用的Boot Loader ●在嵌入式世界里建立一个通用的Boot Loader几乎是不可能的 ~Boot Loader对硬件的依赖性非常强,特别是在嵌入式系统世界中 ●尽管如此,仍可对Boot Loader归纳出一些通用的概念, 以指导用户特定的Boot Loader设计与实现。 1口+4四1是4P在刀0C 陈香兰(xlanchenoustc,edu,cn)(升界款应 长人式操作香统 December4.20149/87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 通用的Boot Loader 在嵌入式世界里建立一个通用的 Boot Loader 几乎是不可能的 ▶ Boot Loader 对硬件的依赖性非常强,特别是在嵌入式系统世界中 尽管如此,仍可对 Boot Loader 归纳出一些通用的概念, 以指导用户特定的 Boot Loader 设计与实现。 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 9 / 87
支持的CPU和嵌入式板 Boot Loader依赖于 OCPU的体系结构 O不同的CPU体系结构都有不同的Boot Loader O有些Boot Loader也支持多种CPU体系结构 ★例如U-Boot同时支持ARM和MIPS体系结构 ©具体的嵌入式板级设备的配置 对于两块不同的嵌入式板,即使它们基于同一种CPU, 要想让运行在一块板子上的Boot Loader也能运行在另 一块板子上,通常也都需要修改Boot Loader源程序 4口4四是4P在刀0C 陈香兰(xlanchenoustc.,ed加,cn)(升界丸应 长人式操作香统 December 4.2014 10/87
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 支持的 CPU 和嵌入式板 Boot Loader依赖于 1. CPU 的体系结构 1. 不同的CPU体系结构都有不同的Boot Loader 2. 有些 Boot Loader 也支持多种CPU体系结构 ⋆ 例如U-Boot同时支持ARM和MIPS体系结构 2. 具体的嵌入式板级设备的配置 ▶ 对于两块不同的嵌入式板,即使它们基于同一种 CPU, 要想让运行在一块板子上的 Boot Loader也能运行在另 一块板子上,通常也都需要修改 Boot Loader源程序 陈香兰(xlanchen@ustc.edu.cn) (计算机应用教研室@计算机学院嵌入式系统实验室 嵌入式操作系统 @苏州研究院中国科学技术大学Fall 2014) December 4, 2014 10 / 87