硬件抽象层是什么 硬件抽象层介绍
喜欢电脑硬件的你,知道什么是硬件抽象层吗?不知道的话跟着899电脑网小编一起来学习了解什么是硬件抽象层。
硬件抽象层介绍
(Hardware Abstraction Layer )
硬件抽象层是位于操作系统内核与硬件电路之间的接口层,其目的在于将硬件抽象化。它隐藏了特定平台的硬件接口细节,为操作系统提供虚拟硬件平台,使其具有硬件无关性,可在多种平台上进行移植。 从软硬件测试的角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得软硬件测试工作的并行进行成为可能。
硬件抽象层大概分为以下几点HAL:
*上层软件
*虚拟驱动,设置管理模块
*内部通信SERVER
*内部以太网
*内部通信CLIENT
*用户接入口
硬件抽象层接口的定义和代码的设计具有一下特点:
*硬件抽象层具有与硬件的密切相关性
*硬件抽象层具有与操作系统无关性
*接口定义的功能应包含硬件或系统所需硬件支持的所有功能
*接口定义简单明了,太多接口函数会增加软件模拟的复杂性
*具有可测性的接口设计有利于系统的软硬件测试和集成
硬件抽象层对用户设备接口的功能模拟主要由虚拟驱动模块完成,包括数据包的收发及协议报文的预处理等工作,为上层协议软件提供标准的API函数, 而对用户设备的接口管理则由上层网络管理软件通地设备管理模块对其进行管理配置及监控,内部通信模块运行于内部队以太网络,协调各模块之间的功能接口,保证从处理单元与主处理单元之间实时可靠的数据传输.
speically in Android
Framework&Application
------------------------------------
External lib&Runtime
------------------------------------
HAL
Sensor stub stub stub
------------------------------------
Linux Device Driver
------------------------------------
图上是现在Android HAL 的所在位置,从这张架构图我们知道,HAL 的目的是为了把 Android framework 与 Linux kernel 完整隔开。让 Android 不至过度依赖 Linux kernel,有点像是kernel independent的意思,让 Android framework 的开发能在不考虑驱动程序的前提下进行发展。
HAL module架构
struct hw_module_t;
struct hw_module_methods_t;
struct hw_device_t;
hw_module_methods_t
---------------------------
open()
hw_module_t
----------------
tag:uint32_t
, , , , ,
hw_device_t
---------------
close()
HAL 使用方法
举Sensor为列子
(1)Native code通过hw_get_module调用获取HAL stub:
hw_get_module (SENSOR_HARDWARE_MODULE_ID, (const hw_module_t**)&module)
(2)通过继承hw_module_methods_t的callback来open设备:
module->methods->open(module,
SENSOR_HARDWARE_MODULE_ID, (struct hw_device_t**)device);
(3)通过继承 hw_device_t的callback来控制设备:
sSensorDevice->set_on(sSensorDevice, sensor);
sSensorDevice->set_off(sSensorDevice, sensor);
相关文章
-
双十二剁手功课,电脑硬件选购攻略
离双十二血拼的时间已经不多,大家做好双十二剁手功课了吗?电脑方面大家最关心的核心类配件,比如主板、显卡、存储等等,这些硬件产品相对来说可以算是刚需,趁现在打折入...
2016-12-02 10:22:08阅读全文 -
全球游戏硬件份额:A卡才是王 游戏主机功不可没
上周,JPR给出了Q3过后的显卡市场份额,其中Intel为 70.9%,NVIDIA为16.1%,AMD为13%;细分到独显,N卡70%、A卡 29.9%。...
2016-11-21 21:12:15阅读全文 -
USB-C接口速度虽快 但硬件兼容太差
很多人不买12英寸MacBook或是新MacBook Pro,是因为接口问题。是的,我没法想象我要用笔记本给iPhone 7 Plus充电时、还需要一个转换器。我只能说,这种使用体验不是我...
2016-11-17 14:08:36阅读全文 -
工控电脑PLC的硬件是由什么构成
大家听说过PLC硬件吗?又知道PLC硬件有什么构成?下面将由899电脑网小编给大家普及下PLC硬件的结构构成,下面就一起来看看吧!...
2016-11-15 12:44:19阅读全文 -
软件是怎么来控制硬件的 看看这些就知道了
软件中的命令(这些命令是最初编程设计的)最终都要转化为计算机可以识别的机器语言,那么软件是如何来控制硬件的呢?下面来和899电脑网小编一起了解一下吧!
2016-11-15 12:42:18阅读全文
... -
机械键盘的轴有哪几种 机械键盘的轴怎么选
机械键盘的使用手感有很大的差异,机械键盘的特色在于每个按键下方,都有独立的机械开关(switch,俗称“轴”)来触发讯号,而这些开关内部构造有区别,就造成了不同的体验表现,所以声音绝对不是用来判断种类...
2018-03-31阅读全文 -
你的手机cpu排第几,手机CPU排行榜前四强
CPU在电子设备中的地位举足轻重,通常大家把CPU形容为心脏,CPU决定着设备的系统和软件的运行,图像处理等等功能,下面我们来看看2017年公布的CPU排行榜。...
2018-03-25阅读全文 -
格式化是什么意思 带你了解格式化的世界
格式化是什么意思呢,大家在电脑数据出现问题后,总会听到格式化这个词,还有一些不太了解格式化是什么意思的朋友可以看看下面关于格式化的知识!...
2018-03-17阅读全文 -
电脑显卡在哪个位置,游戏主播都在用的主流显卡大推荐
电脑是一个拥有复杂构造的机器,而显卡跟cpu一样,是电脑必不可少的配件,一些高端游戏和办公软件都需要较好的显卡,那么电脑显卡在哪个位置,又有哪些主流的显卡呢?...
2018-03-08阅读全文 -
求教,新手机第一次充电多长时间
现代社会,几乎人手一部手机,手机使我们的生活变得越来越方便。快捷。对于手机,我们都不陌生, 有的人差不多半年到一年就会更换一部新手机,手机的品牌种类也越来越丰富。那么新手机第一次充电多长时间,...
2017-12-18阅读全文