标签:
在Android系统中使用Linux驱动有两种方式,一种是通过传统的方式直接与Linux驱动交互。
例如,直接读写设备文件的数据。另一种是Android特有的,就是通过HAL模块。HAL模块
本质上就是通过Linux共享库与Linux驱动交互,然后应用程序再访问linux共享库,早期的
HAL模块由应用程序直接访问linux共享库的方式调用。而高版本的Android系统为HAL增加
了Stub,换句话说,就是为了每一个HAL共享库指定一个ID,再利用这个ID配合一定的规
则找到Linux共享库,这样Linux共享库更换文件名,移动位置都很方便,Google也建议使
用stub的方式编写HAL模块。
Android_.H现二的源代码存储的位置并不固定, 一般会存储在<Android源代码目录>
/hardware 目录中。其中<Android 源代码目录>/hardware/libhardware legacy 目录用来存
HAL 架构的源代码文件。新HAL 架构的源代码在<Android 源代码目录>/hardware/libhardware目录中,
当然,这些源代码文件也可以放在<Android 源代码目录>/hardware 或其他的目录。最终
编译生成的.so 文件主要放在Android 系统的/system/lib/hw 目录。
标签:
原文地址:http://www.cnblogs.com/zhuhongchao/p/5633134.html