Linux驱动程序学习笔记(2)——自动创建设备文件

PS:内核版本为2.6.22.6,我的mini2440开发板使用的是韦东山视频上的系统内核

1,声明结构体class指针变量和结构体class_device指针变量 (注意是 结构体指针

static struct class *firDrv_class;

static struct class_device *firDrv_class_device;


2,在加载模块初试函数里先创建结构体class变量,再创建结构体class_device变量

a,class_create方法

firDrv_class = class_create(THIS_MODULE,"firDrvClass");

class_create方法第一个参数为THIS_MODULE,第二个参数为一个名字,系统根据这个名字在/sys/class目录下创建名为这个名字的目录(这个名字起中间作用,应用程序没有用到)


b,class_device_create方法

firDrv_class_device = class_device_create(firDrv_class,NULL,MKDEV(major,0),NULL,"wzcFirDrv");

class_device_create方法利用上面创建的class创建出设备文件,第一个参数为上面的firDrv_class,第二个参数为NULL,第三个参数为设备号,第四个参数暂时为NULL,第5个参数为设备文件的名字(这个名字就是应用程序要打开的文件名),系统会在上面类的文件(/sys/class/firDrvClass)里再创建名为这个名字的目录,系统会根据这个目录里的文件创建设备文件


3,在卸载模块里释放掉所创建的结构体class变量和结构体class_device变量,顺序不能换

class_device_unregister(firDrv_class_device);

class_destroy(firDrv_class);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值