4412驱动实验之05 总线_设备_驱动注册流程详解
2017-07-23 23:39
218 查看
-
动匹配。在系统注册任意一个驱动的时候,都会寻找对应的设备;当系统注册设备的时候,系
统也会寻找对应的驱动进行匹配。
本节实验通过一张框架图,从理论上给大家分析总线设备驱动三者的关系。
常规的大家容易理解的总线,例如 media 总线、spi 总线、hid 输入子系统总线、eMMC 存储
设备总线等等。假如说设备本身就是一个总线设备,那么挂载到对应的总线上,那是容易理解
的。
在任意一个 soc 系统中,都有一些集成的总线,例如在 4412 中就集成了 i2c,spi、usb
等等。针对这些总线设备,它们注册驱动的时候,都会调用对应的总线设备,一个驱动对应一
个设备,这个概念很好理解。
但是还有一些例如 led、蜂鸣器等等一些设备,都不是从字面上理解的总线设备。针对这
个情况,Linux 创立了一种虚拟总线,也叫平台总线或者 platform 总线,这个总线也有对应的
设备 platform_device,对应的驱动叫 platform_driver。
这里介绍的平台总线,不能够直接和常规的总线对应,只是 Linux 系统提供的一种附加手
段,防止 linux 驱动的碎片化,降低 Linux 的使用难度。
另外这里的设备 platform_device 和驱动 platform_driver 也不是和常规的字符设备、块
设备、网络设备并列的概念,它只是一种附加的手段。
字符设备,字符设备是能够像字节流一样被访问的设备。一般说来对硬件设备 IO 的操作可以归结为字符设 备。常见的字符设备有 led、蜂鸣器、串口、键盘等等。
块设备,块设备室通过内存缓冲区访问,可以随机存取的设备,一般性的理解就是存储介质类的设备。常见的字符设备有 U 盘、TF 卡、eMMC、电脑硬盘、光盘等等
网络设备,可以和其它主机交换数据的设备。常见的以太网设备、WIFI、蓝牙等。虽然它们之间有这种官方的分类,但是也没有严格的界限,只是一个比较模糊的划分。
5.1 本章导读
在 Linux2.6 之后,Linux 设备驱动分为三个实体总线、设备、驱动,平台总线将设备和驱动匹配。在系统注册任意一个驱动的时候,都会寻找对应的设备;当系统注册设备的时候,系
统也会寻找对应的驱动进行匹配。
本节实验通过一张框架图,从理论上给大家分析总线设备驱动三者的关系。
总线和平台总线
在 Linux 系统中,任何一个 Linux 设备和 Linux 驱动都是需要挂载到一种总线中。有一些常规的大家容易理解的总线,例如 media 总线、spi 总线、hid 输入子系统总线、eMMC 存储
设备总线等等。假如说设备本身就是一个总线设备,那么挂载到对应的总线上,那是容易理解
的。
在任意一个 soc 系统中,都有一些集成的总线,例如在 4412 中就集成了 i2c,spi、usb
等等。针对这些总线设备,它们注册驱动的时候,都会调用对应的总线设备,一个驱动对应一
个设备,这个概念很好理解。
但是还有一些例如 led、蜂鸣器等等一些设备,都不是从字面上理解的总线设备。针对这
个情况,Linux 创立了一种虚拟总线,也叫平台总线或者 platform 总线,这个总线也有对应的
设备 platform_device,对应的驱动叫 platform_driver。
这里介绍的平台总线,不能够直接和常规的总线对应,只是 Linux 系统提供的一种附加手
段,防止 linux 驱动的碎片化,降低 Linux 的使用难度。
另外这里的设备 platform_device 和驱动 platform_driver 也不是和常规的字符设备、块
设备、网络设备并列的概念,它只是一种附加的手段。
Linux 设备
硬件总类繁多,千变万化,一个 USB 接口就可以接无数种键盘、鼠标、存储设备等等。Linux将设备分为了三大类:字符设备、块设备、网络设备。字符设备,字符设备是能够像字节流一样被访问的设备。一般说来对硬件设备 IO 的操作可以归结为字符设 备。常见的字符设备有 led、蜂鸣器、串口、键盘等等。
块设备,块设备室通过内存缓冲区访问,可以随机存取的设备,一般性的理解就是存储介质类的设备。常见的字符设备有 U 盘、TF 卡、eMMC、电脑硬盘、光盘等等
网络设备,可以和其它主机交换数据的设备。常见的以太网设备、WIFI、蓝牙等。虽然它们之间有这种官方的分类,但是也没有严格的界限,只是一个比较模糊的划分。
相关文章推荐
- 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解
- 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解
- 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解
- 迅为Linux驱动教程——总线_设备_驱动注册流程详解
- 迅为Linux驱动教程——总线_设备_驱动注册流程详解
- 总线_设备_驱动注册流程详解
- platform设备注册的时候,去platform总线上寻找相应驱动的流程
- 4412驱动实验之06 设备注册
- Linux下DM644x设备驱动I2C之总线驱动(二)详解
- itop4412 LCD设备驱动详解(二)之DRIVER
- linux iic驱动编程之二 向总线注册设备(2)
- 字符设备驱动开发流程详解
- 老查的ARM学习笔记:chapter-2(linux总线设备驱动详解)
- Linux SPI总线设备驱动模型详解
- linux iic驱动编程之二 向总线注册设备(1)
- linux总线,设备,驱动注册
- Linux关于总线、设备、驱动的注册顺序
- Linux下DM644x设备驱动I2C之总线驱动(一)详解
- itop4412 LCD设备驱动详解(三)之PROBE
- 字符设备驱动开发流程详解