[工学]6+第三章+嵌入式软件系统-硬件抽象层+板级.pptVIP

  • 1
  • 0
  • 约3.9千字
  • 约 40页
  • 2018-03-28 发布于浙江
  • 举报

[工学]6+第三章+嵌入式软件系统-硬件抽象层+板级.ppt

[工学]6第三章嵌入式软件系统-硬件抽象层板级

制作者 程丽 接下来介绍本章第二节内容 嵌入式软件体系结构 硬件抽象层/板级支持包 系统引导 操作系统 上电复位 任何嵌入式处理器(包括通用处理器)复位时,首先进入复位向量 如80x86系列处理器的复位向量是FFFF0H开始到FFFFFH,ARM7TDMI的复位向量是0H,MCS-8XX51的复位向量是00H 系统复位时,执行复位向量处的第一条指令,系统的其他代码必须在复位后执行。 上电复位 系统复位后第一个执行的代码是什么? 是初始化引导代码 就相当于通用计算机的BIOS一样。 上电复位 不同的系统复位引导代码功能有所不同 如PC机,初始化引导代码进行: 计算机的自检 引导操作系统等 但自检时间较长 嵌入式系统的初始化引导代码可参照普通计算机的功能进行设计,但需考虑初始化代码的执行时间是否满足实时应用的要求。 上电复位 那么如何设计嵌入式系统初始化引导代码呢? 需要引入硬件抽象层 硬件抽象层/板级支持包 为什么要引入硬件抽象层? 计算机的操作系统如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)进入用户的应用。到这里开始执行用户的应用程序代码。 硬件抽象层的运行流程示例 硬件抽象层体系结构 硬件抽象层的开发方法 移植 当前的硬件抽象层通常是根据硬件设备,寻找其驱动然后进行移植; 开发 如果没有可用的驱动,将被迫重新编写设备驱动,但不利于软件重用,会造成重复劳动。 硬件抽象层体系结构 硬件抽象层的作用 嵌入式操作系统、用户程序和硬件抽象层是嵌入式系统软件中的3大基本模块 硬件抽象层有承上启下的作用: 用户通过调用硬件抽象层的服务与硬件进行数据交换; 设备驱动访问硬件并在操作系统提供的一些基本服务辅助下完成用户指定的操作。 硬件抽象层体系结构 根据硬件抽象层的作用,可建立两个框架模型: 直接模型 间接模型 硬件抽象层体系结构 硬件抽象层体系结构 直接模型的特点 硬件抽象层和用户程序、操作系统以及硬件设备直接交互; 它只用于驱动的早期开发,不适合用于构建可移植的驱动。 硬件抽象层体系结构 间接模型的特点 用户程序不直接与驱动程序交互

文档评论(0)

1亿VIP精品文档

相关文档