- 1、本文档共129页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
USBcorelinux驱动简介.doc
USB 基础概念
什么是US?B contr?oller??在一个US?B系统中只?能有一个h?ost,而USB和?主机的接口?就是hos?t contr?oller?,一个主机可?以支持多个?host contr?oller?,比如分别属?于不同厂商?的。USB host contr?oller?用于控制所?有的usb?设备的通信?。通常计算机?的cpu并?不是直接和?usb设备?打交道,而是和控制?器打交道。控制器替代?CPU去指?挥设备执行?命令,而cpu不?用管剩下的?事情,事情办完了?控制器再通?知cpu。
USB总线?
一个完整的?USB系统?应该实现上?面图里的各?个部分,USB协议?如是说。图里主要显?示了四个层?次,USB物理?设备(USB Physi?cal Devic?e)、客户软件(Clien?t SW)、USB系统?软件(USB Syste?m SW)以及USB? Host Contr?oller?。Host Contr?oller?参考上文,系统软件就?是操作系统?里用来支持?USB的部?分,像usb core,还有各种设?备驱动等等?;客户软件么?,就是上层应?用。相对于li?nux来说?,系统软件,只表示了系?统里支持U?SB的部分?,也就是系统?相关设备无?关的部分,就是usb? core,并不包括所?谓的各种设?备驱动。而客户软件?则指设备相?关,也就是对应?于特定设备?的部分,各种类型的?驱动都在这?儿。
主机这边就?分这三层,Host Contr?oller?看似在最低?层,却掌控着整?个USB的?通信,USB设备?要想发挥作?用,首先得获得?它的批准。
USB物理?设备这边看?着也分了三?层,其实我们可?以把它们看?成一样的东?东,只是为了对?应了主机这?边的不同层?次,Host Contr?oller?看到的是一?个个hub?还有hub?上的USB? devic?e,而在系统软?件的眼里没?那么多道道?儿,hub还有?各种设备什?么的都是一?个个的us?b逻辑设备?,客户软件看?到的是设备?提供的功能?。真实的数据?流只发生在?Host Contr?oller?和设备的B?us Inter?face之?间,其它的都是?逻辑上的。各种USB?设备提供的?功能是不同?的,但是面向主?机的Bus? Inter?face却?是一致的,那些设备本?身还必须要?提供用来确?认自己身份?的信息,这些信息里?有些是共有?的,有些是个别?设备特有的?。
compo?und devic?e是那些将?hub和连?在hub上?的设备封装?在一起所组?成的设备,而comp?osite? devic?e是包含彼?此独立的多?个接口的设?备。从主机的角?度看,一个com?pound? devic?e和单独的?一个hub?然后连接了?多个USB?设备是一样?的,它里面包含?的hub和?各个设备都?会有自己独?立的地址,而一个co?mposi?te devic?e里不管具?有多少接口?,它都只有一?个地址。
上面都是站?在host? contr?oller?的层次上,说的是实实?在在的物理?拓扑,对于系统软?件来说,没有这么复?杂,所有的hu?b和设备都?被看作是一?个个的逻辑?设备,好像它们本?来就直接连?接在roo?t hub上一?样。
一个USB?逻辑设备就?是一群端点?(endpo?int)的集合,它与主机之?间的通信发?生在主机上?的一个缓冲?区和设备上?的一个端点?之间,通过管道来?传输数据。意思就是管?道的一端是?主机上的一?个缓冲区,一端是设备?上的端点。
USB端点?被捆绑为接?口(Inter?face),一个接口代?表一个基本?功能。有的设备具?有多个接口?,像USB扬?声器就包括?一个键盘接?口和一个音?频流接口。在内核里一?个接口要对?应一个驱动?程序,USB扬声?器在lin?ux里就需?要两个不同?的驱动程序?。到目前为止?,可以这么说?,一个设备可?以包括多个?接口,一个接口可?以具有多个?端点。
Linux? USB Drive?r
Linux? USB drive?r的相应代?码在dri?vers/usb目录?下,有以下文件?:atm class? core gadge?t host image? misc mon seria?l stora?ge Kconf?ig Makef?ile READM?E usb-skele?ton.c
根目录下的?usb-skele?ton.c是一个简?单的usb? drive?r的框架。
READM?E里有关于?这个目录下?内容的一般?性描述,它不是关键?,只是帮助你?了解。
23 Here is a list of what
文档评论(0)