高级字符驱动程序操作之poll(实践篇)

1. scull.h 驱动程序由scullpipe改过来的

  

 

2. poll.c

 

3. Makefile

 

4. poll_testw.c 带参数,0表示打开第一设备,1表示打开第二个设备

 

5. poll_testr.c

 

6. Makefile

 

7. 开始测试

 

装载驱动程序

sudo insmod ./poll.ko

查看主设备号,这里假设为251

cat /proc/devices

建立设备节点

sudo mknod /dev/poll_pipe0 c 251 0

sudo mknod /dev/poll_pipe1 c 251 1

更改权限

sudo chgrp staff /dev/poll_pipe[0-1]

sudo chmod 664 /dev/poll_pipe[0-1]

 

在第一个终端打开读程序,程序阻塞在poll函数

sudo ./poll_testr.o

在第二个终端打开带参数为0的写程序

sudo ./poll_testw.o 0

结果:

         第二个终端打印:Write 24 bytes to polltest

         第一个终端打印:read Hello, Character driver! from polltest0

接着在第二个终端打开参数为1的写程序

sudo ./poll_testw.o 1

结果:

         第二个终端打印:Write 24 bytes to polltest

         第一个终端打印:read Hello, Character driver! from polltest1

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值