Android硬件抽象层(HAL)概述
http://blog.csdn.net/luoshengyang/article/details/6567257
Android的硬件抽象层,简单来说,就是对Linux内核驱动程序的封装,向上提供接口,屏蔽低层的实现细节。也就是说,把对硬件的支持分成了两层,一层放在用户空间(User Space),一层放在内核空间(Kernel Space),其中,硬件抽象层运行在用户空间,而Linux内核驱动程序运行在 内核空间
学习Android硬件抽象层,对理解整个Android整个系统,都是极其有用的,因为它从下到上涉及到了Android系统的硬件驱动层、硬件抽象层、运行时库和应用程序框架层等等,下面这个图阐述了硬件抽象层在Android系统中的位置,以及它和其它层的关系:
在学习Android硬件抽象层的过程中,我们将会学习如何在内核空间编写硬件驱动程序、如何在硬件抽象层中添加接口支持访问硬件、如何在系统启动时提供硬件访问服务以及 如何编写JNI使得可以通过Java接口来访问硬件,而作为中间的一个小插曲,我们还将学习一下如何在Android系统中添加一个C可执行程序来访问硬件驱动程序。由于这是一个系统的学习过程,笔者将分成六篇文章来描述每一个学习过程,包括:
一.在Android内核源代码工程中编写硬件驱动程序。
二.在Android系统中增加C可执行程序来访问硬件驱动程序。
三.在Android硬件抽象层增加接口模块访问硬件驱动程序。
四.在Android系统中编写JNI方法在应用程序框架层提供Java接口访问硬件。
五.在Android系统的应用程序框架层增加硬件服务接口。
六.在Android系统中编写APP通过应用程序框架层访问硬件服务。
更多相关文章
- android的 各种权限,有个印象就好
- E/ServiceManager( 54): add_service('led',0x35) uid=10028 - P
- Android(安卓)M 新的运行时权限开发者需要知道的一切 (安卓6.0新
- Android(安卓)App兼容android10.0系统需要修改那些东西,看这个就
- 搬砖:深入浅出 - Android系统移植与平台开发(五)- 编译Android源码(
- Android权限目录
- Android(安卓)9 Pie 兼容性常见问题及注意事项
- Ubuntu系统连接Android真机测试
- Android系统工具之自动化测试(2)