一,创建设备文件的机制
1,mknod:手动创建设备节点
2,devfs:创建设备节点的逻辑在内核空间,2.5版本后淘汰
3,udev:自动创建设备节点的机制,逻辑在用户空间,常用
4,mdev:轻量级的udev机制
二,udev创建设备节点的过程分析
1,注册驱动,register_chrdev()函数
2,获取设备信息(设备树相关文件,目前为指定寄存器地址)
3,创建一个设备类(向上提交目录信息),会在内核中申请一个struct class对象,并且初始化,此时会在/sys/class/目录下创建一个以类名为名的目录
4,创建一个设备对象(向上提交设备节点信息),会在内核中申请一个struct device对象,并且初始化,此时会在上一步创建好的目录下创建存放设备节点信息的文件
5,当创建好存放设备节点信息的文件后,内核会发起hotplug event事件,激活用户空间的hotplug进程
6,hotplug进程激活后,会通知udev进程在刚创建的存放设备节点信息的文件中查询设备节点相关信息文章来源:https://www.toymoban.com/news/detail-708171.html
7,udev查询设备节点相关信息后,会在/dev目录下创建设备节点文章来源地址https://www.toymoban.com/news/detail-708171.html
到了这里,关于驱动开发--自动创建节点udev机制的实现过程分析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!