第九章 硬件抽象层:HAL

第九章 硬件抽象层:HAL  首先说明Android系统中使用linux驱动的两种方式,第一个是访问硬件寄存器的代码和业务逻辑代码,这种方式没有什么秘密,因为都是linux的标准操作,但是有的东西为了保护自己的专利和技术秘密,但又要遵守GPL规则,所以使用了HAL技术。第二个是编写HAL的驱动程序的步骤。首先是编写Linux驱动。这个得要求是代码必须简介,然后是编写HAL Library,它其实是普通的Linux library文件,但是这个库类文件用一个借口,service library就是通过这个接口中定义的ID定位HALLibrary。最后一步是编写ServiceLibrary,我们所用到的ServiceLibrary是JNI!Library。中间我们还穿插学习了build.sh脚本文件的编写,目的是显示Android设备列表,爱你允许用户选择其中一个。 最后是编写HAL模块。 其中我们要用到三个重要的结构体,hw_moudle_t,he_device_t,hw_moudle_methods_t,他们分别用来描述HAL的模块,HAL的设备,以及模块入口函数。然后编写open函数,定义hw_moudle_methods_t结构体变量,定义HAL_MOUDLE_INFO_SYM变量,编写HAL模块的close函数,编写控制led的函数

posted on 2016-06-29 09:56  枪在手你跟我走  阅读(110)  评论(0编辑  收藏  举报

导航