I am working on maintenance of my companies FX3-based UVC camera.
I installed FX3 SDK 1.3.4 today, the first update after a couple of years.
I noticed there were a couple of changes, new installer, much faster compile time, and that J-link support was changed a bit.
I got JTAG working, recompiled the firmware and managed to run it on the hardware.
I have some code that handles UVC control requests (a type of Setup requests over Ep0),
and for some controls it cannot meet the 10 ms deadline for UVC control request responses so the response is sent over the Interrupt endpoint (over a DMA channel allocated for this purpose).
When compiled with FX3 SDK 1.3.4 the interrupt endpoint start responding very slowly and with delays.
Recompiling it with FX3 SDK 1.3.3 makes the bug go away.
I don't remember reading anything in the release notes that might indicate something changing in the USB drivers that would cause this.
Or might it be related to the changed compiler version?
I since moved back to using FX3 SDK 1.3.3 since I have deadlines, just letting you know that there seem to be some issues with this release,
in case someone else runs into a similar problem.
I am not sure changing so much stuff was a good idea for a mature product.
Thanks for letting us know about this. We will check this internally and if it was confirmed as a bug, we will fix it.
- Madhu Sudhan
We seem to face the same problem. And I found that UVCAppEP0Thread_Entry and UVCAppThread_Entry two thread functions call the same CyU3PEventGet interface to wait for some events. If we start from this aspect, is there any train of thought?