mdev 的使用方法和原理

本文介绍了mdev,一个在Busybox中用于嵌入式系统的简化版udev,主要用于自动创建设备节点。文章详细讲解了mdev的配置与启动,包括在busybox中启用mdev,启动时的命令添加,以及驱动程序如何配合mdev创建设备节点。此外,还简要探讨了mdev的工作原理,包括启动时扫描设备和响应热插拔事件。最后,提供了一个使用mdev的GPIO控制驱动示例。
摘要由CSDN通过智能技术生成

mdev 的使用方法和原理
原文网址:
http://blog.csdn.net/hugerat/archive/2008/12/03/3437099.aspx
mdev 是busybox 自带的一个简化版的udev,适合于嵌入式的应用埸合。其具有使用简
单的特点。它的作用,就是在系统启动和热插拔或动态加载驱动程序时,自动产生驱动程序所
需的节点文件。在以busybox 为基础构建嵌入式linux 的根文件系统时,使用它是最优的选择。
4.3.1 mdev 的使用
mdev 的使用在busybox 中的mdev.txt 文档已经将得很详细了。但作为例子,我简单讲
讲我的使用过程:
(1)在编译时加上对mdev 的支持
说明: 我使用的是busybox1.10.1
Linux System Utilities ---> mdev
Support /etc/mdev.conf
Support command execution at device addition/removal
(2)在启动时加上使用mdev 的命令
我在自己创建的根文件系统(nfs)中的/linuxrc 文件中添加了如下指令:
#挂载/sys 为sysfs 文件系统
echo "----------mount /sys as sysfs"
/bin/mount -t tmpfs mdev /dev
/bin/mount -t sysfs sysfs /sys
echo "----------Starting mdev......"
/bin/echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
注意:是/bin/echo /sbin/mdev > /proc/sys/kernel/hotplug,并非/bin/echo /bin/mdev >
/proc/sys/kernel/hotplug。
busybox 的文档有错!!
(3)在驱动中加上对类设备接口的支持
在驱动程序的初始化函数中,使用下述的类似语句,就能在类设备目录下添加包含
设备号的名为“dev”的属性文件。并通过mdev 在/dev 目录下产生gpio_dev0 的设备节点文件。
my_class = class_create(THIS_MODULE, "gpio_class");
if(IS_ERR(my_class)) {
printk("Err: failed in creating class.\n");
return -1;
}
/* register your own device in sysfs, and this will cause mdev to create corresponding
device node */
class_device_create(my_class, MKDEV(gpio_major_number, 0), NULL,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值