Android深度探索(卷1)HAL与驱动开发 第六章 第一个Linux驱动程序:统计单词个数

Android深度探索(卷1)HAL与驱动开发算法

第六章 第一个Linux驱动程序:统计单词个数数组

    统计单词个数的功能是封装在Linux驱动中的。函数

    Linux驱动的工做和访问方式是Linux亮点之一,同时受到了业界大防范好评。Linux系统将每个驱动都映射成一个文件。这些文件称为设备文件或者驱动文件,都保存在 /dev 目录中。这种设计理念使得与Linux驱动进行交互就像与普通文件进行交互同样容易。固然,也比访问Linux API 更容易。因为大多数Linux驱动都有与其对应的设备文件,所以与Linux驱动交换数据就变成了与文件交换数据。测试

      编写Linux驱动程序的步骤设计

一、创建Linux驱动骨架(装载和卸载Linux驱动)ip

Linux内核在使用驱动时首先须要进行装载驱动。在装载过程当中须要进行一些初始化操做。当系统退出时须要进行卸载Linux驱动,在卸载过程当中须要释放由Linux驱动占用的资源。在Linux驱动程序中须要提供两个函数来分别处理驱动初始化和退出的工做。这两个函数分别用module和moddule_exit宏指定。资源

二、注册和注销设备文件开发

三、指定与驱动相关的信息字符串

四、指定回调函数get

五、编写业务逻辑

六、编写Makefile文件

    Linux内核源代码的编译规则是经过Makefile文件定义的。所以编写一个新的Linux驱动程序必须有一个Makefile文件

七、编译Linux驱动程序

八、安装和卸载Linux驱动

    第一个Linux驱动:统计单词个数

一、#mkdir创建目录文件夹

二、编写Makefile文件

Obj-m : = vord count.o

Word_count-y : = process.o data.o

编写Linux驱动程序的骨架(初始化和退出驱动)

指定与驱动相关的信息

指定回调函数

    实现统计单词数的算法

    编写word_count驱动程序:

一、get_word_count 函数将mem数组中的第一个为“\0”的字符做为字符串的结尾符,所以在word_count_write 函数中将mem[count]的值设成“\0”,不然get_word_count 函数没法知道要统计单词书的字符串到哪里结束。

二、单词数使用int类型变量存储,在word_count_write函数中统计出单词数(word_count变量的值),在word_count_read 函数中将word_count 整型变量值分解成4个字符存储在buf中,所以,在应用程序中须要将这四个字节组合成Int类型的值

编译、安装、卸载Linux驱动程序

      使用多种方式测试Linux驱动

使用Exlipse开发和测试Linux驱动程序

统计单词数的word_count驱动是本书实现的第一个完整的Linux驱动。

相关文章
相关标签/搜索