第六章主要学习到了安卓底层开发的相关知识,这章主要介绍了第一个linux驱动程序:统计单词个数。Linux驱动的工作和访问方式是Linux的亮点之一。 Linux系统将每一个驱动都映射成一个文件,这些文件称为设备文件或驱动文件,都保存在/dev目录中。这种 设计理念使得与Linux驱动进行交互就像与普通文件进行交互一样容易。当然,也比访问LinuxAPI 更容易。 由于大多数Linux驱动都有与其对应的设备文件, 因此与Linux驱动交换数据就变成了与 设备文件交换数据。例如,向Linux打印机驱动发送一个打印命令,可以直接使用C语言函数open打开设备文件, 再使用C语言函数 ioctl 向该驱动的设备文件发送打印命令。
首先编写一个linux驱动程序的步骤是:
第1步:建立 Linux驱动骨架;
第2步:注册和注销设备文件;
第3步:指定与驱动相关的信息;
第4步:指定回调函数;
第5步:编写业务逻辑;
第6步:编写 Makefile文件;
第7步:编译 Linux 驱动程序;
第8步:安装和卸载 Linux 驱动;
接着进行统计单词个数的驱动例子。这个驱动程序并没有访问硬件,而是利用设备文件作为介质与应用程序进行交互。应用程序通过向设备文件传递一个自空格分隔的字符串(每一个被空格隔开的子字符串称为一个单词),然后从设备文件读出来的是该字符串包含的单词数。
然后测试linux驱动,下一步就是测试该模块。测试的方法很多,-最常用的就是直接在.Ubuntu Linux中测试。当然,这对于本章实现的 Linux驱动是没问题的,但是对于需要直接访问硬件的驱动在 Ubuntu linux上测试就不大方便,在这种情况下就需要在相应的硬件上进行测试。
最后就是要在Eclipse开发和测试linux程序。
对于开发这一过程来说:
第1步:建立C工程;
第2步:建立C源代码文件链接;
第3步:设置include路径;
第4步:编译Linux驱动;
对于测试这一过程来说:
第1步:导入test_word_count.c文件;
第2步:设置include 路径;
第3步:建立Target;
第4步:Build工程;
第5步;运行测试程序。