Android深度探索--第九章读后感

在本章中,HAL是建立在Linux驱动之上色一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。 GoogleAndroid增加HAl的主要目的除了尽量避免应用程序直接访问Linux驱动外,还有一个重要的原因,那就是保护私人财产。对于那 些既想发布基于AndroidLinux驱动程序,又不想将核心业务逻辑公开的企业和个人,HAL简直是福音

对于那些想开源的Linux驱动作者,将业务逻辑放到Linux驱动里,还是HAL代码中无关紧要。而对于不想开源的Linux驱动作者。Linux驱动只相当于一个“数据二传”。也就是说在Linux驱动中不应该保留任何不想公开的业务逻辑代码,而只保留与寄存器交互的代码,访问寄存器只有Linux的内核的相关函数能做到。如果这样安排,Linux驱动就只剩下一个空壳了,唯一的功能就是接受HAL传过来的数据,并将这些数据写入指定的寄存器中,或从寄存器中读取数据,并返回给HAL。所以从这一点看,带HALLinux驱动就相当于将数据从HAL传到寄存器,或从寄存器传到HAL的“数据二传”。

任何系统被调用的程序都会有一个标准的借口。这个接口相当于一个约定的规则,不管任何程序,只要遵循这个规则就可以成功的被调用。

 

 

posted @ 2016-07-07 14:59  Alancnn  阅读(91)  评论(0编辑  收藏  举报