- 1、本文档共51页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BootLoader的设计与实现 重定位问题?? 定义 1. 当编译器或汇编器编译一个单独的模块时,它不知道这个模块会被加载到内存的何处,这时编译器输出代码时就遵循一个惯例,编译每个模块都是从地址0开始。当这个模块真正装入内存时,他一般不可能从0开始,这时就要一个地址转换的过程,称之为重定位 重地位 分类 1)静态重定位 在程序被加载到内存之前已经知道了它将要加载到内存的开始地址,这样就可以事先进行地址转换,把相对地址转换成绝对地址。 2)动态重地位 作业装入内存后所有的地址仍然是相对地址,将相对地址转换成绝对地址的过程被推迟到程序指令要真正执行时进行。动态重定位要硬件--重定位寄存器支持 1 BootLoader概述 1.1 BootLoader的概念 1.2 BootLoader的操作模式 1.3 嵌入式系统的引导模式 1.4 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的开发板 ★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.2 BootLoader的操作模式 ◆ 启动加载模式 又叫自主模式,BootLoader将预先存储在永久固态介质上 的OS镜像加载到RAM中运行。 ◆ 下载模式 目标机通过串口、网口或者USB从主机端下载镜像到目标机端点RAM中,然后再被 BootLoader 写到目标机上的FLASH 类固态存储设备中 1.3 嵌入式系统的引导模式 ◆ BootLoader引导模式 优点:可以轻松实现内核升级 ◆ 非BootLoader引导模式?? 操作系统事先写入到CPU开始执行的地址位置,或者在CPU开始执行的地址位置写入一个RESETVECTOR变量,由它来定义一个跳转地址,指向操作系统的起始位置 1.4 BootLoader的功能特性 并非所有平台都支持下面列出的功能特性,但大部分特性对所有平台来说都是有用的 ◆ BootLoader典型特性 ● BootLoader应驻留在FLASH等永久存储介质里 ● BootLoader应提供消息反馈机 ● 尽量使用微软提供的支持库开发BootLoader ● BootLoader要能加载BootLoader镜像和OS镜像,对OS镜像要既能从RAM加载,也能从FLASH加载 ● 提供数据正确性保障 ● 要和OAL共享相同的硬件初始化代码 ◆ BootLoader的附加功能特性 ● 在BootLoader的输出信息中,应包含版本、开发者和构建日期等信息 ● 设计一个序列化的功能选项菜单,为用户开发提供便利 ● 支持自更新 ● 与PB协调工作,实现复位下载,复位跳转和自更新 ● 提供一种监视和反馈机制,监控下载过程 ● 在其中尽肯能的包含以太网调试驱动 2 BootLoader的体系结构 2.1 BooterLoader 的架构 BooterLoader的结构如图2所是: ◆ 五个组成部分 BLCommon库,OEM代码,Eboot库,EDBG驱动,以及存储管理 ● OEM代码必须由用户自己编写 ● EDBG驱动,以及存储管理可能需要修改,视具体情况 ● BLCommon库和Eboot库完全不用改 ◆ OEM代码 用户根据自己的平台特点编写或修改的代码 ● 存放路径为: %_WINCEROOT%\Platform\Hardw
您可能关注的文档
- 浅谈变更登记网上申请指南.doc
- 广东省地方税务局发票在线应用系统指南.doc
- 第六课Authorware.ppt
- 文档类别说明文档详解.doc
- 第2讲本地用户和组的管理.ppt
- 渝中区湖广会馆及东水门历史文化街区改造工程(东水门大桥解说.doc
- 2010年质量高层论坛打造有竞争力的质量.ppt
- 中小学教育网课程推荐简介.doc
- 浅析采购需求[023].doc
- 北京鸿合科技集团概要.doc
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)