全部博文(175)
发布时间:2013-03-27 17:59:28
对于字符设备驱动,当file_operations注册好了之后,这只是实现了该驱动的内部功能,我们还要向用户提供操作接口,也就是在/dev/目录下创建字符设备节点,其中device_create函数就用于实现该功能。 创建设备节点是device_create的功能之一,下面主要分析该功能的主要流程。 以下基于Linux2.6.32.2.........【阅读全文】
发布时间:2013-03-25 14:34:44
2.3 字符设备的内核抽象(1)顾名思义,字符设备驱动程序管理的核心对象是字符设备。从字符设备驱动程序的设计框架角度出发,内核为字符设备抽象出了一个具体的数据结构struct cdev,其定义如下: struct cdev { &nbs.........【阅读全文】
发布时间:2013-03-20 10:17:10
1:当无法列出传递函数的所有实参的类型和数目时,可用省略号指定参数表void foo(...);void foo(parm_list,...);2:函数参数的传递原理函数参数是以数据结构:栈的形式存取,从右至左入栈.eg:#include void fun(int a, ...) { int *temp = &a; temp++; for (int i = 0; i 中的例子#include "stdio.h"#in.........【阅读全文】
发布时间:2013-03-18 17:47:09
内核中每个字符设备都对应一个 cdev结构的变量,下面是它的定义:linux-2.6.22/include/linux/cdev.hstruct cdev {struct kobject kobj; // 每个 cdev都是一个 kobjectstruct module *owner; //指向实现驱动的模.........【阅读全文】