设为首页 加入收藏

TOP

Android中HAL如何向上层提供接口总结
2014-11-24 14:30:34 来源: 作者: 【 】 浏览:1
Tags:Android HAL 如何 上层 提供 接口 总结

参考文献:


建议阅读本文时先浏览以上两篇文章,本文是对上两篇文章在HAL对上层接口话题的一个总结.


HAL的全称是Hardware Abstraction Layer,即硬件抽象层.其架构图如下:



总结下来,Android HAL存在的原因主要有:


1. 并不是所有的硬件设备都有标准的linux kernel的接口


2. KERNEL DRIVER涉及到GPL的版权。某些设备制造商并不原因公开硬件驱动,所以才去用HAL方式绕过GPL。


3. 针对某些硬件,Android有一些特殊的需求.


首先来看三个与HAL对上层接口有关的几个结构体:


这几个数据结构是在Android工作目录/hardware/libhardware/include/hardware/hardware.h文件中定义.


一般来说,在写HAL相关代码时都得包含这个hardware.h头文件,所以有必要先了解一下这个头文件中的内容.


由以上内容可以看出(typedef struct hw_module_t ,typedef struct hw_device_t),如果我们要写一个自定义设备的驱动的HAL层时,我们得首先自定义两个数据结构:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇浅析Android下的Android.mk文件 下一篇Linux内核线程的创建及在QEMU上的..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: