课件S3C44B0X bootloader_第1页
课件S3C44B0X bootloader_第2页
课件S3C44B0X bootloader_第3页
课件S3C44B0X bootloader_第4页
课件S3C44B0X bootloader_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、嵌入式系统BootLoader,王华斌 Wanghuabin-,王华斌,BootLoader,此讲主要介绍如何用汇编指令编写嵌入式系统的初始化代码。嵌入式系统初始化代码程序一般包含在Bootloader中的第一阶段的代码中,他和嵌入式硬件系统的硬件密切相关,必须由汇编代码来实现。 Bootloader就是在操作系统内核运行之前运行的一段程序,相当于PC机上的BIOS。通过这段程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,一般为最终调用操作系统内核准备好正确的环境。系统加电或复位后,从地址0 x0000 0000处取它的第一条指令,程序完成初始化工作。

2、,王华斌,PC 机中的引导加载程序,两部分组成 BIOS(其本质就是一段固件程序) 位于硬盘 MBR 中的 OS Boot Loader(如LILO 和 GRUB 等) 流程 BIOS 在完成硬件检测和资源分配后,将硬盘 MBR 中的 Boot Loader 读到系统的 RAM 中,然后将控制权交给 OS Boot Loader Boot Loader 的主要运行任务就是将内核映象从硬盘上读到 RAM 中,然后跳转到内核的入口点去运行,即开始启动操作系统。,王华斌,嵌入式系统中引导加载程序,典型的嵌入式系统 boot loader Blob: boot loader object的缩写 U-b

3、oot:universal boot loader的缩写, 支持ARM,MIPS,X86,Nios等处理器 可启动VxWorks, QNX, Linux等多种操作系统,王华斌,固态存储设备的典型空间分配结构,王华斌,Boot Loader 的启动过程,多阶段的 Boot Loader 提供更为复杂的功能,以及更好的可移植性 从固态存储设备上启动的 Boot Loader 大多都是 2 阶段的启动过程 启动过程可以分为 stage 1和 stage 2 两部分 BOOTLOADER一般分为2部分 汇编部分执行简单的硬件初始化 C语言部分负责复制数据,设置启动参数,串口通信等功能 BOOTLOAD

4、ER的生命周期 1. 初始化硬件,如设置UART(至少设置一个),检测存储器等 2. 设置启动参数,告诉内核硬件的信息,如用哪个启动界面,波特率. 3. 跳转到操作系统的首地址. 4. 消亡,王华斌,BootLoader 与主机之间进行文件传输所用的通信设备及协议,通常目标机上的 Boot Loader 通过串口与主机之间进行文件传输 传输协议 通常是 xmodemymodemzmodem 协议中的一种 可通过以太网连接并借助 TFTP 协议来下载文件 串口传输的速度是有限的 主机提供 TFTP 服务,王华斌,BootLoader的主要任务,stage1通常包括以下步骤 (主要讲述) 硬件设备初始化 为加载BootLoader的stage2准备RAM空间 拷贝BootLoader的stage2到RAM空间中 设置好堆栈 跳转到stage2的C入口点,王华斌,BootLoader的stage2通常包括以下步骤(简单介绍) 初始化本阶段要使用到的硬件设备 检测系统内存映射(memorymap) 将kernel映像和根文件系统映像

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论