linux设备驱动模型 - 驱动框架
linux-dash
A beautiful web dashboard for Linux
项目地址:https://gitcode.com/gh_mirrors/li/linux-dash
免费下载资源
·
linux驱动模型框架如图所示:
1. kernfs
驱动最终是提供给用户层使用,那么其中的接口就是通过kernfs文件系统来注册,kernfs是一个通用的内核虚拟文件系统
2. sysfs/kobject
sysfs是设备驱动文件系统,设备之间的各种关系会在在/sys目录下层层表现出来,sysfs典型的目录结构如下
/sys # ls
block
bus
class
dev
devices
firmware
fs
kernel
module
power
一个硬件平台上是由多种多样的设备的,那么为了能把这些设备都抽象出来统一由sysfs管理,linux内核就定义一个kobject结构体,/sys下的每个目录都是通过kobject来抽象的,kset既是一个kobject,也是同类型kobject的一个集合,kobject和sysfs自然的绑定在一起,这样能方便组织驱动中的各种联系
3. device - bus - driver
这部分是核心,驱动模型中会分设备与驱动,两个是独立的,不同的设备可以共用同一个驱动,在bus上,分别挂多种设备与驱动,而设备与驱动的匹配要通过bus来进行
4. 总线设备层
上面是抽象出不同总线设备驱动的概念,基于此就可以根据不同的总线来设计独有的总线模型,最通用的就是platform总线,它是一个特殊的总线,因为不像usb/i2c等有实际的总线,它是抽象出来的,为平台上一些设备来服务
GitHub 加速计划 / li / linux-dash
6
1
下载
A beautiful web dashboard for Linux
最近提交(Master分支:3 个月前 )
186a802e
added ecosystem file for PM2 4 年前
5def40a3
Add host customization support for the NodeJS version 4 年前
更多推荐
已为社区贡献8条内容
所有评论(0)