Linux设备模型热插拔mdev与firmware.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux设备模型热插拔mdev与firmware

Linux设备驱动程序学习(15) -Linux设备模型(热插拔、mdev 与 firmware) 热插拔 有 2 个不同角度来看待热插拔: ?? 从内核角度看,热插拔是在硬件、内核和内核驱动之间的交互。 ?? 从用户角度看,热插拔是内核和用户空间之间,通过调用用户空间程序(如hotplug、udev 和 mdev)的交互。 当需要通知用户内核发生了某种热插拔事件时,内核才调用这个用户空间程序。 现在的计算机系统,要求 Linux 内核能够在硬件从系统中增删时,可靠稳定地运行。这就对设备驱动作者增加了压力,因为在他们必须处理一个毫无征兆地突然出现或消失的设备。 热插拔工具 当用户向系统添加或删除设备时,内核会产生一个热插拔事件,并在 /proc/sys/kernel/hotplug 文件里查找处理设备连接的用户空间程序。这个用户空间程序主要有 hotplug:这个程序是一个典型的 bash 脚本,只传递执行权给一系列位于 /etc/hot-plug.d/ 目录树的程序。hotplug 脚本有哪些信誉好的足球投注网站所有的有 .hotplug 后缀的可能对这个事件进行处理的程序并调用它们, 并传递给它们许多不同的已经被内核设置的环境变量。(基本已被淘汰,具体内容请参阅《LDD3》) udev :用于linux2.6.13或更高版本的内核上,为用户空间提供使用固定设备名的动态/dev目录的解决方案。它通过在 sysfs 的 /class/ 和/block/ 目录树中查找一个称为 dev 的文件,以确定所创建的设备节点文件的主次设备号。所以要使用udev,驱动必须为设备在sysfs中创建类接口及其dev属性文件,方法和sculld模块中创建dev属性相同。 udev的资料网上十分丰富,我就不在这废话了,给出以下链接有兴趣的自己研究: 《UDEV Primer》(英文),地址:/decibelshelp/LinuxHelp_UDEVPrimer.html ? 《udev规则编写》(luofuchong翻译),地址:/luofuchong/archive/2007/12/18/37831.html ? 《什么是udev》地址:/steganography/archive/2006/04/10/657620.aspx ? 《udev-FAQ 中文翻译》地址:/3225765.html ? 《udev轻松上路》地址:/user1/3313/archives/2007/1635169.shtml ? 《Udev (简体中文)》地址:/index.php/Udev_%28%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87) ? Udev官方主页:/pub/linux/utils/kernel/hotplug/udev.html 下载地址:/pub/linux/utils/kernel/hotplug/ ? 在《LFS》中也有介绍udev的使用,很值得参考!下载地址:/lfs/downloads/stable/ ? ? mdev:一个简化版的udev,是busybox所带的程序,十分适合嵌入式系统。 ? 因为hotplug现在也在被慢慢地淘汰,udev不再依赖hotplug了,所以这里不再介绍; udev较mdev复杂,不太适合嵌入式使用。(本人也有做udev的实验,交叉编译是通过了,但是使用上有问题,没有实现其功能。也许是我的文件系统没做好,以后有时间再研究和写记录。有成功高人的通知一声,交流一下经验。^_^谢谢!); mdev简单易用,比较适合嵌入式系统,实验成功。以下详细介绍mdev的使用。 mdev ? 在一开始建立根文件系统时,我根据 WeiBing 的博客上《UDEV on embeded Linux-》(地址:/logs/4485453.html)这篇文章的提示,开始使用mdev,但是当时只是启动时mdev -s 一下,并没有深究。现在在学习了Linux设备模型之后,对于Linux中/dev目录的动态管理有了更深的认识,并认真的看了一下busybox中的mdev.txt文档并翻译了一下,做成了PDF(下载地址:/blog/upfile2/080111091002.pdf),在看下面的内容时请先看看这篇文档。 ? 先声明一个要点:要实现设备节点文件的自动、动态的增删,必须在你自己的驱动源码中实现 类 接口,并在类设备的目录中添加包含设备号的名为“dev”的属性文件。 ? mdev原理及bug ? 要使用mdev,适当知道一下原理是必不可少的(能完整地研究mdev源码是最好的)。说实话起初我并没有想看mdev的源码,是在使用时发现了问题后才去研究了一下mdev的源码。现在简单介绍一下mdev的原理: ? 执行mdev -s

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档