Android系统简介:HAL抽象层

上传:adversary_15020 浏览: 9 推荐: 0 文件:ppt 大小:1.96MB 上传时间:2024-07-08 03:08:59 版权申诉
HAL(硬件抽象层)的概念:在Android中,HAL是一种封闭源码形式的硬件驱动模块。它的目的是为了将Android的framework与Linux kernel隔开,以减少对Linux kernel的依赖性,实现kernel independent的目标。这样,Android framework的开发可以在不考虑驱动程序具体实现的情况下进行。
HAL stub充当代理人(proxy)的角色,以*.so文件的形式存在。Stub向HAL提供操作函数(operations),由Android runtime从HAL获取这些操作函数,并回调这些操作函数。在HAL中包含了多个stub(代理人)。Runtime只需指定“类型”,即module ID,就可以获取到对应的操作函数。
为什么我们需要一个用户空间的HAL?
- 不是所有的组件都具有标准化的kernel驱动程序接口;
- kernel驱动程序是GPL的,这会暴露任何专有的IP;
- Android对硬件驱动有特定的要求。
上传资源
用户评论