当前位置: 代码迷 >> 驱动开发 >> linux platform 模型疑问解决方案
  详细解决方案

linux platform 模型疑问解决方案

热度:214   发布时间:2016-04-28 10:20:54.0
linux platform 模型疑问
最近看linux platform部分,对三个概念不是特别了解。就是设备,驱动和总线。
个人观点 总线:包括IIC SPI 等和一些虚拟的总线。包含了总线数据传输的算法等等
驱动:就是向内核注册的模块,要对应已经注册的总线才可以被调用。
那么设备的是什么呢?求各位大大指点小弟一下吧。不胜感激,虽然问题有点脑残,但是小弟是初学者,在网上找了些资料也没弄明白,
Linux 内核

------解决方案--------------------
设备就是硬件啊,例如I2C设备:E2PROM等;再例如,网卡,串口,IO端口等。
------解决方案--------------------
虚拟平台总线,是一个高级模型框架,等于是一个套子,把你的框架套起来了。你就按照他的框架写驱动,否则的话,一般就是写模块,模块里面,几个申请,包括内存,设备号,设备空间,注册设备,等等。
虚拟平台总线就相当于一个基本驱动框架的实现,你要写这种,就应该遵循他的规则,调用它的方法,理解它的内核运行机制。其实都差不多,不过看上去更加面向对象而已,而且做了一些底层的封装
------解决方案--------------------
platform框架的设备几乎都是硬件。其实platform和其他的总线也类似,就是虚拟的。你可以把他想成一个特殊的物理总线来理解
------解决方案--------------------
设备有两个作用,第一用于与驱动匹配。第二,有时候一个实际的设备有一些固有的参数,我们可以存在设备的平台数据里,这样当设备与驱动匹配成功,驱动就可以使用设备固有的参数。
  相关解决方案