前言
在上一篇博客中介绍了Android9.0中的手动调节亮度的流程,但当时只讲到framwork的整个调用过程,并未讲到如何调用hardware层,这一章来讲一下如何调用hardware,以及如何实现简单的hareware.
Kernel: v4.4.126
Device: rk3399
Platform Version: Android 7.1
如何调用(以亮度调节为例,其他的也一样)
主要分为下面3个步骤:
-
使用hardware.c中定义的hw_get_module获取hal库中hw_module_t全局变量的地址。

-
利用全局变量hw_module_t地址调用它内部结构体变量hw_module_methods_t的open函数指针,并且将hw_module_t作为参数传入open函数,在open函数内将hw_module_t赋值给hw_device_t中定义的hw_module_t变量,最后获取到hw_device_t的地址。

-
利用上面的hw_device_t的地址就可以调用hw_device_t中定义的指针函数对应的实现。例如:set_light()
<

最低0.47元/天 解锁文章
524

被折叠的 条评论
为什么被折叠?



