怎么理解硬件抽象层 什么是硬件抽象层

爱学习的小伙伴们,你们知道什么是硬件抽象层吗?不知道的话跟着小编一起来学习了解什么是硬件抽象层。

硬件抽象层介绍

(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);

  

爱华网本文地址 » http://www.aihuau.com/a/243261/72225539.html

更多阅读

抽象思维 什么是抽象思维

1 哲学定义抽象思维是理论化、系统化的世界观,是自然知识、社会知识、思维知识的概括和总结,是世界观和方法论的统一。是社会意识的具体存在和表现形式,是以追求世界的本源、本质、共性或绝对、终极的形而上者为形式,以确立哲学世界观和

理解无功功率 什么是无功功率

先搞清楚两个概念:容性电 流——流过电容的电流,电流超前电压90°;感性电流——流过电感的电流,电流滞后电压90°。无功功率并非“无用”的功率,只不过它的功率并不转化为机械能、热能而已。为建立交变磁场和感应磁通而需要的电功率称为

华盖是什么意思?怎么理解? 华盖穴疼痛是什么意思

  什么是华盖?华盖最原始的含义是指帝王的车盖。 指古代君王出门, 张在头顶上或车上的华丽的伞盖.崔豹《古今注·舆服》:“华盖,黄帝所作也,……故因而作华盖也。”华盖是什么意思?华盖是大帝头上的一颗星神,有护帝显威之职,故血气方刚

原创 “笔陡”怎么理解 笔陡的什么

“笔陡”怎么理解方德佺“笔陡”一词出现在人教版语文三年级上册第3课《爬天都峰》中:“再看看笔陡的石级,石级边上的铁链,似乎是从天上挂下来的,真叫人发颤!”有位老师是这样进行教学的:师:你是从哪儿看出陡来的呢?

怎么用住房公积金买房 什么是住房公积金?

 住房公积金是通过强制性储蓄的方式建立的一种个人住房消费专用基金。实行公积金办法的职工个人按月缴交占工资一定比例的公积金,职工所在单位也按月提供占职工工资一定比例的公积金,二者均归职工个人所有,专门用于购建住房。住房公

声明:《怎么理解硬件抽象层 什么是硬件抽象层》为网友曾经很美分享!如侵犯到您的合法权益请联系我们删除