编写了一个linux字符设备驱动程序,测试时却打不开,怎么回事??

模块已加载,节点也已创建,不知道是驱动程序的问题,还是测试程序的问题。
PS:模拟字符设备驱动程序

你在模块的加载过程,以及重要的入口点(如 file_operations->open,read,write)加点log(printk),看看哪报错,不然谁能知道是什么问题……追问

程序里面加了,可是不知道它显示到哪了
下面是我的open函数,请问,是不是可加载,可创建,表示init函数没问题了??
static int globalvar_open(struct inode *inode,struct file *filp)
{
try_module_get(THIS_MODULE);
printk("This chrdev is in open\n");
return(0);
}

追答

1.关于printk,请用dmesg

2.打印出 This chrdev is in open 这句话只表明驱动模块注册设备结构成功,并且在调用用户层open时找到了其对应的 i 节点

3.为啥你的open是个空的 - -

追问

谢谢,问题找出来了。不能打开是因为我没有以超级用户登录,超级用户登录以后可以打开了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-04
问题描述的不够详细... 这我们也不好回答啊....
相似回答