硬件抽象层是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。 从软硬件测试的角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得软硬件测试工作的并行进行成为可能。
硬件抽象层大概分为以下几点HAL:
*上层软件
*虚拟驱动,设置管理模块
*内部通信SERVER
*内部以太网
*内部通信CLIENT
*用户接入口
硬件抽象层接口的定义和代码的设计具有一下特点:
*硬件抽象层具有与硬件的密切相关性
*硬件抽象层具有与操作系统无关性
*接口定义的功能应包含硬件或系统所需硬件支持的所有功能
*接口定义简单明了,太多接口函数会增加软件模拟的复杂性
*具有可测性的接口设计有利于系统的软硬件测试和集成
硬件抽象层对用户设备接口的功能模拟主要由虚拟驱动模块完成,包括数据包的收发及协议报文的预处理等工作,为上层协议软件提供标准的API函数, 而对用户设备的接口管理则由上层网络管理软件通地设备管理模块对其进行管理配置及监控,内部通信模块运行于内部队以太网络,协调各模块之间的功能接口,保证从处理单元与主处理单元之间实时可靠的数据传输.
硬件抽象层的引入
嵌入式实时系统作为一类特殊的计算机系统自底向上包含三个部分,如图1所示。
(1)硬件环境:是整个嵌入式实时操作系统实时应用程序运行的硬件平台;不同的应用通常有不同的硬件环境;硬件平台的多样性是嵌入式系统的一个主要特点。
(2)嵌入式实时操作系统——RTOS:完成嵌入式实时应用的任务调度和控制等核心功能,具有内核较精简、可配置、与高层应用紧密关联等特点。嵌入式操作系统具有相对不变性。
(3)嵌入式实时应用程序:运行于操作系统之上,利用操作系统提供的实时机制完成特定功能的嵌入式应用。不同的系统需要设计不同的嵌入式实时应用程序。
由于嵌入式系统应用的硬件环境差异较大,因此,如何简洁有效地使嵌入式系统能够应用于各种不同的应用环境是嵌入式系统发展中所必须解决的关键问题。
经过不断的发展,原先嵌入式系统的三层结构逐步演化成为一种四层结构。这个新增加的中间层次位于操作系统和硬件之间,包含了系统中与硬件相关的大部分功能。通过特定的上层接口与操作系统进行交互,向操作系统提供底层的硬件信息;并根据操作系统的要求完成对硬件的直接操作。由于引入了一个中间层次,展蔽了底层硬件的多样性,操作系统不再直接面对具体的硬件环境。而是面向由这个中间层次所代表的、逻辑上的硬件环境。因此,把这个中间层次叫做硬件抽象层HAL (Hardware Abstraction Layer)。在目前的嵌入式领域中通常也把HAL叫做板级支持包BSP(Board Support Package)。图2显示了引入HAL以后的嵌入式系统结构。BSP的引入大大推动了嵌入式实时操作系统的通用化,从而为嵌入式系统的广泛应用提供了可能。
电脑一系列硬件在office软件的配合下完成输入、处理、储存、和输出等4个操作步骤。硬件包括以下5类。1. 输出设备(显示器、打印机、音箱等)2.输入设备(鼠标、键盘、摄像头等)3.中央处理器4.储存器(内存、硬盘、光盘、U盘以及储存卡等)5.主板(在各个部件之间进行协调工作、是一个重要的连接载体)。
20分太少了 得100至少