高级字符驱动程序操作之ioctl(实践篇)
来源:互联网 发布:smtp使用的端口号为 编辑:程序博客网 时间:2024/05/14 07:31
为了简单,我在“字符设备驱动程序(实践篇)”的基础上进行修改,来掩饰ioctl的用法。
1. scull.h 其中添加ioctl用到的命令
2. scull.c 添加ioctl函数,修改scull_fops
3. Makefile不变
4. make生成scull.ko
装载scull模块
sudo insmod scull.ko
查看主设备号 这里假设为251
cat /proc/devices
建立设备节点
sudo mknod /dev/scull0 c 251 0
sudo mknod /dev/scull1 c 251 1
sudo mknod /dev/scull2 c 251 2
sudo mknod /dev/scull3 c 251 3
更改权限
sudo chgrp staff /dev/scull[0-3]
sudo chmod 664 /dev/scull[0-3]
5. ioctl_test.c
6. 编译测试程序
gcc ioctl_test.c -o ioctl_test.o
开始测试啦
sudo ./ioctl_test.o
打印结果:
1. code should be 10, and actually code == 10
2. code should be 10, and actually code == 10
3. code should be 5, and actually code == 5
4. code should be 10, and actually code == 10
5. code should be 10, and actually code == 10
6. code should be 7, and actually code == 7
- 高级字符驱动程序操作之ioctl(实践篇)
- 高级字符驱动程序操作之ioctl(理论篇)
- 高级字符驱动程序操作之休眠(实践篇)
- 高级字符驱动程序操作之poll(实践篇)
- 高级字符驱动程序操作---增加ioctl功能
- 高级字符驱动程序操作——ioctl
- 高级字符驱动程序操作之异步通知IO(实践篇)
- 高级字符驱动程序操作之异步通知IO(实践篇)基于内核2.6.35-30
- 高级字符驱动程序操作之异步通知IO(实践篇)基于内核2.6.35-30
- Linux设备驱动程序第三版学习(5)- 高级字符驱动程序操作 - ioctl
- Linux设备驱动程序第三版学习(5)- 高级字符驱动程序操作 - ioctl .
- Linux设备驱动程序第三版学习(5)- 高级字符驱动程序操作 - ioctl .
- Linux设备驱动程序学习(6)-高级字符驱动程序操作-ioctl and llseek
- 高级字符驱动程序操作之休眠(理论篇)
- 高级字符驱动程序操作之poll(理论篇)
- 高级字符驱动程序操作之休眠(理论篇)
- linux设备驱动学习(5) 高级字符驱动程序操作--ioctl
- 【Linux 驱动】第六章 高级字符驱动程序操作 ----ioctl
- 从eclipse导入工程到myeclipse,不能部署到tomcat根目录下的解决方案
- shell脚本实现每秒执行一次任务
- 正则表达式学习(二)
- Android记事本程序源码
- JQuery优缺点
- 高级字符驱动程序操作之ioctl(实践篇)
- 迷茫
- 利用ping服务接口API加快网站收录
- dalvik Java类库中本地类
- xiazai
- UDF to show the expression of cell formula.
- ArcGIS 10 3D新特性(一)
- CSS导航技术--间隔平分栏目,防止li换行
- Application context 和Resource 路径