透过HAL(硬件抽象层)看顶层API是如何访问硬件文章导读:HAL硬件抽象层的实现及架构、Android API与硬件平台的衔接、NDK的一些看法。 简介:Hardware Abstraction Layer硬件抽象层是一个轻量级(lightweight)的的运行环境,提供了简单的设备驱动程序接口,应用程序使用设备驱动程序与底层硬件之间进行通信。HAL应用程序接口和ANSIC标准库结合在一起,这样用户可以使用C语言库函数来访问Android文件系统。下图是其直观的概念: [pic] 从图中,我们可以看到HAL是基于Linux Kernel与Libraries和AndroidRuntime之间。也就是说,HAL是底层硬件设备驱动程序暴露给Application Framework(也就是通常我们使用的Android API)的一个接口层。(可以浏览http://hi.baidu.com/aokikyon/blog/item/a66e0f87d8f55326c75cc32b.html HAL分析报告获得更详细的认识) 在网上也看到一些朋友写了重力感应器的api使用,那么以重力感应器Sensor为例子,看看重力感应器如何和Applications、Application Framework衔接。1、下面Sensors.h的定义重力感应器对驱动程序部分的操作:在源码./platform/hardware/Libardware /Include/Sensors.h目录下 C代码 1. #include #include C代码 1. __BEG……
猜您喜欢
推荐内容
开源项目推荐 更多
热门活动
热门器件
用户搜过
随便看看
热门下载
评论