《6第三章嵌入式软件系统-硬件抽象层板级支持包.pptVIP

《6第三章嵌入式软件系统-硬件抽象层板级支持包.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
接下来介绍本章第二节内容 嵌入式软件体系结构 硬件抽象层/板级支持包 系统引导 操作系统 上电复位 任何嵌入式处理器(包括通用处理器)复位时,首先进入复位向量,执行复位向量处的第一条指令,系统的其他代码必须在复位后执行。 系统复位后第一个执行的代码是什么? 是初始化引导代码 嵌入式系统的初始化引导代码可参照普通计算机的功能进行设计 上电复位 普通计算机,初始化引导代码进行: 计算机的自检 引导操作系统等 但普通计算机自检时间较长 设计嵌入式系统的初始化引导代码时,需考虑初始化代码的执行时间是否满足实时应用的要求。 上电复位 那么如何设计嵌入式系统初始化引导代码呢? 需要引入硬件抽象层 硬件抽象层/板级支持包 为什么要引入硬件抽象层? 计算机的操作系统如Windows系列、Linux系列等,它们的运行平台是标准的、兼容的。 但嵌入式系统则不然: 嵌入式处理器多种多样; 即使使用同一种体系的嵌入式处理器,它们的配置参数仍各有不同; ……。 硬件抽象层/板级支持包 如何解决硬件的差异性? 操作系统供应商为了解决硬件平台的差异性,把操作系统分成两部分: 共性部分利用标准的C语言实现 依赖于硬件的部分(使用的存储器的种类和参数,外部设备的配置,地址分配等)提供给用户编写代码,操作系统规定一个标准的规范。 硬件抽象层/板级支持包 如何解决硬件的差异性?(续) 那么,由用户编写的为用户定制的硬件和操作系统之间提供接口和支持平台的这部分代码称为硬件抽象层(也称板级支持包)。 硬件抽象层/板级支持包 硬件抽象层的特点: 介于硬件和软件之间 为软件提供硬件特性,为硬件进行驱动 是嵌入式系统很重要的软件组成部分 处理系统启动、硬件初始化以及中断与异常 完成进入嵌入式操作系统的运行。 硬件抽象层/板级支持包 硬件抽象层/板级支持包 BSP类似与BIOS BIOS主要负责电脑开启时: 硬件检测 初始化系统设备 装入操作系统 调度操作系统向硬件发出的指令 硬件抽象层/板级支持包 BSP与BIOS的差异 用户不能更改BIOS程序,只能对参数进行修改设置 但可编程修改BSP,在BSP中任意添加一些和系统无关的驱动或程序,甚至可以把上层开发统统放到BSP中。 硬件抽象层/板级支持包 BSP的特点 BSP具有硬件相关性 BSP作为软硬件间的接口,必须为操作系统提供操作和控制硬件的方法 而嵌入式系统的硬件环境具有应用相关性。 硬件抽象层/板级支持包 BSP的特点(续) BSP具有操作系统相关性 不同的操作系统具有各自的软件层次结构 因此,不同的操作系统具有特定的硬件接口形式。 硬件抽象层的运行流程 嵌入式系统的软件运行从引导程序入口开始,经过下面的一系列过程: (1)复位向量入口,禁止中断; (2)设置处理器的工作模式,通常使用复位时的默认模式; (3)设置RAM和ROM的工作参数,包括DRAM的刷新参数、地址空间分配等,至此嵌入式系统的处理器和存储器子系统达到运行状态; 硬件抽象层的运行流程 嵌入式系统的软件运行从引导程序入口开始,经过下面的一系列过程:(续) (4)设置操作系统运行所需要的数据段、堆栈空间等; (5)根据需要设置中断向量。也可在其他时间设置,但要在中断允许之前完成; (6)操作系统的初始化; (7)进入用户的应用。到这里开始执行用户的应用程序代码。 硬件抽象层的运行流程示例 嵌入式系统初始化 操作系统启动以前的初始化操作是BSP的主要功能之一 。 嵌入式系统的初始化过程包括: 硬件初始化 软件初始化 嵌入式系统初始化 初始化过程按照自底向上、从硬件到软件的次序依次抽象为三个主要环境: 片级初始化 板级初始化 系统级初始化 嵌入式系统初始化 片级初始化: 主要完成CPU的初始化,包括: 设置CPU的核心寄存器和控制寄存器 设置CPU核心工作模式以及CPU的局部总线模式等。 片级初始化把CPU从上电时的缺省状态逐步设置成为系统所要求的工作状态; 这是一个纯硬件的初始化过程。 嵌入式系统初始化 板级初始化: 完成CPU以外的其他硬件设备的初始化。 除此之外,还要设置某些软件的数据结构和参数,为随后的系统级初始化和应用程序的运行建立硬件和软件环境; 这是一个同时软硬件两部分在内的初始化过程。 嵌入式系统初始化 系统级初始化: 主要进行操作系统初始化。 BSP将控制权转交给操作系统,由操作系统进行余下的初始化操作。包括: 加载和初始化与硬件无关的设备驱动程序 建立系统内存区,加载并初始化其他系统软件模块,如网络系统、文件系统等 最后,操作系统创建应用程序环境并将控制转交给应用程序的入口。 以软件初始化为主的过程。 嵌入式软件运行流程 硬件相关的设备驱动程序 BSP另一个主要功能是硬件相关的设备驱动。 与初始化过程相反,硬件相关的设备驱动程序的初始化和使

文档评论(0)

wojiaoleifeng + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档