文档详情

Linux内核 分析内核源码如何入手.doc

发布:2018-12-14约4.86千字共5页下载文档
文本预览下载声明
Linux内核 分析内核源码如何入手 学习内核,就是学习内核的源代码,任何内核有关的书籍都是基于内核,而又不高于内核的。 既然要学习内核源码,就要经常对内核代码进行分析,而内核代码千千万,还前仆后继的不断往里加,这就让大部分人都有种雾里看花花不见的无助感。不过不要怕,孔老夫子早就留给我们了应对之策:敏于事而慎于言,就有道而正焉,可谓好学也已。这就是说,做事要踏实才是好学生好同志,要遵循严谨的态度,去理解每一段代码的实现,多问多想多记。如果抱着走马观花,得过且过的态度,结果极有可能就是一边看一边丢,没有多大的收获。 在这里假设你现在就迫不及待的希望研究内核中USB子系统的实现,应该没有意见吧?那好,下面就以USB子系统的实现分析为标本看看分析内核源码应该如何入手。 分析README 内核中USB子系统的代码位于目录drivers/usb,这个结论并不需要假设。于是我们进入到该目录,执行命令ls,结果显示如下: atm class core gadget host image misc mon serial storage Kconfig Makefile README usb-skeleton.c 目录drivers/usb共包含有10个子目录和4个文件,usb-skeleton.c是一个简单的USB driver的框架,感兴趣的可以去看看,目前来说,它还吸引不了我们的眼球。那么首先应该关注什么?如果迎面走来一个ppmm,你会首先看脸、脚还是其它?当然答案依据每个人的癖好会有所不同。不过这里的问题应该只有一个答案,那就是Kconfig、Makefile、README。 README里有关于这个目录下内容的一般性描述,它不是关键,只是帮助你了解。再说了,面对read我吧read我吧这么热情奔放的呼唤,善良的我们是不可能无动于衷的,所以先来看看里面都有些什么内容。 23 Here is alist of what each subdirectory here is,and what is contained in 24 them. 25 26 core/-This is for the core USB host code,including the 27 usbfs files and the hub class driver(khubd). 28 29 host/-This is for USB host controller drivers.This 30 includes UHCI,OHCI,EHCI,and others that might 31 be used with more specializedembeddedsystems. 32 33 gadget/-This is for USB peripheral controller drivers and 34 the various gadget drivers which talk to them. 35 36 37 Individual USB driver directories.A new driver should be added to the 38 first subdirectory in the list below that it fits into. 39 40 image/-This is for still image drivers,like scanners or 41 digital cameras. 42 input/-This is for any driver that uses the input subsystem, 43 like keyboard,mice,touchscreens,tablets,etc. 44 media/-This is for multimedia drivers,like video cameras, 45 radios,and any other drivers that talk to the v4l 46 subsystem. 47 net/-This is for network drivers. 48 serial/-This is for US Bto serial drivers. 49 storage/-This is for USB mass-storage drivers. 50 class/-This is for all USB device drivers that do not fit 51 into any of the above categories,and work for arange 52 of USB Class specified devices
显示全部
相似文档