zoukankan      html  css  js  c++  java
  • 第九章 读书笔记

    这一章主要讲的是硬件抽象层:HAL

    HAL ( Hardware Abstraction Layer,硬件抽象层 )是建立在Linux 驱动之上的一套程序库。这套程序库并不属于Linux 内核, 而是属于Linux 内核层之上的应用层。

    Googleandroid加入hal主要目的如下:

    1、统一硬件的调用接口。

    2、解决了gpl版权问题。

    3、针对一些特殊的要求。

    Android.系统中使用Linux 驱动有两种方式。一种就是通过传统的方式直接与Lmux 驱动交互。另外一种是Android特有的,就是通过HAL 模块。HAL 模块本质上就是通过Linux 共享库(.so)与Linux驱动交互,然后应用程序再访问Linux共享库。

    HAL是建立在Linux驱动之上的一套程序库,这套程序库并不属于Linux内核,而是属于Linux内核层之上的应用层。GoogleAndroid加入HAL主要有如下的目的:统一硬件的调用接口、解决了GPL版权问题。加入HAL的驱动使应用程序不需要再关心Linux驱动和设备文件的交互方式,而只需要像访问普通API一样就可以和Linux驱动进行交互。

    编写hal模块的步骤与原理:

    1、定义结构体与宏

    2、编写hal模块的open函数

    3、定义hw_module_methods_t结构体变量

    4、定义HAL_MODULE_INFO_SYM变量

    5、编写hal模块的close函数

    6、编写控制led的函数

  • 相关阅读:
    name_save matlab
    SVM大致思路整理
    识别、检测、跟踪、分割、显著性、重识别
    最大似然估计、MAP、贝叶斯估计
    特征选择和特征提取
    深度学习与神经网络
    什么是稀疏表示
    深度学习理论解释基础
    深度学习如何提取特征
    [洛谷P1129][ZJOI2007]矩阵游戏
  • 原文地址:https://www.cnblogs.com/ywjboke/p/5640801.html
Copyright © 2011-2022 走看看