scull设备的使用
来源:互联网 发布:网络拍卖新版 编辑:程序博客网 时间:2024/04/30 07:25
这两天都在看ldd3的第三章《字符设备驱动程序》
这一章应该说是对于初学者来说要实现自己的第一个驱动程序scull。
个人感觉,要深刻理解和掌握这一章,一定要理解scull到底是什么样一个设备。于是从网上下载到ldd3的源代码(我的资源中有),准备先编译和运行其中的scull驱动模块,看看到底是个什么东西。
打开scull目录,发现里面的内容如下:
access.c
main.c 主程序,scull设备的初始化、卸载、open、write等实现都在这里面
Makefile
pipe.c 第六章《高级字符驱动程序操作》会用到,用来讲解阻塞型设备
scull.h 头文件
scull.init
scull_load 加载scull模块的脚本
scull_unload 卸载scull模块的脚本
//直接运行make命令会有问题,需要做如下修改:
3)access.c修改:替换所有current->uid 和 current->euid为 current->cred->uid和current->cred->euid。
/*终于将ldd3的第三章结束了。
2008年12月25日,今天圣诞节,西安很冷。办公室暖气很好。大家都在忙碌,我的工作已完成,可以静下心来看些东西真好,喜欢这个感觉。
开始第四章。*/
通过运行make命令生成scull.ko之后,我们就可以对该模块进行操作了。
执行scull_load脚本装载模块并创建设备节点
执行scull_unload脚本卸载模块并删除设备节点
装载好了之后可以向该节点中存储信息,然后使用cat查看该设备内的信息。
在操作设备的时候可以查看/var/log/messages文件查看内核的printk输出信息。
可执行操作举例如下:
1)ls -l > /dev/scull #将/dev目录下的文件信息存储到scull设备中
cat /dev/scull #通过cat命令查看设备内的内容进行验证
2)dd if=/dev/scull of=temp #从/dev/scull中读取数据,保存到当前目录下的temp文件
参考文章:http://blog.csdn.net/wooin/archive/2007/08/28/1762818.aspx
这一章应该说是对于初学者来说要实现自己的第一个驱动程序scull。
个人感觉,要深刻理解和掌握这一章,一定要理解scull到底是什么样一个设备。于是从网上下载到ldd3的源代码(我的资源中有),准备先编译和运行其中的scull驱动模块,看看到底是个什么东西。
打开scull目录,发现里面的内容如下:
access.c
main.c 主程序,scull设备的初始化、卸载、open、write等实现都在这里面
Makefile
pipe.c 第六章《高级字符驱动程序操作》会用到,用来讲解阻塞型设备
scull.h 头文件
scull.init
scull_load 加载scull模块的脚本
scull_unload 卸载scull模块的脚本
//直接运行make命令会有问题,需要做如下修改:
1) 将main.c中的<linux/config.h>更改为<linux/sched.h>,并将<linux/sched.h>也增加到pipe.c和access.c中。因为从2.6.19版本以后config.h文件被取消了.所以以后有config.h的地方都会报错。
2)Makefile修改:将Makefile中的全部CFLAGS用EXTRA_CFLAGS替换3)access.c修改:替换所有current->uid 和 current->euid为 current->cred->uid和current->cred->euid。
/*终于将ldd3的第三章结束了。
2008年12月25日,今天圣诞节,西安很冷。办公室暖气很好。大家都在忙碌,我的工作已完成,可以静下心来看些东西真好,喜欢这个感觉。
开始第四章。*/
通过运行make命令生成scull.ko之后,我们就可以对该模块进行操作了。
执行scull_load脚本装载模块并创建设备节点
执行scull_unload脚本卸载模块并删除设备节点
装载好了之后可以向该节点中存储信息,然后使用cat查看该设备内的信息。
在操作设备的时候可以查看/var/log/messages文件查看内核的printk输出信息。
可执行操作举例如下:
1)ls -l > /dev/scull #将/dev目录下的文件信息存储到scull设备中
cat /dev/scull #通过cat命令查看设备内的内容进行验证
2)dd if=/dev/scull of=temp #从/dev/scull中读取数据,保存到当前目录下的temp文件
参考文章:http://blog.csdn.net/wooin/archive/2007/08/28/1762818.aspx
- scull设备的使用
- scull设备的使用
- scull设备的使用
- Scull字符设备驱动模块的内存使用分析
- 对于scull设备的理解
- 《Linux设备设备驱动程序(第三版)》学习笔记之一:scull设备的使用
- 理解scull设备
- scull字符设备
- ldd3-3-scull.1设备的加载卸载
- ldd3-3-scull.2设备的读写操作(失败)
- SCULL简单字符设备驱动
- 慢慢学Linux驱动开发,第七篇,scull的使用
- scull的阅读笔记
- 设备驱动之一 - 最简单的可运行的scull模块
- 设备驱动之一 - 基于第三章的组织结构改变的scull驱动
- linux设备驱动开发中有关scull模块的编译问题
- linux设备驱动开发中有关scull模块的编译问题
- scull字符设备注释版(收集的,很详细,不错!)
- vnc的使用
- 不可思议:99%的人不了解的真实中国历史
- ASP.NET 获取IP地址的几种方法
- wireshark中filter属性设置
- FindFirstFile的用法 08.12.25
- scull设备的使用
- JS在页面上显示当前日期和时间
- 关于Excel中单元格引用的本质
- 1_页面中怎样加载一个地图
- 在MSDN上找到的适合初学者的教程。从孩子的水平教起,直到骨灰级专家
- 内外忽悠,软件业能怎样发展?
- Ajax学习笔记
- 窗口和控件样式参考
- 在PL/SQL中借助JAVA调用可执行程序的例子