zoukankan      html  css  js  c++  java
  • Android深度探索笔记-第九章

    HAL层属于Linux内核层之上的应用层是为了尽量避免应用程序直接访问Linux驱动和保护 “私人财产”。带HAL的 Linux 驱动就相当于将数据从HAL传到寄存器,或从寄存器传到HAL的数据二传。

    加入HAL的主要目的:1:统一硬件的调用接口,2:解决了GPl版权问题,3:针对一些特殊的要求。

    Android HAL的源代码存储的位置并不固定,一般会存储在Android源代码目录/hardware目录中。

    编写一款支持HA 的Linux驱动程序的步骤:1:编写 Linux 驱动;2:编写 HAL Library,这类库文件有一个接口。通过HAL_MODULE_INFO_ SYM变量实现;3:编写 Service Library;

    如果启动了多个android虚拟机或连接了多个Android设备。build.sh脚本文件会检测到这些设备,并将它们列出来供用户选择。

    在编写 Linux 驱动以及与驱动相关的程序的过程中应分段测试每一部分程序。

    HAL模块拥有一个固定名称的结构体变量HAL_MODULE_INFO_SYM。HAL模块由leds hal.c 和leds .hal.h组成。leds_hal.h头文件用于定义结构体,宏和引用一些系统的头文件。

    编写 HAL 模块的步骤和原理如下:1:定义结构体和宏;2:编写 HAL 模块的 open 函数;3:定义 hw_module_methods_ t 结构体变量;4:定义 HAL_MODULE_INFO_SYM 变量;5:编写 HAL 模块的 close 函数;6:编写控制 LED 的函数;

  • 相关阅读:
    JavaScript语言精粹_第二章
    java并发Executors学习笔记
    iOS开发响应者链触摸事件
    快速学会Spring动态代理原理
    iOS类别Category与扩展Extension
    几款iOS开发常用工具
    Java回调接口的理解
    零基础学iPhone开发
    Java中的多线程
    Java文件下载的几种方式
  • 原文地址:https://www.cnblogs.com/bbly02/p/5653832.html
Copyright © 2011-2022 走看看