码迷,mamicode.com
首页 > 系统相关 > 详细

linux设备模型

时间:2016-12-11 17:59:17      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:orm   log   结构   china   开发   article   linux   can   csdn   

     为了降低设备多样性带来的Linux驱动开发的复杂度,以及设备热拔插处理、电源管理等,Linux内核提出了设备模型(也称作Driver Model)的概念。设备模型将硬件设备归纳、分类,然后抽象出一套标准的数据结构和接口。驱动的开发,就简化为对内核所规定的数据结构的填充和实现。

      我们知道linux内核中常见的的总线有I2C总线,PCI总线,串口总线,SPI总线,PCI总线,CAN总线,单总线等,所以有些设备和驱动就可以挂在这些总线上,然后通过总线上的match进行设备和驱动的匹配。但是有的设备并不属于这些常见总线,所以我们引入了一种虚拟总线,也就是platform总线的概念,对应的设备叫做platform设备,对应的驱动叫做platform驱动。比如:外设led----设备----挂在总线上。但是我这个led不是iiic等范围内的总线,必须要挂载在总线上。那么linux系统有什么办法?

linux发明虚拟总线-----platform bus----platform Device------platform drviver

当然引入platform的概念,可以做的与板子相关的代码和驱动的代码分离,使得驱动有更好的可扩展性和跨平台性。

Linux设备模型架构----平台总线,平台设备,平台驱动

平台总线驱动设备模型

platform总线是一种虚拟的总线,相应的设备则为platform_device,而驱动则为platform_driver。Linux 2.6的设备驱动模型中,把I2C、RTC、LCD等都归纳为platform_device。

总线将设备和驱动绑定,在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。

Linux2.6系统中定义了一个bus_type的实例platform_bus_type

 

 

 

http://blog.chinaunix.net/uid-27041925-id-3581985.html

http://www.wowotech.net/linux_kenrel/13.html

http://blog.csdn.net/lwj103862095/article/details/17957637

linux设备模型

标签:orm   log   结构   china   开发   article   linux   can   csdn   

原文地址:http://www.cnblogs.com/zhaobinyouth/p/6160028.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!