科创园

科创园地,分享技术知识,为科技助力发展,贡献一己之力。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  linux下usb驱动源码分析

此系列是http://blog.csdn.net/fudan_abc/博文的整理,同时加入了自己的理解。很敬佩fudan_abc的文章,仔细学习和分析受益很多。注:fundan_abc所分析linux内核代码所用的版本是2.6.22.6。
摘要:上节中看到usb目录中有一个core目录,凡是认识这个core单词的人都会想要先看看它是什么,对不?用LDD3中一幅图,来表述usb core所处地位。usb core负责实现一些核心的功能,为别的设备驱动程序提供服务,提供一个用于访问和控制USB硬件的接口,而不用去考虑系统当前存在哪种host controller。上述就是core的作用和地位,下面就分析core目录下的代码。首先用ls命令看一下它包含哪些文件,顺便用wc –l命令统计一下多少文件和代码。是不是吓了一跳?几万行的代码,core不愧是core,为大家默默的做这么多事。当然不用紧张,我们还是拿着地图(还记得地图是什么?)去慢慢探 阅读全文

posted @ 2014-03-30 22:31 科创园 阅读(4670) 评论(0) 推荐(0) 编辑

摘要:USB只是Linux庞大家族里的一个小部落,host controller是它们的族长,族里的每个USB设备都需要被系统识别。下图显示包含一个USB接口的USB鼠标导出的结果。USB系统中的第一个USB设备是root hub,它是和host controller绑定在一起的。这个root hub通常包含在PCI设备中,是连接PCI总线和USB总线的bridge,控制着连接到其上的整个USB总线。所有的root hub,内核的usb core都分配有独特的编号,上面贴出来的例子里,就是usb2,因为它注册在第二个hub。USB总线上的每个设备都以root hub的编号作为其名字的第一个号码。这个 阅读全文

posted @ 2014-03-30 22:29 科创园 阅读(2825) 评论(0) 推荐(0) 编辑

摘要:此系列是http://blog.csdn.net/fudan_abc/博文的整理,同时加入了自己的理解。很敬佩fudan_abc的文章,仔细学习和分析受益很多。注:fundan_abc所分析linux内核代码所用的版本是2.6.22.6。Q:学习linux下的usb通信要怎样进行?熟悉linux驱动开发,同时需要了解usb协议规范,对照linux下的usb驱动代码慢慢分析和学习Q:为什么要开发usb?在usb出现以前,设备接口多样化(有串口、并口等),而usb可以实现这些接口的统一和标准化,USB是为了解决速度、扩展能力、易用性应景而生的Q:usb规范的发展经历了哪些?Usb的发展经历了1.0 阅读全文

posted @ 2014-03-30 22:07 科创园 阅读(5486) 评论(0) 推荐(0) 编辑