近期在做烧写工具的优化工作,有一些关于USB的内容须要总结一下当中包含设备的初始化过程和枚举过程。
在枚举的过程中,设备会一直等PC端的状态,当等到reset命令时会对设备进行又一次枚举。可是这个reset终端是怎样而来呢?
Halt Conditions
A control endpoint may recover from a halt condition upon receiving a SETUP packet. If the endpoint does not recover from a SETUP packet, it may need to be recovered via a different pipe. If an endpoint with the endpoint number 0 does not recover with a SETUP packet, the host should issue a device reset.
在usb协议中有上面的描写叙述,大致意思是:控制断电在接收到SETUP包的时候慧聪挂起状态恢复。假设端点没有从SETUP包恢复,它可能须要通过不同的管道来进行恢复。假设端点0没有从SETUP包中恢复,那么主机端将产生设备重新启动的事件。
这样就行解释,在DFU文件工作的过程中程序要持续接收中断,等待reset之后,会对设备进行又一次的枚举过程。详细的操作兴许进行描写叙述。
usb 相关文件下载: