LINUX下的IIC驱动(五)

来源:互联网 发布:虚拟网络电话号码 编辑:程序博客网 时间:2024/04/29 19:09

在上面几篇文章的基础上,我们具体讨论怎么写IIC设备驱动程序。本文会在比较高的层次上探讨,而具体的程序不会涉及太多。好吧,开始的征程吧,相信明天还是美好的嘛!

前边的文章提出,在写IIC设备驱动时,咱们应该做的是那一部分。下边再通过一张图还进一步说明吧,这样可能会更清楚,开始欣赏吧。

画的还不错吧,这张图是我参考别人画。可能有的读者有点疑惑了,怎么在IIC设备驱动的上面和用户空间之间还有块设备层、字符设备层、网络设备层以及等等?不错,你没看错,我也没画错。还记得刚开始学习写linux驱动的时候,许多资料上说:linux下面的驱动大概可以分为字符设备、块设备以及网络设备这三种吗?是啊,可能我们都陷入了linux的IIC体系结构,而忘记更大范围的对linux驱动的分类吧。先列举个例子吧,一般网卡是通过IIC总线配置的,但网卡的驱动当然是网络驱动了。再进一步说,咱们一直在说适配器、设备以及驱动之间的关系,但从没说IIC设备是怎么和用户空间联系的,一切是文件思想的linux是怎么打开设备文件,怎么读写设备或者配置设备的?这样说吧,字符设备、块设备以及网络设备所包括的范围比较大,而如具体的IIC设备、SPI设备以及USB设备等都是属于这三种当中的一种了。但不能说所以的IIC设备都是网络设备、块设备或者字符设备,这得根据具体的设备的情况了。就比如说咱们后面要写的eeprom,就可以说是字符设备。

上面的论述应该说明白字符、块以及网络设备与IIC设备之间的关系了吧。问题又来了,怎么把对字符、块以及网络设备的方法与前边介绍过的IIC体系框架结合起来呢?好吧,咱们需要进一步的探索!

原创粉丝点击