ANDROID深度探索(卷1)HAL与驱动开发 第六章

Linux系统 将每一个驱动都映射成一个文件.这些文件称为设备文件或驱动文件,都保存在/dev目录中。

由于大多数Linux驱动都有与其对应的设备文件, 因此与Linux驱动交换数据就变成了与 设备文件交换数据。

编写Linux驱动程序的步骤:

1 步:建立 Linux 驱动骨架 (装载和卸载 Linux 驱动)。

2 步:注册和注销设备文件。

3 步:指定与驱动相关的信息。

4 步:指定回调函数。

5 步:编写业务逻辑。

6 步:编写 Makefile文件。

7 步:编译 Linux 驱动程序。

8 步:安装和卸载 Linux 驱动。(上面 8 步中的前 5 步是关于如何编写 Linux 驱动程序的,通过后3步可以使 Linux 驱动正常工作。)

Android 系统中 Linux 驱动主要的使用者是 APK 程序。 因此, Linux 驱动做完后必须要用 APK 程序进行测试才能说明 Linux 驱动可以正常使用。由于上一节在 Android 虚拟机上使用 C 语 言编写的可执行程序测试了 Linux驱动,因此很容易想到可以利用 AndroidNDK来测试Linux 驱动, 由于 Android NDK 也使用 C/C++来编写程序, 因此可以利用上一节的 C 语言代码, 当然, 还得 加上一些 AndroidNDK特有的代码。在使用 AndroidNDK 测试 Linux 驱动之前需要做如下两件事。(由于 Linux 驱动模块不会随 Android 系统启动而装载, 因此必须执行 build.sh 脚本文件安 装 word count 驱动。      不能使用默认方式启动 Android 模拟器,而要使用我们自己编译的Linux内核启动 Android 模拟。)

原文地址:https://www.cnblogs.com/wuxinxinxin/p/5561926.html