编写了一个linux字符设备驱动程序,测试时却打不开,怎么回事??
模块已加载,节点也已创建,不知道是驱动程序的问题,还是测试程序的问题。PS:模拟字符设备驱动程序...
模块已加载,节点也已创建,不知道是驱动程序的问题,还是测试程序的问题。
PS:模拟字符设备驱动程序 展开
PS:模拟字符设备驱动程序 展开
2个回答
展开全部
你在模块的加载过程,以及重要的入口点(如 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是个空的 - -
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询