应用程序使用 JNI 接口操作硬件

2015-12-22 chenhui HAL

编写完 HAL 库和 Service 库后,驱动部分就算是完成了,接下来的就是应用程序如何去使用 Service 库提供的 JNI 接口的问题。 一般来说,我们都会把调用 Service 库的代码写成一个类,并单独打包成 jar 文件,下面是这么一个类的简单实现。 package com.android; public class ...

阅读全文>>

评论(0) 浏览(142)

HAL Service 的编写和编译

2015-12-22 chenhui HAL

在编写完 HAL 模块后,还需要再编写 Service,这个 Service 是一个 JNI 库(或者说,就是一个 NDK 程序),他完成对 HAL 模块的加载,并实现 JNI 接口供一个应用程序使用,应用程序可以简单地调用 JNI 接口实现对硬件的操作。他和 HAL 库一样,都是 .so 文件。 Service 库的代码编写起来其实非常简单,下面是一个实例代码,他可以和前一篇文章的 HA...

阅读全文>>

评论(0) 浏览(249)

HAL 模块的编写和编译

2015-12-22 chenhui HAL

使用 HAL 的驱动程序的编写步骤如下: 编写 Linux 驱动。这个驱动程序应该只做到“ 数据中转 ”的作用,因为处理逻辑都要放在 HAL 一层。 编写 HAL 库。HAL 库位于 Android 的库层,所以本质上就是一个 Linux 库。 编写 Service 库。非必须,老版本没有这个步骤,后来加上的。他一般是被 JNI 调用的...

阅读全文>>

评论(0) 浏览(222)

HAL 的基本概念

2015-12-22 chenhui HAL

Android 的驱动程序有两种实现方式:一是 把逻辑完全使用传统的 Linux 驱动实现;二是在 Linux 驱动只作为一个 “ 中转站 ” 使用,而真正的处理逻辑则使用处于用户空间的 HAL 来实现。 HAL 全称为硬件抽象层(Hard Abstraction Layout),他存在的目标是解决 Linux 驱动的开源问题。由于 Linux 传统驱动...

阅读全文>>

评论(0) 浏览(153)

Copyright ©2015-2016 freehui All rights reserved