嵌入式Linux 自动创建设备节点示例

1 mdev 机制
mdev 是一个用户程序,在 Linux 下通过 mdev 来实现设备文件的创建与删除, mdev 可以检测系统中硬件设备状态,可以根据系统中硬件设备状态来创建或者删除设备文件。
比如使用modprobe 命令成功加载驱动模块以后就自动在 /dev 目录下创建对应的设备节点文件 , 使用 rmmod 命令卸载驱动模块以后就删除掉 /dev 目录下的设备节点文件。
创建和删除类、创建和删除设备
自动创建设备节点前,首先要创建一个 class 类,然后在这个类下创建一个设备。

卸载驱动的时候需要删除掉创建的设备和类。


在驱动入口函数里面创建类和设备,在驱动出口函数里面删除类和设备,参考示例如下:

 
struct class *class; /* 类 */ 
struct device *device; /* 设备 */
dev_t devid; /* 设备号 */ 

/* 驱动入口函数 */
static int __init led_init(void) 7 { 8 /* 创建类 */
class = class_create(THIS_MODULE, "xxx");
/* 创建设备 */
device = device_create(class, NULL, devid, NULL, "xxx");
return 0;
}

/* 驱动出口函数 */
static void __exit led_exit(void)
{
/* 删除设备 */
device_destroy(newchrled.class, newchrled.devid);
/* 删除类 */
class_destroy(newchrled.class);
}

module_init(led_init);
module_exit(led_exit);

 
 这样加载驱动模块以后就自动在 /dev 目录下创建对应的设备节点文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值