这些文章是阅读《linux内核修炼之道》的笔记和一些自己补充的知识和感悟,写的不清楚的地方请查看《linux内核修炼之道》等资料。同时文章若有不妥的地方请大家指出,谢谢。
转载请注明出处:http://blog.csdn.net/muge0913/article/details/7251387
设备模型之外,对于驱动程序的开发者来说,有三样东西是不可缺少的:第一是协议或标准的spec,也就是规范,比如usb协议规范;第二是硬件的datasheet,即你的驱动要支持的硬件的手册;第三就是内核里类似驱动的源代码,比如你要写触摸屏驱动的话,就可以参考内核里已经有的一些触摸屏驱动。
spec、datasheet、内核源代码这三样东西对于每个开发设备驱动的人来说都是再寻常不过了,但正是因为它们的普通,所以在很多人眼里都被归为被忽视的群体。于是大家开发驱动的过程中,遇到问题的时候首先想到的可能还是“问问牛人怎么解决吧”、“旁边要是有个牛人该多好”,因为牛人的稀有,所以知道牛人的价值,而又因为spec、datasheet和内核源代码的唾手可得,所以常常体会不到它们在解决问题时的重要性。
当然我并不是贬低牛人的价值,宣扬依赖牛人不好,如果你很幸运身边真就有牛人这种稀缺资源的话,自然是要好好利用,也可以少走很多弯路,节省很多摸索的时间。只是人生不如意十之八九,多数人还是没有这份幸运的,所以与其遍寻牛人讨教,不如多依赖依赖自己,多利用利用自己身边有的资源去寻找解决问题的途径。
对这三样看似普通的东西,关键在于很好的去利用,而不是拥有。就说USB吧,USB驱动和USB设备如何进行交流,交流的方式,交流过程中出现了什么问题是什么引起的等等都在USB spec里有描述,而你的USB设备支持多少种配置包含多少端点只有设备的datasheet才知道。协议的spec和设备的datasheet是最好的参考资料,驱动开发调试中出现的问题绝大部分都能在它们的某个角落里找到答案。而内核中类似设备的驱动源代码是最好的模版,对很多硬件设备,你都可以在内核找到同种设备的驱动代码进行参考实现,甚至于可以拷贝或共享大部分的代码,只进行局部的修改,比如说位于drivers/input/touchscreen目录下的各个触摸屏驱动,它们之间的代码很多都是类似的甚至是相同的。
如果你不仅仅只是打算写驱动,而是还想阅读内核中实现某种总线、设备的源代码,钻研它们的实现机制,那协议的spec就犹为重要,它们在代码里的体现无处不在,你需要在阅读代码前就对协议规范有个整体的理解。形象点说,spec是理论基础,内核代码是具体实现,理论懂了,看代码就和看故事会差不多了。
分享到:
相关推荐
Linux内核修炼之道精华版,精华版方法论部分导读、缅怀已逝去的十八年(1991~1998)、缅怀...”、设备模型(上)、设备模型(下)、驱动开发三件宝:SPEC,DATASHEET与内核源码、linux内核问题门——学习问题,经验集锦
LINUX内核修炼之道完整版; 本书重点介绍Linux内核工作原理以及学习方法。将Linux内核的修炼之道总结为四个层次:第一层次目的是对Linux以及内核有个全面的认识和了解,掌握Linux内核源代码的分析方法。第二个层次...
Linux常见驱动源码分析(kernel hacker修炼之道)--李万鹏 李万鹏 IBM Linux Technology Center kernel team 驱动资料清单内容如下: Linux设备模型(中)之上层容器.pdf Linux设备模型(上)之底层模型.pdf Linux...
将Linux内核的修炼之道总结为四个层次:第一层次目的是对Linux以及内核有个全面的认识和了解,掌握Linux内核源代码的分析方法。第二个层次讨论了内核中系统初始化、系统调用、中断处理、进程管理及调度、内存管理、...
《Linux内核修炼之道》语言通俗易懂,内容覆盖了内核的学习方法到内核设计与实现等各方面内容,能够带领读者快速走入Linux内核的世界,适合对Linux内核学习茫然的初学者,也适合各类希望深入理解Linux内核的读者。
任桥伟《Linux内核修炼之道》精华版连载的最 新word版本,内含: NO1:《Linux内核修炼之道》精华版之方法论 (完整版) NO2:Linux内核学习的4个层次 NO3:Linux内核学习解决方案 NO4:linux应用开发技巧
将Linux内核的修炼之道总结为四个层次:第一层次目的是对Linux以及内核有个全面的认识和了解,掌握Linux内核源代码的分析方法。第二个层次讨论了内核中系统初始化、系统调用、中断处理、进程管理及调度、内存管理、...
详解神秘Linux内核 Linux内核修炼之道精华版
嵌入式Linux开发
Linux内核驱动开发详解,基于kernel4.0,对驱动工程师很有帮助
Linux内核修炼之道-精华版之方法论,论坛上的精华内容。
[Linux内核修炼之道].华清远见嵌入式培训中心,任侨.高清文字版 [Linux内核修炼之道].华清远见嵌入式培训中心,任侨.高清文字版
《Linux内核修炼之道》pdf版
将Linux内核的修炼之道总结为四个层次:第一层次目的是对Linux以及内核有个全面的认识和了解,掌握Linux内核源代码的分析方法。第二个层次讨论了内核中系统初始化、系统调用、中断处理、进程管理及调度、内存管理、...
《Linux内核修炼之道》(pdf版)学习内核很好的教程
《LINUX内核修炼之道》精华分享与讨论(14)——内核中的链表..........................................76 《LINUX内核修炼之道》精华分享与讨论(15)——子系统的初始化:内核选项解析...........83 《LINUX内核...
《Linux设备驱动开发详解-基于最新的Linux4.0内核》相关源码