Linux设备驱动程序学习笔记系列文章原作者是:Tekkaman Ninja,他博客地址:
http://blog.chinaunix.net/u1/34474/showart_404278.html
在此向Tekkaman Ninja表示感谢,写出这么好的文章,使我少走了很多弯路。
以
《LDD3》的说法:Linux设备模型这部分内容可以认为是高级教材,对于多数程序作者来说是不必要的。但是我个人认为:对于一个嵌入式Linux的底
层程序员来说,这部分内容是很重要的。以我学习的ARM9为例,有很多总线(如SPI、IIC、IIS等等)在Linux下已经被编写成了子系统,无需自
己写驱动;而这些总线又不像PCI、USB等在《LDD3》上有教程,有时还要自己研究它的子系统构架,甚至要自己添加一个新的总线类型。
对于这方面的学习,我推荐几个网页,这些也是我这部分文章的参考资料:
(1)《 Linux那些事儿 之 我是Sysfs》来源于复旦和交大三个牛人的Linux技术博客:http://blog.csdn.net/fudan_abc (复旦_abc)他们还分析了很多Linux的驱动,值得珍藏!
(2)《linux设备模型详解》也是一个牛人的博客文章,博客网址:http://hi.baidu.com/csdeny/blog
(3)《s3c2410设备的注册》是一篇关于2410中linux内核实现设备模型的不可多得的好资料。网址:http://blog.chinaunix.net/u1/41638/showart_438078.html
(4)luofuchong的博客 ,此人分析了一些2410中的Linux子系统(如SPI,input等),实力不凡,值得关注。网址:http://www.cnitblog.com/luofuchong/
在
这部分的学习中,将会先研究linux设备模型的每个元素,最后将其一步一步整合,至底向上地分析。一开始会比较摸不着头脑,到了整合阶段就柳暗花明了。
我之所以没有先介绍整体,再分析每个部分是因为如果不对每个元素做认真分析,看了整体也会云里雾里(我试过了,恕小生愚钝)。所以一开始要耐着性子看,到
整合阶段就会豁然开朗。
Linux设备模型的目的是:为内核建立起一个统一的设备模型,从而有一个对系统结构的一般性抽象描述。
现在内核使用设备模型支持多种不同的任务:
电源管理和系统关机 :这些需要对系统结构的理解,设备模型使OS能以正确顺序遍历系统硬件。
与用户空间的通讯 :sysfs 虚拟文件系统的实现与设备模型的紧密相关, 并向外界展示它所表述的结构。向用户空间提供系统信息、改变操作参数的接口正越来越多地通过 sysfs , 也就是设备模型来完成。
热插拔设备
设备类型:设备模型包括了将设备分类的机制,在一个更
阅读(1623) | 评论(0) | 转发(0) |