Linux-标准字符设备
Linux-.标准字符设备 标准字符是内核对字符设备驱动的一种管理方式。 标准字符设备和早期字符、杂项字符设备本质上相同,都是对字符设备驱动的不同管理方式。 一个设备驱动,不管用早期字符设备、杂项字符设备、标准字符设备去管理,设备驱动功能没有任何区别! 标准字符设备是由早期字符设备拓展得到的,是由早期字符设备发展而来的,和早期字符设备80%相似! 标准字符设备的用途:主要在早期字符设备基础上,拓展了设备号的范围! 标准字符设备也可以用来管理一类类的设备! 特殊声明:标准字符设备的设备号分配比较灵活、自由! 3.1 标准字符设备的特性 字符设备具备三种核心属性:设备号、设备节点文件、文件操作集合 标准字符设备的设备号分布:u32 devnum = (major << 20) | minor; 主设备号: 0 ~ 2^12 次设备号: 0 ~ 2^20 设备节点文件: 标准字符设备注册成功之后,分配得到设备号。但是设备节点文件并不会自动创建,需要手动创建! 例: mknod /dev/led_hehe c major minor 文件操作集合: 所有设备驱动的文件操作集合完全相同。 3.2 标准字符设备结构体 标准字符设备结构体实质上和早期字符设备结构体一样! 标准字符设备结构体:struct cdev struct cdev { struct kobject kobj; struct