发布时间:2013-07-27 16:19:26
原创,转载请注明出处。6.2.7 函数库usbKeyboardLibUSB的应用层是指各种各样USB设备的驱动,这些设备通过USBD层的接口来实现与USB设备的通信,实现了USB设备驱动。本节将以USB键盘为例来说明USB应用层的实现。USB键盘驱动主要包括两部分:USB键盘驱动核心、USB键盘初始化。其中USB键盘驱动核心是由函数.........【阅读全文】
发布时间:2013-07-25 22:05:09
原创文章,转帖请注明出处。6.2.5 函数库usbHcdLibUSBD通过HCD实现了对HC的控制,HCD主要为USBD提供了11个通用函数接口,从而使得USBD层不需要了解底层的细节,只需要直接调用这些函数就能完成对HC的控制。这11个函数接口分别为usbHcdAttach、usbHcdDetach、usbHcdSetBusState、usbHcdIrpSubmit、usbHcdIrpCan.........【阅读全文】
发布时间:2013-07-25 22:00:44
原创文章,转发请注明出处。6.2.4 函数库usrUsbHcdOhciInitHCD层主要用于HC的管理控制,并为USBD层提供了统一的函数控制接口。从硬件结构来数,HC是一种PCI设备,类似于PCI网卡。与PCI网卡相比,除了USB接口与网线的区别之外,还存在一个区别:PCI网卡的硬件接口都随着生产商的不同而不同,而HC设备的生产.........【阅读全文】
发布时间:2013-07-23 13:28:00
6.2.3 函数库usbdCoreLib函数库usbdCoreLib是USBD层的具体实现。当USBD首次初始化时,它创建了一个内部client,该内部client主要被USBD用于控制每个USB hub/device的控制pipe传输,这是因为当一个USB设备刚刚插上时,系统并不知道该设备是一个什么类型的设备,也不知道该设备需要什么类型的pipe,而.........【阅读全文】
发布时间:2013-07-23 13:00:52
6.2.2 函数库usbdLibUSBD层是一个抽象层,如同USB规范里所示,USBD层将USB设备抽象为一个node,从而将系统与USB设备的交互变成了client和USB node的交互。USBD层的实现可以两个子层:接口子层和实现子层。接口子层为上层提供了一系列的通用的接口,主要由函数库usbdLib来完成;而实现子层则是实现了通用的.........【阅读全文】