阅读:1490回复:0
看法
我认为有为老兄所将部分横诱导里,以下失音用
三、USB编程 USB编程主要是指USB驱动程序编程和USB客户软件编程。 USB驱动程序接口 Windows 98通过允许USB设备驱动程序栈通讯支持USB。在USB驱动程序和USB驱动程序栈之间是USB驱动程序接口(USBDI)。在Windows 98中,这种通讯是在WDM结 构中实现的。 Usbhub.sys是USB集线器驱动程序。当Usbd.sys枚举每个USB主机控制器中的根结点集线器时被加载。 Usbd.sys是类USB驱动程序。 Uhcd.sys(通用主机控制驱动程序)以及Ohcd.sys(开放主机控制驱动程序)是USB主机控制器驱动程序。 另外,Hidclass.sys(WDM输入类驱动程序)接受和发送到小驱动程序的HID报告。Hidusb.sys通过USB接受和发送HID报告。当检测到USB总线时,PCI枚举器加载USB栈驱动程序部分,并加载至少一个核心组件。 USB 驱动程序和USB客户程序 USB 驱动程序编写是和硬件相关联的。在器件方面,适合产品开发的系列芯片有Intel公司的8X930系列(基于MCS-51微处理器的内核结构)和8X931系列(基于MCS-251微处理器的内核结构)、National Semiconductor公司的 USBN9602等。Intel公司和第三方提供了一个完整的硬件和软件开发工具,Keil、IAR、PLC和Tasking等公司提供了具有ANSI C交叉编译器、汇编器、连接器/定位器、调试器和仿真器的软件开发工具。AMI、Phoenix Technologics和 systemSoft等公司提供了设备驱动器和外围微控制程序(firmware)。 针对选用的USB控制器,从第三方得到所需的软件,包括汇编器或编译器、连接器/定位器和调试器等,用它们实现USB设备驱动器。对USB 驱动程序编译成功后进行连接/定位,用调试器调试后加载在目标系统中。 虽然USB的物理和逻辑拓扑反映了总线的共享特性,客户软件(CSW)只处理它感兴趣的USB功能接口。USB功能的客户软件必须用USB软件编程接口来处理各种功能,而不是像其它总线那样通过地址或I/O访问直接处理它们的功能。在这个过程中,客户软件独立于连接在USB上的其它设备。这使设备和客户软件的设计者将精力集中于软硬件间相互作用的设计细节。 USB的客户程序实际上是对客户端设备映像的操作,这些映像由USBD或HCD产生。在98ddk中,存在着一组叫做USBD Interface (USBDI)函数的API函数集。该函数集包括了传输函数,管道(Pipe)函数,设备配置函数及其它函数。应用这些函数可编写支持任何USB兼容设备的USB驱动程序和客户程序。其中,管道(Pipe)是USB设备驱动程序建立的逻辑通信通道。 |
|