读书笔记第六章
第一个Linux驱动程序:统计单词个数
Linux驱动到底是个什么东西.
对于没接触过驱动开发的程序员可能感觉Linux驱动很神秘,其实,这完全是误解。Linux系统将每一个驱动都映射成一个文件,称之为设备文件或驱动文件,保存在/dev中。这样就使得与Linux驱动交换数据相当于与设备文件交换数据。其中与事件类似的概念,就是编写回调函数,否则与设备文件交互的数据将无法得到处理。
编写Linux驱动程序的步骤
- 建立Linux驱动骨架(装载和卸载Linux驱动)
- 注册和注销设备文件
- 指定与驱动相关的信息
- 指定回调函数
- 编写业务逻辑
- 编写makefile文件
- 编译Linux驱动程序
- 安装和卸载Linux驱动。
统计单词个数:
1.编写linux驱动程序前的准备工作:建立存放linux驱动的目录,编写Makefile文件。2.编写linux驱动程序的骨架:printf函数运行在用户空间,printk函数运行在内核空 间。安装linux驱动、查看word_count是否成功安装、卸载linux驱动、查看日志信息。3.指定与驱动相关的信息:#modinfo word_count.ko查看word_count.ko的信息。 4.注册和注销设备文件:
# define DEVICE_NAME “wordcount” 定义设备文件
Static struct miscdevice misc = {}; 描述设备文件的信息
ret = misc_register(&misc); 建立设备文件
misc_deregister(&misc); 移除设备文件
5.指定回调函数:word_count_read和word_count_write函数分别处理从设备文件读数据和向设备文件写数据。
6.实现统计单词数的算法。
7.编译、安装、卸载linux驱动程序。