基于高通平台进行的总线、设备、驱动三者的关系简析
来源:互联网 发布:linux进程组 编辑:程序博客网 时间:2024/06/06 10:52
在计算机中,总线是计算机中各个部件之间进行数据通信的通道。在Linux内核的设备驱动模型中,总线的概念有所不同,不仅有物理上真实存在的总线,如I2C总线和USB总线等,还有并不存在物理器件的虚拟总线,例如最具代表性的platform总线。操作系统通过设备驱动程序来管理设备(主要包括设备的初始化,设备电源管理,设备与系统其他部分的通信等)。在Linux内核代码中,各个总线(总线本身也是一种设备)用于管理挂载各自总线上的设备以及各个设备对应的驱动,例如USB总线系统驱动管理所有USB设备和USB设备驱动;这里所说的“管理”的主要工作是当有新设备接入系统时,为这个设备找到合适的驱动并绑定,或者当新驱动注册到系统时,为该驱动找到它能管理的所有设备(一个驱动可能对应多个设备)并绑定。现在的许多芯片除了包含CPU之外,还集成了各种功能模块,俗称有SoC(System on Chip)。这类的芯片内部的一些外设与CPU的物理连接并没有经过总线,因而这类设备和驱动并没有总线来管理;为了解决统一管理,出现了platform总线,这个总线在物理上并不存在,是虚拟的,仅仅是为了统一管理那些物理连接没有经过总线的设备和它们的驱动。
下图为总线、设备和驱动三者的关联在代码上的体现。总线的结构体类型的bus_type,它包含一个subsys_private的结构体成员。通过subsys_private这个结构体成员,总线维护两个链表:一个是klist_devices,记录所有挂载在该总线上的设备,另一个是klist_drivers,记录所有挂载在该总线上的驱动。同时,设备驱动程序自身还维护一个链表klist_devices,记录它所管理的所有设备。
- 基于高通平台进行的总线、设备、驱动三者的关系简析
- linux设备驱动模型之总线、设备、驱动三者的关系
- 设备、驱动、总线的关系
- 总线、设备和驱动的关系
- 总线、设备和驱动的关系
- linux设备驱动的总线,设备和驱动的关系
- 平台总线、设备、驱动的学习
- Linux 总线、设备与设备驱动的关系
- 平台总线设备驱动
- Linux设备、总线和驱动之间的关系
- 基于platform总线的mini2440的led设备驱动例子
- 基于platform总线的中断(按键)字符设备驱动设计
- 总线,设备,驱动(基于2.6.30.4内核的)
- 基于platform总线的中断(按键)字符设备驱动设计
- 基于platform总线的中断(按键)字符设备驱动设计
- 基于 platform 总线的设备驱动编写模式:
- 基于platform总线的中断(按键)字符设备驱动设计
- usb 设备的总线关系
- Linux查看物理CPU个数、核数、逻辑CPU个数
- “Beginning Python”(五)“Instant Markup 2”
- wget 下载整个网站,或者特定目录
- Java中获取完整的url
- vue2实现搜索功能计算属性
- 基于高通平台进行的总线、设备、驱动三者的关系简析
- 互联网时代下的短信营销
- linux shell脚本编程之hello world
- 【郑州·签约】中企动力助河南育林绿化工程打造一站式全网门户平台
- 剑指offer题11
- kotlin->第一个kotlin程序
- 斯坦福AI实验室又一力作:深度学习还能进一步扩展 | CVPR2016最佳学生论文详解
- 背包九讲——完全背包
- 1064. 朋友数(20)