
linux设备驱动
傲雪之凌风
这个作者很懒,什么都没留下…
展开
-
linux驱动学习笔记
说明 笔记适用于Linux的2.6.10以后的内核。 笔记以Linux Device Driver 3提供的scull程序(scull目录中的main.c和scull.h)为记录主线,并以该驱动程序中的各种系统调用和函数调用流程为记录顺序。比如,module_init( )和module_exit( )为相对应的一对系统调用,一般书籍中都会放在一起讨论,但是本笔记却不会这样,而是在需要调用的时转载 2013-12-17 20:46:51 · 428 阅读 · 0 评论 -
简单理解 struct inode 和 struct file,cdev 和 inode的关系
内核中用inode结构表示具体的文件,而用file结构表示打开的文件描述符。 inode中对于编写驱动代码有用的主要成员是dev_t i_rdev,struct cdev * i_cdev。 对于代表设备文件的结点,dev_t i_rdev包含了实际的设备编号。内核中提供了两个宏可以提取inode中的主次编号。 unsigned int iminor(struct inod转载 2013-12-17 16:54:35 · 2082 阅读 · 0 评论 -
Linux字符设备驱动之cdev_init
1.内核中每个字符设备都对应一个 cdev 结构的变量,下面是它的定义: linux-2.6.22/include/linux/cdev.h struct cdev { 13 struct kobject kobj; 14 struct module *owner; 15 const struct file_operation转载 2013-12-17 22:12:21 · 396 阅读 · 0 评论 -
有关字符设备的数据结构
1、file_operations结构 include/linux/fs.h struct file_operations{ 我认为的常用部分: struct module * owner; loff_t (*llseek) (struct file*, loff_t, int); ssize_t (*read) (struct file*, char *, size_t, loff_原创 2014-02-15 15:19:09 · 567 阅读 · 0 评论 -
Linux 中字符设备的注册(转)
Linux中字符设备的注册过程是比较简单的。我们通常可以调用misc_register()函数来注册一个字符设备。Misc设备是一种字符设备,通过该设备可以将fops请求转发给注册的misc设备,从而实现字符设备的功能。用户调用该接口注册Misc字符设备时,可以动态分配设备Minor号,当获取Minor号之后调用class_simple_device_add()或者device_create()函转载 2014-02-17 21:21:53 · 449 阅读 · 0 评论