Android Hal实现

参考:视频一、HAL已经定义好的结构体这此三者是实现HAL时必不可少的结构体,定义在路径为 hardware/libhardware/include/hardware/hardware.h 的头文件中。在这先列出介绍,如何使用在下一节。struct hw_module_t;struct hw_moudule_methods_t;struct hw_device_t;typed...
摘要由CSDN通过智能技术生成

参考:视频

一、HAL已经定义好的结构体

这此三者是实现HAL时必不可少的结构体,定义在路径为 hardware/libhardware/include/hardware/hardware.h 的头文件中。在这先列出介绍,如何使用在下一节。

struct hw_module_t;
struct hw_moudule_methods_t;
struct hw_device_t;

typedef struct hw_module_t
{
    char* id;        //每个module都有唯一的ID
    char* name;
    struct hw_module_methods_t* methods; 
} hw_module_t;


typedef struct hw_moudule_methods_t
{
    //open绑定一个函数,函数malloc创建一个device并对device的属性赋值
    //参数device用于返回一个可操作的device
    int (*open)(cosnt struct hw_module_t* module, const char* id, struct hw_device_t** device);
} hw_moudule_methods_t;

typedef struct hw_device_t
{
    struct hw_module_t* module;
    //绑定一个用于释放设备的函数,譬如free函数释放device所占的内存
    int(*close)(struct hw_device_t* device);
} hw_device_t;

三、实现Hal的步骤

提示:父类结构体

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值