资料介绍
Android HAL实例解析
Android HAL实例解析
华清远见讲师 刘洪涛
一、概述
本文希望通过分析台湾的Jollen的mokoid
工程代码,和在s5pc100平台上实现过程种遇到的问题,解析Andorid
HAL的开发方法。
二、HAL介绍
现有HAL架构由Patrick Brady (Google) 在2008 Google
I/O演讲中提出的,如下图。
[pic]
HAL硬件抽象层 (Hardware Abstraction Layer)
Android的HAL是为了保护一些硬件提供商的知识产权而提出的,是为了避开linux的GPL
束缚。思路是把控制硬件的动作都放到了Android HAL中,而linux
driver仅仅完成一些简单的数据交互作用,甚至把硬件寄存器空间直接映射到user
space。而Android是基于Aparch的license,因此硬件厂商可以只提供二进制代码,所以
说Android只是一个开放的平台,并不是一个开源的平台。也许也正是因为Android不遵
从GPL,所以Greg Kroah-
Hartman才在2.6.33内核将Andorid驱动从linux中删除。GPL和硬件厂商目前还是有着无
法弥合的裂痕。Android想要把这个问题处理好也是不容易的。HAL 的目的是为了把
Android framework 与 Linux kernel 完整隔开。让 Android 不至过