Bootloader的设计和实现.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Bootloader的设计和实现

BootLoader的设计与实现 1 BootLoader概述 1.1 BootLoader的概念 1.2 BootLoader的操作模式 1.3 嵌入式系统的引导模式 1.4 BootLoader的功能特性 1.5 几种特殊的BootLoader 2 BootLoader的体系结构 2.1 BooterLoader 的架构 2.2 BooterLoader 的支持库 3 BootLoader的代码的组件和执行流程 3.1 BooterLoader代码组件 3.2 BooterLoader代码的执行流程 4 BootLoader开发前的硬件考虑 4.1 考虑的原因 4.2 考虑的因素 4.3 基于s3c2440的sinosys的M3开发板 5 BootLoader的设计与实现 5.1 构建创建环境 5.2 startup函数的设计与实现 5.3 主函数main的设计与实现 5.4 控制流函数的设计与实现 5.5 调试函数的设计与实现 5.6 以太网控制器相关的函数 5.7 写FLASH函数的设计与实现 5.8 镜像下载函数的设计与实现 5.9 时间相关函数的设计与实现 5.10 配置文件 1 BootLoader概述 1.1 BootLoader的概念 ◆ BootLoader的描述 操作系统内核运行前运行地一段小程序 。初始化硬件、建立内存空间映射图,为OS的运行准备好正确的环境。带有BootLoader的固态存储介质典型空间分配如图1所示 ◆ BootLoader的功能 ● 引导系统 ● 加载操作系统 1.1 BootLoader的操作模式 ◆ 启动加载模式 又叫自主模式,BootLoader将预先存储在永久固态介质上的OS镜像加载到RAM中运行。 ◆ 下载模式 目标机通过串口、网口或者USB从主机端下载镜像到目标机端点RAM中,然后再被 BootLoader 写到目标机上的FLASH 类固态存储设备中 1.3 嵌入式系统的引导模式 ◆ BootLoader引导模式 ◆ 非BootLoader引导模式 ● 使用RESETVECTOR引导 ● 不使用RESETVECTOR引导 1.4 BootLoader的功能特性 并非所有平台都支持下面列出的功能特性,但大部分特性对所有平台来说都是有用的 ◆ BootLoader典型功能特性 ● BootLoader应驻留在FLASH等永久存储介质里 ● BootLoader应提供消息反馈机 ● BootLoader要能加载BootLoader镜像和OS镜像,对 OS镜像要既能从RAM加载,也能从FLASH加载 ● 提供数据正确性保障 ◆ BootLoader的推荐做法 ● 尽量使用微软提供的支持库开发BootLoader ● 和OAL共享相同的硬件初始化代码 ◆ BootLoader的附加功能特性 ● 在BootLoader的输出信息中,应包含版本、开发者和构建日期等信息 ● 设计一个序列化的功能选项菜单,为用户开发提供便利 ● 支持自更新 ● 与PB协调工作,实现复位下载,复位跳转和自更新 ● 提供一种监视和反馈机制,监控下载过程 ● 在其中尽肯能的包含以太网调试驱动 1.5 几种特殊的BootLoader ◆ X86 BIOS BootLoader ◆ x86 Serial Boot Loader ◆ x86 ROM Boot Loader 2 BootLoader的体系结构 2.1 BooterLoader 的架构 BooterLoader的结构如图2所是: ◆ 五个组成部分 BLCommon库,OEM代码,Eboot库,EDBG驱动,以及存储管理 ● OEM代码必须由用户自己编写 ● EDBG驱动,以及存储管理可能需要修改,视具体情况 ● BLCommon库和Eboot库完全不用改 ◆ OEM代码 用户根据自己的平台特点编写或修改的代码 ● 存放路径为: %_WINCEROOT%\Platform\Hardware Platform Name\Src\Eboot 2.1 BooterLoader 支持库 微软提供的众多静态库中,BootLoader中常用的有以下所述的四种 ◆ BLCommon库 ● 存放路径: %_WINCEROOT%\Public\Common\Oak\Drivers\Ethdbg\Blcommon ● 功能:重定位BooterLo

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档