zoukankan      html  css  js  c++  java
  • 第九章 心得体会

    通过第九章的学习,知道了什么事HAL以及为什么要使用HAL和关于HAL的驱动实例。

    学到的知识:

    一、为什么要在Android中加入HAL

    统一硬件的调用接口、解决了GPL版权问题、针对一些特殊的要求。

    二、为LED驱动增加HAL

    1.编写一款支持HALLinux驱动程序的步骤

    1步:编写Linux驱动

    2步:编写HAL Library

    3步:编写Service Library

    2.精简LED驱动

    基本原理是只从指定都存器读取或写入5个字节。第 l个字节用于指定读写的动作以及寄存器类型。后4个字节是读写的实际的数据。在与LED驱动交互时,只要向设备文件读取或发送5个字节的数据,就可以读写指定的寄存器。

    3.测试读写寄存器操作

    命令行语法格式:

    rwdev:命令行程序。

    rlw>:读或写命令。

    <dev fl.le>:设备文件名,

    <byte_count>:写入或读取的字节数。

    [bytel]、[byte2]... [byten]:写入的字节。

    4.编写调用LED驱动的HAL模块

    l步:定义结构体和宏

    2步:编写HAL模块的open函数

    初始化hw_device_t的子结构体、打开设备文件、初始化寄存器

    3步:定义hw_module_methods_t结构体变量

    4步:定义HAL_MODULE_INFO_SYM变量

    5步:编写HAL模块的close函数

    6步:编写控制LED的函数

    Android系统中使用Linux驱动有两种方式。一种是通过传统的方式直接与Linux驱动交互。另外一种是 Android特有的,就是通过HAL模块。

  • 相关阅读:
    [置顶] 怎么对待重复的代码
    AIX和Linux中wtmp的不同处理方式
    Visio 下载,及密钥
    全局变量和局部变量
    UNIX网络编程--IPV4 IPV6 ICMPV4 ICMPV6
    Android XML文档解析(一)——SAX解析
    rnqoj-30- [stupid]愚蠢的矿工-树形DP
    linux 文件内容的复制
    主流视音频平台参数
    FTP原理
  • 原文地址:https://www.cnblogs.com/chen-yang/p/5638382.html
Copyright © 2011-2022 走看看