linux字符驱动问题
我有个怪问题,我写了一个字符驱动,在驱动的open write read分别打印 printk(__FUNCTION...
然后我做一个测试程序,可以open这个设备,但不能读写。而且read write没有返回错误,就是没有进到驱动里面。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我有个怪问题,我写了一个字符驱动,在驱动的open write read分别打印 printk(__FUNCTION...
然后我做一个测试程序,可以open这个设备,但不能读写。而且read write没有返回错误,就是没有进到驱动里面。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(6)
运行了你的write函数吗
没有,驱动中的write函数没运行。
open运行了,write发起后,会看到乱的打印信息,但没有进入到驱动的xxx_write
回复 4# iwasmu
你没有把你的file_operations绑到驱动上把
看下这个:
假设设备是/dev/demo
1. /dev/demo的权限,一般是crw-r--r-- root root
用chmod a+w /dev/demo 增加权限 crw-rw-rw root root
2.测试程序open (..., O_RDWR)读写方式打开
3.驱动程序注册绑定
cdev_init()
mycdev.owner = ...
mycdev.ops = ...
cdev_add()
4. 查看/proc/devices 看设备号是否占用
5.sudo mknod /dev/demo c 256 0 是否与设备号的一致
6.。。。。。。。。。。
驱动要怎么开始学习?