代码改变世界

第九章

2016-07-03 18:27  本贪  阅读(87)  评论(0编辑  收藏  举报

本章实现的LED驱动包含了Linux驱动、HAL模块、Service程序库、NDK程序和Java程序。

支持HAL的Linux驱动程序步骤如下:  

1.编写Linux驱动;

2.编写HAL Library;

3.编写Service Library;

编写HAL模块的步骤和原理如下。

第一步:定义结构体和宏 编写HAL模块需要使用到3个非常重要的结构体,在第一步需要定义两个新的结构体。

第二步:编写HAL模块的open函数 open函数是HAL模块的入口点。本例中使用的是led_device_open函数。该函数主要做如下三个工作。初始化hw_device_t的子结构体。 打开设备文件。 初始化寄存器。

第三步:定义hw_module_methhods_t 结构体变量

第四步:定义HAL_MODULE_INFO_SYM函数

第五步:编写HAL模块的close 函数 当HAL模块被卸载后会调用close函数

第六步:编写控制LED的函数