90%的驱动模型都是按照下图开发的
下面来说下设备描述结构是什么东西
打开Linux-2.6.32.2的Source Insight 工程,搜索cdev
比如一个应用程序需要调用read和write这两个指令,然后内核里肯定也存在read和write,可能是xxx_read和xxx_write这样的函数,而驱动就是衔接这用户空间和内核空间的,read和xxx_read以及write和xxx_write就是属于驱动里面的一部分,而read和xxx_read就属于上述图片的一部分,如果这个文件是只读的,也就是说不能写,那么图片里面file_operations结构体内的write函数指针------( (*write) (struct file *, const char __user *, size_t, loff_t *) )就是空函数,所以这下明白了file_operations结构体是干嘛了的吧。