Hello I am having some issues with usbd_hid_get_report_trigger on a STM3241G-EVAL board. If I write too much too fast it ends up looping in a hidden function inside USB_CM3.lib.
I have done some software usb tracing in Windows, and it looks that this happens when Windows encounter a USBD_STATUS_XACT_ERROR on the interrupt transfer, and Windows then issues an ABORT PIPE and then a RESET PIPE_AND_CLEAR STALL. USB_CM3 doesnt recover from this it seems.
My Endpoint and Report size is 64 bytes, and I have set polling to 1ms. This is the only adjustments I have made to the standard HID-example, and this results in the error. I dont encounter this error using reportsize of 1 byte and polling every ms.
Does anyone have a clue how to handle this? It is a bit hard to debug without USB_CM3 lib sources.
This is the function that keeps on looping in USB_CM3.lib 0x08002696 B198 CBZ r0,0x080026C0 0x08002698 8862 LDRH r2,[r4,#0x02] 0x0800269A 2A00 CMP r2,#0x00memcpy (0x08001874) 0x0800269C D1FB BNE 0x0800269614]
Call stack shows main and 0x08002698 from above.
Can you report to Keil support.