ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

【Linux驱动小白教学】六、Linux驱动设备号详解(静态/动态申请+注销+实操)

【Linux驱动小白教学】六、Linux驱动设备号详解(静态/动态申请+注销+实操) 前面我们铺垫了Linux驱动的基础概念、内核模块的编译与加载,从本节课开始,我们正式进入字符设备驱动核心开发。开发字符设备驱动的第一步,就是申请设备号。在Linux系统中,所有的字符设备、块设备都依靠设备号进行唯一标识,系统通过设备号区分不同的硬件设备,实现用户层与内核层的设备交互。一、设备号核心基础概念1.1 什么是设备号?Linux 内核中,使用dev_t类型(本质是32位无符号整型)来存储设备号,设备号由两部分组成:主设备号(Major):高12位,用于标识设备驱动类型,同一个驱动程序对应一个唯一主设备号次设备号(Minor):低20位,用于标识同一驱动下的不同设备,比如一个网卡驱动可以绑定多个网卡设备,依靠次设备号区分简单总结:主设备号找驱动,次设备号找设备。1.2 核心宏函数作用内核提供专用宏,快速拆分、获取设备号,无需手动位运算:MAJOR(dev):从 dev_t 设备号中,提取主设备号
返回列表