阅读:680回复:1
各位,第一次发贴子,希望大家支持???
问题如下:
我现在想知道一点: 在usb设备媒举过程中,驱动再做什么? 媒举的过程是驱动做的吗? 我在驱动的代码中发现一个问题,在 驱动的 adddevice函数中,发现有一些区设备描述符,取设备 端口号,还有一些其它的等等? 是什么意思? :( |
|
沙发#
发布于:2003-04-11 12:49
这是大侠写的没举过程:
1 第一次接收到主机的GetDescriptor请求中断响应,主机要求外设发送设备描述符,确定外设缺省管道控制端点的每次数据包大小。通过控制端点回送设备描述符,第一次只需要保证设备描述符中前8个字节发送正确。 2 主机发送SetAddree请求到USB 设备,给USB设备分配唯一的地址。这时外设被分配唯一地址,此时的USB设备成为被主机承认的合理外设,可以进行正常的数据传送。 3 外设再一次接收到GetDescriptor请求。主机分析描述符的信息。主机操作系统根据描述符信息寻找相应的设备驱动程序。 4 操作系统会继续发出GetConfiguration请求,读取设备的配置信息。要把外设的各个端点的配置情形回送到主机中。如果有多个配置信息,有多次请求发生。 5 在设备能通讯前,主机给外设一个SetConfiguration请求,主机根据整个系统的USB使用情况确认设备的哪一个配置有效,告诉其怎样工作,设备收到后调整有关配置,使设备能合理使用。 经过上面的调试后,USB外设可以发送和接收数据,设备如果不立即使用则会进入挂起状态,直到使用。 我的理解是否正确: 上面的1,2,在什么时候做的?有无驱动参与? 上面的3,4,5在什么时候做的?有无驱动参与? :( |
|