# Problem - HPM_SDK v1.10.0中使用的CherryUSB版本为v1.5.0,当USB使用CherryUSB协议栈并作为Host时,外部USB设备接入插拔几十次后,CherryUSB Host不能正常枚举Device。 # Reason - 枚举过程中的控制传输,由Setup - Data - Status三个部分构成,每个部分都分配了一个qtd,但是Data不一定是有的。当Data没有时,Data对应的qtd没有被释放,长期导致qtd耗尽。 # Solution - 将CherryUSB v1.5.1的 `cherryusb\port\ehci\usb_hc_ehci.c` 文件拿来,直接替换 ` \hpm_sdk\middleware\cherryusb\port\ehci\usb_hc_ehci.c`文件即可。 - CherryUSB v1.5.1的链接为:https://github.com/cherry-embedded/CherryUSB/releases/tag/v1.5.1