《Linux设备设备驱动程序(第三版)》学习笔记之一:scull设备的使用
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
《Linux设备设备驱动程序(第三版)》学习笔记之一:
scull设备的使用
By: | 吴垠 |
Date: | 2007-07-05 |
Email: | lazy.fox.wu#gmail.com |
Homepage: | http://blog.csdn.net/wooin |
Copyright: | 该文章版权由吴垠所有。可在非商业目的下任意传播和复制。 对于商业目的下对本文的任何行为需经作者同意。 联系方式:lazy.fox.wu#gmail.com |
1. | 写在前面:
| ||||||||||||||||
2. | 源代码包解压后进入scull文件夹,其中的文件有:
| ||||||||||||||||
3. | 直接在scull目录下运行make命令就可以编译通过,会生成一个叫scull.ko的文件,然后运行脚本scull_load, 没有任何输出就返回了,scull设备就会自动加载到内核当中去了,此时可以通过查看/proc/devices文件找到刚加载的scull模块,还有内 核为其分配的主设备号。 在/dev/中也增加很多以scull开头的字符设备。 | ||||||||||||||||
4. | 试试scull设备: 运行命令:
| ||||||||||||||||
5. | 再运行scull_unload,也是没有任何输出就返回了,但是scull模块却已经从内核中删除了,/proc/devices 文件中也没scull设备了,/dev/中也没有以scull开头的字符设备了。 | ||||||||||||||||
6. | 下面在scull增加一些调试信息: 打开main.c文件,在函数scull_init_module()的头部增加一句:
| ||||||||||||||||
7. | 重复第3步,将scull加载进内核中,此时内核应该调用main.c中的scull_init_module()函数,是不是调用 了呢?我们看看/var/log/messages文件,果然在该文件最后有输出我们的调试信息:
| ||||||||||||||||
8. | 可以想像,向设备中写数据就会调用scull_write()函数,我们执行下面的命令利用输出重定向来向/dev/scull设备 写数据:
| ||||||||||||||||
9. | 从设备中读取数据应该就会调用scull_read()函数,我们利用dd命令来读scull设备:
| ||||||||||||||||
10. | 本文介绍的scull使用方法调试成功后对读第三章《字符设备驱动程序》很有帮助,当遇到不懂,或不确定的地方时printk一下就 好了^_^ | ||||||||||||||||
GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献8条内容
所有评论(0)