news 2026/4/18 0:20:03

Linux驱动-设备号

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux驱动-设备号

主次设备号

设备号是什么

  1. Linux 中每个设备都有一个设备号,设备号由主设备号和次设备号两部分组成。主设备号用于区分设备的类型,次设备号用于区分同一类型的多个设备(对应硬件实体)。
    • 相同硬件设备,相同驱动。一般其主设备号一致,次设备号不同。
  2. 设备号数据类型:dev_t原型是一个32位无符号整形类型的值(unsigned int ),其中高12位表示主设备号,低20位表示次设备号
    • 设备号的取值范围理论上如下:
      • major:0 ~ 4095
      • minor:0 ~ 1,048,575
        但实际上对于字符设备而言,主设备最多只有 255 个,而同一个主设备的次设备最多支持 256 个。
        详见map.c,以上结论还没有实际验证过。
char_dev.c//维护一个设备号分配的哈希表,记录已注册的设备号范围。#defineCHRDEV_MAJOR_HASH_SIZE255structchar_device_struct{structchar_device_struct*next;// 哈希冲突时的链表指针unsignedintmajor;// 主设备号unsignedintbaseminor;// 起始次设备号intminorct;// 次设备号数量charname[64];// 设备名称structcdev*cdev;// 指向对应的cdev结构}*chrdevs[CHRDEV_MAJOR_HASH_SIZE];// 哈希表数组

设备号的相关代码

//由下可知设备号dev_t是无符号32位typedef__kernel_dev_tdev_t;typedef__u32 __kernel_dev_t;typedefunsignedint__u32;//设备号的相关操作#defineMINORBITS20#defineMINORMASK((1U<<MINORBITS)-1)#defineMAJOR(dev)((unsignedint)((dev)>>MINORBITS))#defineMINOR(dev)((unsignedint)((dev)&MINORMASK))#defineMKDEV(ma,mi)(((ma)<<MINORBITS)|(mi))宏 MINORBITS 表示次设备号位数,一共是20位。 宏 MINORMASK 表示次设备号掩码。 宏 MAJOR 用于从dev_t中获取主设备号,将dev_t右移20位即可。 宏 MINOR 用于从dev_t中获取次设备号,取dev_t的低20位的值即可。 宏 MKDEV 用于将给定的主设备号和次设备号的值组合成dev_t类型的设备号。

如何查看设备号

如何查看主次设备号:[[universe/Embedbed/Linux#Linxu目录|Linux目录]]
- cat /proc/devices:列出了系统中已注册的所有字符设备和块设备的主设备号,以及相应的设备名称。不会有次设备号。
-ls -lh /dev:列出设备节点属性,原本文件大下位置,变成主次设备号。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:39:22

java计算机毕业设计校园闲置二手交易网站 高校跳蚤市场智能交易平台 校园绿色循环物品交换系统

计算机毕业设计校园闲置二手交易网站4g1pt9&#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。毕业季搬家季&#xff0c;楼道里成堆的台灯、教材、球拍、小风扇眼看就要被宿管扔进垃…

作者头像 李华
网站建设 2026/4/6 7:50:07

APS1604M-SQR的产品特点

加上品牌&#xff1a;AP MEMORY 免费样品申请-中国区一级代理商&#xff1a;深圳市贝乐实业股份有限公司许多国产芯片的叙事始于“替代”&#xff0c;但APS1604M-SQR的价值在于它提供了传统方案&#xff08;甚至是一些国外方案&#xff09;所不具备的、更优的系统级解决…

作者头像 李华
网站建设 2026/4/17 1:22:09

APS1604M-SQRX产品特点

加上品牌&#xff1a;AP MEMORY 免费样品申请-中国区一级代理商&#xff1a;深圳市贝乐实业股份有限公司APS1604M-SQRX是爱普&#xff08;AP memory&#xff09;推出的一款极具创新性的16Mbit容量、DDR4接口的PSRAM&#xff08;伪静态随机存储器&#xff09;芯片。这款产品…

作者头像 李华
网站建设 2026/4/17 8:49:44

实践经验:XinServer 是否适合生产环境?实践告诉你

实践经验&#xff1a;XinServer 是否适合生产环境&#xff1f;实践告诉你 最近跟几个做外包的朋友聊天&#xff0c;大家吐槽最多的就是&#xff1a;“这项目又要搞后台&#xff0c;烦死了&#xff0c;前后端联调、数据库设计、服务器部署&#xff0c;一套下来半个月没了&#x…

作者头像 李华
网站建设 2026/4/18 7:54:35

电子签章行业风险评估:安全、合规与市场挑战

随着数字化和互联网的发展&#xff0c;各行各业越来越多针对C端用户的互联网企业活跃于市场之上&#xff0c;对传统企业带来了不可估量的冲击&#xff0c;其中自然也包括电子签章行业。下面就互联网电子签章公司在实际使用过程中可能存在的风险进行相关的分析&#xff1a;这些风…

作者头像 李华