摘要: 在第一篇文章中,我们介绍了如何在Ubuntu 上为Android 系统编写Linux内核驱动程序。在这个名为hello 的Linux 内核驱动程序中,创建三个不同的文件节点来供用户空间访问,分别是传统的设备文件/dev/hello、proc 系统文件/proc/hello 和devfs 系统属性文件/sys/class/hello/hello/val。进一步,还通过cat 命令来直接访问/proc/hello 和/sys/class/hello/hello/val 文件来,以验证驱动程序的正确性。在这一篇文章里,我们将通过自己编写的C 可执行程序来访问设备文件/dev/hello。可能读者会觉 阅读全文
posted @ 2013-05-22 15:28 老z的博客 阅读(2788) 评论(0) 推荐(0) 编辑
摘要: 在Ubuntu 上为Android 系统编写Linux 内核驱动程序这里,我们不会为真实的硬件设备编写内核驱动程序。为了方便描述为Android 系统编写内核驱动程序的过程,我们使用一个虚拟的硬件设备,这个设备只有一个4 字节的寄存器,它可读可写。想起我们第一次学习程序语言时,都喜欢用“Hello, World”作为例子,这里,我们就把这个虚拟的设备命名为“hello”,而这个内核驱动程序也命名为hello 驱动程序。其实,Android 内核驱动程序和一般Linux 内核驱动程序的编写方法是一样的,都是以Linux 模块的形式实现的,具体可参考前面Android 学习启动篇一文中提到的Lin 阅读全文
posted @ 2013-05-22 14:49 老z的博客 阅读(5526) 评论(0) 推荐(0) 编辑
摘要: 这几天看到了一篇“Android驱动开发”的文章,觉得不错,但这篇文章稍微有点老,里面的程序有部分是不能编译的,因此想到了重新整理下,文章的结构和原文差不多。我的实际开发验证环境为Ubuntu+Galaxy Nexus+CM。 目录一. 在Android 内核源代码工程中编写硬件驱动程序二. 在Android 系统中增加C 可执行程序来访问硬件驱动程序三. 在Android 硬件抽象层增加接口模块访问硬件驱动程序四. 在Android 系统中编写JNI 方法在应用程序框架层提供Java 接口访问硬件五. 在Android 系统的应用程序框架层增加硬件服务接口六. ... 阅读全文
posted @ 2013-05-22 14:33 老z的博客 阅读(616) 评论(0) 推荐(0) 编辑