控制发光二极管 一. 创建LED驱动的设备文件 1.使用cdev_init函数初始化cdev struct cdev{ struct kobject kobj; struct module *owner; const struct file_operations *ops; struct list_ ...
分类:
其他好文 时间:
2016-06-06 10:36:52
阅读次数:
222
第七章 (一)创建设备文件 1.使用cdev_init函数初始化cdec 描述设备文件需要一个cdev结构体,代码如下: struct cdev{ struct kobject kobj; struct module *owener; const struct file_operations *op ...
分类:
移动开发 时间:
2016-06-04 19:23:25
阅读次数:
200
Linux 2.6.36以后file_operations和DECLARE_MUTEX 的变化 http://blog.csdn.net/heanyu/article/details/6757917 1,在include/linux/semaphore.h 中将#define DECLARE_MUT ...
分类:
系统相关 时间:
2016-05-16 12:42:55
阅读次数:
256
shutil -- --High-level file operations 高级的文件操作模块。 os模块提供了对目录或者文件的新建/删除/查看文件属性,还提供了对文件以及目录的路径操作。比如说:绝对路径,父目录…… 但是,os文件的操作还应该包含移动 复制 打包 压缩 解压等操作,这些os模块都 ...
分类:
编程语言 时间:
2016-05-15 13:52:21
阅读次数:
274
在做视频监控项目,以前一直用的是2.6.36的内核,一直很正常,但是这几天换3.0.1内核,启动程序,却出现了错误,如下: 完善OK6410摄像头驱动由上面的分析可知,OK6410新版本(3.0.1)的内核的dev_open函数是有问题的,实际上他是赋值给了v4l2_file_operations结 ...
分类:
其他好文 时间:
2016-05-06 20:13:41
阅读次数:
266
之前写字符设备驱动,都是使用register_chrdev向内核注册驱动程序中构建的file_operations结构体,之后创建的设备文件,只要是主设备号相同(次设备号不同),则绑定的都是同一个file_operations结构体,应用程序使用的也都是这一个结构体中注册的函数。这就会出现这样的一个弊..
分类:
其他好文 时间:
2016-04-11 18:57:55
阅读次数:
5793
struct file_operations{ struct module *owner; // 指向拥有该结构的模块的指针,避免正在操作时被卸载,一般为初始化为THIS_MODULES loff_t (*llseek) (struct file *, loff_t, int); // llseek ...
分类:
其他好文 时间:
2016-04-08 14:47:06
阅读次数:
175
linux设备驱动归纳总结(三):4.ioctl的实现
一、ioctl的简介:
虽然在文件操作结构体"struct
file_operations"中有很多对应的设备操作函数,但是有些命令是实在找不到对应的操作函数。如CD-ROM的驱动,想要一个弹出光驱的操作,这种操作并不是所有的字符设备都需要的,所以文件操作结构体也不会有对应的函数操作。
出于这样的原因,ioct...
分类:
系统相关 时间:
2016-04-01 06:34:48
阅读次数:
263
一、字符设备、字符设备驱动与用户空间访问该设备的程序三者之间的关系。 如图,在Linux内核中使用cdev结构体来描述字符设备,通过其成员dev_t来定义设备号(分为主、次设备号)以确定字符设备的唯一性。通过其成员file_operations来定义字符设备驱动提供给VFS的接口函数,如常见的ope
分类:
系统相关 时间:
2016-02-26 23:24:18
阅读次数:
376
多按键驱动程序优化 优化的代码,支持两个按键的支持的代码:duokey.c: #include <linux/module.h> /* For module specific items */ #include <linux/fs.h> /* For file operations */ #incl
分类:
其他好文 时间:
2016-02-14 07:56:34
阅读次数:
240