提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
对于android驱动开发,除了底层的kernel,我们还需要了解hal、jni的开发,具体原因后面分析,本小节主要是讲解一个基本的hal该怎么编写,有什么作用
提示:以下是本篇文章正文内容,下面案例可供参考
一、hal有什么作用?
HAL层中文名称又叫硬件抽象层,HAL层的代码会使用open read write
等系统调用操作驱动层的文件系统(dev、sysfs、proc),同时它也有自己的数据结构,为上层提供接口
,并导出和本体模块相关ID号
。
上层可以使用hw_get_module
获得HAL中写的方法。其实如果不是为了避开Linux的GPL开源协议,HAL层可以不用,直接使用JNI层或者在Java代码中访问操作驱动层的文件系统(dev、sysfs、proc)也是可行的
二、编写步骤
推荐新式HAL结构,基于HAL框架