Android hal开发

原创 2018年04月17日 17:42:37

HalStub的框架比较简单,三个结构体、两个常量、一个函数,简称321架构,它的定义在:

 

alps/hardware/libhardware/include/hardware/hardware.h

 

      alps/hardware/libhardware/hardware.c

 

下面我们先看下三个重要的结构体,其包含在hardware.h中

每个硬件对象都由hw_module_t来描述,只要我们拿到了这个硬件对象,就可以调用它的open方法,返回这个硬件对象的硬件操作接口,然后就可以通过这些硬件操作接口来间接操作硬件。只不过,open方法被hw_module_methods_t结构封装了一次,硬件操作接口被hw_device_t封装了一次而已。下面这张图可以反映出它们三者的关系:

接下来在看321架构中的:两个符号常量和一个函数:

1. //HAL Stub对象固定的名字  

2. #define HAL_MODULE_INFO_SYM         HMI  

3.   

4. /** 

5.  * Name of the hal_module_info as a string 

6.  */  

7.   

8. //字符串形式的名字  

9. #define HAL_MODULE_INFO_SYM_AS_STR  "HMI"  

10.   

11. /** 

12.  * Get the module info associated with a module by id. 

13.  * 

14.  * @return: 0 == success, <0 == error and *module == NULL 

15.  */  

16.  //通过硬件名来获得硬件HAL Stub对象  

17. int hw_get_module(const char *id, const struct hw_module_t **module); 

 


android系统开发(六)-HAL层开发基础

Android HAL层,即硬件抽象层,是Google响应厂家“希望不公开源码”的要求推出的新概念 1,源代码和目标位置 源代码: /hardware/libhardware目录,该目录的目录结构...
  • weiqifa0
  • weiqifa0
  • 2016-06-27 18:06:59
  • 570

Android架构实例分析之编写hello驱动的HAL层代码

Android架构实例分析之编写hello驱动的HAL层代码摘要:HAL层中文名称又叫硬件抽象层,可以理解我Linux驱动的应用层。本文实现了一个简单的hello HAL的代码,衔接hello驱动和h...
  • seek_0380
  • seek_0380
  • 2016-07-08 16:20:50
  • 3875

Android HAL开发

HAL开发,从驱动到kernel到HAL再到framework再到应用层
  • aknew123
  • aknew123
  • 2017-02-03 14:35:50
  • 310

Android HAL层与Linux Kernel层驱动开发简介

近日稍微对Android中的驱动开发做了一些简要的了解,稍稍理清了一下Android驱动开发的套路,总结一下笔记。HAL:Hardware Abstract Layer 硬件抽象层,由于Linux K...
  • qq_28029345
  • qq_28029345
  • 2017-03-23 13:29:24
  • 3456

Android系统HAL层原理及编程注意事项

HAL层起到承上启下的作用,即上面为JNI服务,下面为driver服务
  • lizekun2010
  • lizekun2010
  • 2016-08-18 20:28:44
  • 2423

Android底层开发之Audio HAL

Android底层开发之Audio HAL在Android音频底层调试-基于tinyalsa中以「抛开Android的天生复杂,回归嵌入式Linux的本质」的方式介绍如何调试Linux内核中的音频驱动...
  • kangear
  • kangear
  • 2015-04-08 13:20:57
  • 10868

深入浅出 - Android系统移植与平台开发(十) - led HAL简单设计案例分析

通过前两节HAL框架分析和JNI概述,我们对Android提供的Stub HAL有了比较详细的了解了,下面我们来看下led的实例,写驱动点亮led灯,就如同写程序,学语言打印HelloWorld一样,...
  • mr_raptor
  • mr_raptor
  • 2012-10-17 17:35:37
  • 17521

Android系统蓝牙HAL分析

关键词:android, 蓝牙,中间件,驱动 应用层API Android中为蓝牙的使用提供了一整套API:  搜索其他蓝牙设备。查询适配设备。建立RFCOMM通道。 通...
  • cutter2002
  • cutter2002
  • 2017-03-19 14:35:46
  • 1025

Android HAL实例解析

  • 2011年09月08日 09:07
  • 589KB
  • 下载

Android Framework 深入浅出-HAL, Binder, View System 与 Native Service

第01堂課:Hardware Abstract Layer 架构与驱动模块开发 1.1 Service与Manager的内涵 1.2 libhardware 与 HAL API 1.3 Stub & ...
  • Mr_Data_Mining
  • Mr_Data_Mining
  • 2013-10-22 15:35:39
  • 2473
收藏助手
不良信息举报
您举报文章:Android hal开发
举报原因:
原因补充:

(最多只允许输入30个字)