自动创建设备节点笔记

本文介绍了Linux内核2.6.32.2版本中如何自动创建设备节点,包括使用register_chrdev()函数仅注册设备信息,以及在不同内核版本下如class_create()和device_create()等函数的使用方法。通过示例代码展示了如何在驱动程序中创建和注销设备节点,以实现由udev自动创建对应的设备节点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    本次文章是基于内核2.6.32.2开发所写的,通过查阅资料发现,关于自动创建设备节点的函数,Linux是有提供的,并非必须通过手动mknod去创建设备节点。解析如下:

register_chrdev()函数  //只注册设备信息不创建设备节点文件。

2.6.29内核或更早的内核版本,创建设备节点的函数名为:class_create()和class_device_create();

                                                        注销设备节点的函数名为:class_destory()和class_device_destory();

2.6.32内核版本,创建设备节点的函数名为:class_create()和device_create();并且在驱动程序的头文件中加入#include<linux/device.h>   ←该头文件位于/linux2.6.32.2/include/linux下 。

简例:

#include<linux/device.h>

char_reg_setup_cdev ()  //该函数下创建设备节点

my_class = class_create(THIS_MODULE, "my_class");

device_create( my_class, NULL, MKDEV(hello_major, 0), "hello" "%d", 0 ); //register your own device in sysfs, and this will cause udev to create corresponding device node

static void __exit hello_2_exit (void) //该函数下注销设备节点

device_destroy(my_class, MKDEV(adc_major, 0)); //delete device node under /dev

class_destroy(my_class); //delete class

记录时间:2014年11月18日

记录人:大四狗earl_w||H伟伯爵H

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值