1
HAL程序必须要一个HAL-MODULE-INFO——SYM(hw_module_t)变量,有了这个才能被Android系统调用。类似于(C函数的main()和linux驱动程序的init()函数)
struct hw_module_t; (HAL模块 中)
struct hw_module_methods_t; (入口函数 小)
struct hw_device_t; (HAL设备 大)
这几个数据结构是在Android工作目录/hardware/libhardware/include/hardware/hardware.h文件中定义.
3 源程序
3.1 leds_hal.h
#include <hardware/hardware.h>#include <fcntl.h>
#include <cutils/log.h>
struct led_module_t
{
struct hw_module_t hw_module;
};
struct led_control_device_t
{