设备文件的创建mknod】的更多相关文章

设备文件是通过mknod命令来创建的.其命令格式为: mknod [OPTION]... NAME TYPE [MAJOR MINOR] TYPE取值: 主设备号和次设备号两个参数合并成一个16位的无符号短整形,高8位表示主设备号,低8位表示次设备号. 一个设备文件通常与一个硬件设备相关联,或者与硬件设备的某一物理或逻辑分区相关联.但在某些情况下设备文件不会和任何实际的硬件关联,而是表示一个虚拟的逻辑设备.例如,/dev/null就是对应于一个"黑洞的"设备文件:所有写入这个文件的数据…
引子 本文是嵌入式企鹅圈开篇--<linux字符设备驱动剖析>的姐妹篇,在上述文章里面我们具体描写叙述了字符设备驱动框架涉及的驱动注冊.通过设备文件来訪问驱动等知识.并明白通过device_create接口并结合mdev来创建设备文件.但没有展开这个知识点. 本文将从代码级去理解Linux设备类和设备文件的创建过程. 通过这两篇文章,我们将能够对linux字符设备驱动的机制和脉络有全面的认识. 下面程序分析没有缩进,编辑了好几次都不行,耐心点才干跟踪完整个代码:-) 一.设备类相关知识 设备类…
如果你使用Linux比较长时间了,那你就知道,在对待设备文件这块,Linux改变了几次策略.在Linux早期,设备文件仅仅是是一些带有适当的属性集的普通文件,它由mknod命令创建,文件存放在/dev目录下.后来,采用了devfs, 一个基于内核的动态设备文件系统,他首次出现在2.3.46内核中.Mandrake,Gentoo等Linux分发版本采用了这种方式.devfs创建 的设备文件是动态的.但是devfs有一些严重的限制,从2.6.13版本后移走了.目前取代他的便是文本要提到的udev--…
[原文链接]:http://blog.itpub.net/28874898/viewspace-774249/ 在系统中的空余空间添加新的分区:   fdisk   /dev/sda (第一块硬盘上),进入分区命令行后,根据自己的需求一步步往下走,不详细描述.分好之后按p打印如下:sda5就是新增的分区 Command (m for help): p Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 26…
设备文件系统 Linux引入了虚拟文件系统,从而使设备的访问可以像访问普通文件系统一样.因此在内核中描述打开文件的数据inode中的rdev成员用来记录设备文件对应到的设备号.设备文件也由一个对应的file_operations 数据对象,用来描述设备的操作接口.设备文件系统最早是采用devfs实现的,但是后来因为种种原因在2.6以后的内核中已经将其废弃而转而使用udev,他来本质上是没有区别都是在设备添加到系统中时在/dev目录下产生设备文件(机制相同),但是不同的是策略devfs的策略是将设…
class_create(),device_create自动创建设备文件结点 从linux 内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代.相比devfs,udev有很多优势,在此就不罗嗦了,提醒一 点,udev是应用层的东东,不要试图在内核的配置选项里找到它;加入对udev的支持很简单,以作者所写的一个字符设备驱动为例,在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备调用 class_device_create创建对应的设备.…
本文参考来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhenwenxian/archive/2010/03/28/5424434.aspx 本文转自:http://www.cnblogs.com/hnrainll/archive/2011/06/24/2088576.html 从linux 内核2.6的某个版本之后,devfs不复存在,udev成为devfs的替代.相比devfs,udev有很多优势,在此就不罗嗦了,提醒一 点,udev是应用层的东东,不要试图在内…
1.通过GPIO库函数控制LED   open("/dev/myleds",...)       close(fd)   ---------------------------------------------   sys_open                      sys_close       led_open(...)                led_release(...)       {                            {        …
1.mdev的使用方法和原理: mdev是busybox 自带的一个简化版的udev,适合于嵌入式的应用埸合.其具有使用简单的特点.它的作用,就是在系统启动和热插拔或动态加载驱动程序时,自动产生驱动程序所需的节点文件.在以busybox 为基础构建嵌入式linux 的根文件系统时,使用它是最优的选择 下面介绍使用方法: 以字符设备char_dev为例,在驱动初始化的代码里调用class_create为该设备创建一个class,再为每个设备调用class_device_create创建对应的设备,…
自动创建设备文件 1.自动创建设备文件的流程 字符设备驱动模块 -->创建一个设备驱动class--->创建属于class的device--->调用mdev工具(自动完成)--> 生成设备文件 mdev工具会根据/sys下的class找到相对应的device,然后根据device创建设备文件 class /sys/classdevice /sys/device 1.1创建class /注销class struct class * class_create(struct module…