zoukankan      html  css  js  c++  java
  • 第九章:硬件抽象层:HAL

    HAL(硬件抽象层)是建立在Linux驱动之上的一套主程序,这套主程序并不属于Linux内核,而是属于Linux内核层之上的应用层,GoogleAndroid增加HAL测主要目的除了尽量避免应用程序直接访问Linux驱动外,还有一个重要原因,就是保护“私人财产”,对于那些既想发布基于AndroidLinux驱动程序,又不想将核心业务逻辑公开的企业和个人。HAL简直就是福音。HAL并不是Linux内核的一部分,而是位于Android的系统运行库层,Android并没有要求源代码开源,HAL属于Android,所以也不需要开源。HAL架构基本原理就是在Android系统中使用程序库(。So文件)调用位于内核空间的Linux驱动(一般通过设备文件访问)。然后Android应用程序(APK文件)可以通过NDK程序访问HAL中的程序库,或直接在Android应用程序中访问HAL中的程序库(直接使用java代码访问)。编写一款支持HALLinux驱动程序的步骤:第一步:编写Linux驱动;第二步:编写HAL Library;第三部:编写service Library。高版本的Android系统为HAL增加了Stub,就是为每一个HAL共享库指定一个ID,再利用这个ID配合一定的规则找到Linux共享库,这样Linux共享库更换文件名,移动位置都很方便。

  • 相关阅读:
    navigator
    历史记录跳转
    更改URL
    计数器
    窗口位置和大小
    open用法
    confirm用法
    项目中访问本地node服务跨域问题
    jenkins使用
    基于Vue的SSR
  • 原文地址:https://www.cnblogs.com/dongchao1/p/5638537.html
Copyright © 2011-2022 走看看