Linux设备驱动

本文介绍了Linux设备驱动程序模型,包括sysfs文件系统、设备驱动的基本数据结构和设备文件。sysfs用于体现设备间的层级关系,device和driver结构体管理设备和驱动,class提供功能集合。设备文件位于/dev目录下,分为块设备和字符设备,通过主次设备号标识。udev在系统启动时动态创建设备文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、设备驱动程序模型

1、sysfs文件系统

        用来体现设备之间的层级关系,设备驱动通过注册kobject、kset、subsystem来创建对应的sysfs目录;

kobject:具体的设备对象

kset:具有相同层级的设备对象的集合;

subsystem:包含多个kset描述设备上下级依赖关系,在kobject创建的sysfs目录下进行体现,在设备的device结构体中,通过parent、children成员进行记录该上下级关系;

        kset自身通过内嵌的kobject来给自己分配kobject,这个内嵌的kobject为该kset下所有kobject的parent,该内嵌的kobject有可以加入到上一级kset,以此将设备上的硬件通过这种层级关系来管理和创建sysfs目录来呈现;

2、设备驱动程序基本数据结构

device:device_register函数创建device结构体

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

picaso77

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值