zoukankan      html  css  js  c++  java
  • 第九章

    HAL是建立在LInux驱动之上的一套程序库。这套程序库并不属于Linux内核,而是属于Linux内核之上的应用层。GoogleAndroid增加HAL的主要目的除了尽量避免应用程序直接访问Linux驱动外,患有一个重要原因,那就是保护“私人财产”。

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

    (1):编写Linux驱动:这个步骤表面上看是废话但如果要作为LInux驱动添加HAL,而且想尽量保护敏感数据。Linux驱动的代码就要尽量简洁,尽可能将业务逻辑放到HAL Library中。

    (2)编写HAL Libray:这类库文件只有一个接口。

    (3)编写Service Libray:这个步骤不是必需的,但新的HAL架构要求我们这样做。

    LED驱动在设备文件的read和write函数中读写指定的寄存器基本原理是:只从指定寄存器取读或写入五个字节,第一个字节用于指定读写的动作以及寄存器类型。后四个字节是读写的实际的数据(因为LED驱动只涉及操作一个int类型数据的寄存器,因此使用四个字节来表示一个int类型数据)。在与LED驱动交互时,只要向设备文件取读或发送五个字节的数据,就可以读写指定的寄存器。

  • 相关阅读:
    05_XML的解析_01_dom4j 解析
    04_SSM框架整合(Spring+SpringMVC+MyBatis)
    03_入门程序(注解方式,掌握)
    02_入门程序(非注解方式,了解)
    01_SpringMVC流程架构图
    21_resultMap和resultType总结
    20_高级映射:多对多查询
    inline函数的总结
    【C++】C++函数重载的总结
    优先队列
  • 原文地址:https://www.cnblogs.com/ddddd/p/5650289.html
Copyright © 2011-2022 走看看