请求描述符时Usb集线器暂停

请求描述符时Usb集线器暂停,usb,atmelstudio,usb-descriptor,usb-hostcontroller,Usb,Atmelstudio,Usb Descriptor,Usb Hostcontroller,我从一个Atmel项目开始: 我的目标是将usb集线器连接到此演示板: 问题是atmel没有提供轮毂驱动程序,他们也没有回答我们关于这方面的问题。因此,我一直在尝试根据msc和他们提供的其他驱动程序编写一个 目前我在连接USB集线器时遇到问题。当我用类型设备发送GET_描述符请求时,它返回一个暂停。这对我来说似乎很奇怪,因为其他USB设备(如闪存驱动器或USB到串行转换器)不会对相同的请求进行响应。事实上,闪存驱动器经历了整个枚举过程和msc安装,因此我可以成功地读取和写入驱动器 我通过管道处

我从一个Atmel项目开始:

我的目标是将usb集线器连接到此演示板:

问题是atmel没有提供轮毂驱动程序,他们也没有回答我们关于这方面的问题。因此,我一直在尝试根据msc和他们提供的其他驱动程序编写一个

目前我在连接USB集线器时遇到问题。当我用类型设备发送GET_描述符请求时,它返回一个暂停。这对我来说似乎很奇怪,因为其他USB设备(如闪存驱动器或USB到串行转换器)不会对相同的请求进行响应。事实上,闪存驱动器经历了整个枚举过程和msc安装,因此我可以成功地读取和写入驱动器

我通过管道处理程序的失速处理部分中设置的单个断点检测失速

我一直在阅读,但我找不到从集线器读取描述符的方式与其他设备之间的任何区别。我不明白为什么会发送一个暂停来响应GET_描述符请求


谢谢,以防万一这对其他人有用。我遇到的问题显然是由编译器优化设置引起的。具体来说,我已经将此设置更改为:“无(-O0)”,在将其更改回默认设置后,我在枚举USB设备时没有遇到任何问题

我的同事发现这是因为一个看似无关的问题,导致了芯片上的硬故障和总线故障,这些问题也通过切换回-O1得到了修复。似乎-O0需要和一粒盐一起使用,或者根本不需要在这个芯片上使用