
Android应用程序访问linux驱动
文章平均质量分 92
阳光玻璃杯
认真,你或许不会输!
展开
-
Android应用程序访问linux驱动第五步:回顾hw_get_module
在《android应用程序访问Linux驱动第二步-实现并测试hardware层》文章中,我们实现了自己的HAL层module,并且写了一个应用程序测试module是否正常工作。在编译的时候,我说过这样一段话: 为什么这么说呢?这还得从hw_get_module函数寻找我们的模块的过程说起。 hw_get_module函数定义在hardware.c函数中:int hw_get_module(原创 2016-09-18 18:46:44 · 3989 阅读 · 0 评论 -
Android应用程序访问linux驱动第四步:实现android应用程序
在前面的三篇博客中,我们已经成功向系统注册了我们自己的服务,并通过服务访问hal层,hal层会真正和linux kernel交互。所以这一节,自然就是写一个app来测试我们前面所有的工作是否正确了。 app的编写还是在集成开发环境下比较方便。在android studio写好代码,然后删除不必要的文件和目录,最后把代码放到android源码目录下编译。我们的应用需要用到一些公用api没有的类和方原创 2016-09-18 09:08:28 · 1421 阅读 · 2 评论 -
Android应用程序访问linux驱动第三步:实现并向系统注册Service
前面两篇博客记录了实现Linux驱动和使用HAL层访问Linux驱动的代码,我们分别对这两部分做了测试,他们都正常工作。有了前面的基础,我们就可以实现service层了,我们想系统注册我们自己的service,在service中访问HAL层,在HAL层中访问linux驱动…当然,我们要在应用程序中访问service,这要留到下一节来实现。 应用程序访问service设计到了进程间的通信,这要求我们原创 2016-09-17 22:00:09 · 4148 阅读 · 15 评论 -
Android应用程序访问linux驱动第二步:实现并测试hardware层
不管是出于什么样地考虑,android系统终究是提供了hardware层来封装了对Linux的驱动的访问,同时为上层提供了一个统一的硬件接口和硬件形态。一.Hardware概述在Hardware层中的一个模块中,主要设计一下三个结构:struct hw_module_tstruct hw_module_methods_tstruct hw_device_t 这三个结构体的关系是这样的:我们在原创 2016-09-14 12:03:11 · 5928 阅读 · 8 评论 -
Android应用程序访问linux驱动第一步:实现并测试Linux驱动
一直都想亲自做一次使用android应用程序访问Linux内核驱动的尝试,但总是没能做到。最近抽出时间,下决心重新尝试一次。尝试的开始当然是先写一个Linux内核驱动了。 我希望写一个简单测驱动程序,实现写一个字符串进去,然后再把它读出来的功能。驱动中会创建dev/hello设备节点和/sys/class/hello/hello/val 设备节点,没有实现proc/下的对应的设备节点。/sys原创 2016-09-12 19:31:58 · 7183 阅读 · 6 评论