linux驱动
juckciy
这个作者很懒,什么都没留下…
展开
-
cdev_alloc和cdev_init
内核中每个字符设备都对应一个 cdev结构的变量,下面是它的定义:linux-2.6.22/include/linux/cdev.hstruct cdev {struct kobject kobj; // 每个 cdev都是一个 kobjectstruct module *owner; //指向实现驱动的模块const struct file_op转载 2012-06-14 10:04:45 · 690 阅读 · 0 评论 -
字符设备 register_chrdev_region()、alloc_chrdev_region()区别
转载http://blog.sina.com.cn/s/blog_620b71230100f71g.html字符设备 register_chrdev_region()、alloc_chrdev_region 内核中所有已分配的字符设备编号都记录在一个名为 chrdevs 散列表里。该散列表中的每一个元素是一个 char_device_st转载 2012-06-14 10:30:52 · 2999 阅读 · 0 评论 -
class_create() 详解
http://blog.csdn.net/xxu0123456789/article/details/6339661 class_create()在刚开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载模块时删除该节点,当然前提转载 2012-06-14 11:21:27 · 8831 阅读 · 0 评论 -
struct device结构体
struct device结构体 struct device结构体(2.6.23) 一、定义:linux/include/linux/device.hstruct device { struct klist klist_children; struct klist_node knode_parent; /* node转载 2012-06-14 11:29:31 · 2176 阅读 · 0 评论 -
Linux Platform Device and Driver
Linux Platform Device and Driver 从Linux 2.6起引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。Linux中大部分的设备驱动,都可以使用这套机制, 设备用Platform_device表示,驱动用Platform_driver进行注册。 Linux platform driver机制和转载 2012-06-14 16:03:55 · 475 阅读 · 0 评论 -
Linux字符设备驱动程序的注册
字符设各是Linux中最简单的设备。 在Linux中,字符设各是用一个叫做字符设备结构的数据结构char device struct来描述的。为了管理上的方便,系统维护了一个数组chrdevsLJ,该数组的每一项都代表一个字符没各。 在文件linux/fs/char_dev.c中定义的char_device_struct的数据结构及数组chrdevs[]代码如下: 结构中的一转载 2012-06-14 09:12:55 · 736 阅读 · 0 评论 -
device_create ()详解
在驱动程序中初始化入口函数中,向内核注册一个设备后,往往要注册一个类例如static int __init mydriver_init(void) //驱动程序的初始化{ …… MYDRIVER_Major = register_chrdev(0, DEVICE_NAME, &mydriver_fops); //向内核注册一个设备,返回值为注册的主设备号转载 2012-06-14 11:23:06 · 46700 阅读 · 3 评论 -
linux驱动基本结构分析
/*driver test code */#include #include #include #include #include #include #include #include MODULE_LICENSE("GPL");static int char_read(struct file *filp, char __user *buffer, size转载 2012-06-14 11:44:05 · 596 阅读 · 0 评论