Following the threads here: Re: FX3 SDK version 1.3.4 won't put breakpoints while running , is there a fix or workaround for this problem? The workaround suggested in the mentioned thread says to revert back to SDK 1.3.3. But as the OP in that thread pointed out, https://www.cypress.com/documentation/software-and-drivers/ez-usb-fx3-sdk-archives does not contain the Eclipse version and plugins that was included with SDK 1.3.3. Abhinav's reply in that thread says he attached the 1.3.3 SDK installer, but I don't see it. Can someone reupload the 1.3.3 SDK installer?
Is it possible for you to add the breakpoints before running? Is this a feasible solution for you? If not, can you please let us know why do you want to add the breakpoints while running the code?
Yes, I can add breakpoints before running. But after running, I cannot add breakpoints or halt the CPU anymore. I don't think this solution is feasible for me because the problem I am having with my application is that it no longer respond after numerous USB resets.
The test we are doing is having the host application start up, connect to the FX3, send USB reset and then normal startup actions like set configuration, do some application specific stuff, then finally close down host application. This is repeated every 5 seconds. Everything runs well until hours later, when FX3 would suddenly not respond to the host computer anymore. The host computer is running Linux and the USB driver would throw errors such as "Cannot set link state" in the kernel logs. I have a separate debug through FX3's I2C lines for my application and that does not respond either. Finally, I tried looking at a USB trace with an USB analyzer and it shows that the FX3 device either cannot complete link training or right after link training, it is returning bad symbols to get descriptor requests.
My thought now is to debug the FX3 and see if it is hung up. As you can see, I do not know where or if it is even hung up, so I do not know where to put a break point or what to watch. I cannot sit next to the tester for hours and continue every time it lands on a break point. I was hoping I could start the debugger, let the test run, then halt the CPU when the aforementioned problem occurs and start looking. If you have a better suggestion, please let me know.
Lastly, I also have the watchdog timer set. But it is not tripping and resetting the FX3 either.
Please refer to the SDK example USBBulkSrcSink and add the code to obtain the USB logs to your custom firmware. After this, please print the USB logs along with the UART traces. I feel that these USB logs along with the UART traces can give us a clue on the failure.
In addition to this, kindly share the traces captured using the USB analyzer for us to check.
Please let me know if you have any queries on this.
I do have the USB logs enabled with CyU3PUsbInitEventLog. However, as described above, my problem is that none of the connections I have (USB3 and I2C) to the FX3 are responding. Therefore I cannot read out that log. [FYI, we are reserving UART for another function so I am using I2C and wrote my own thread to pump out messages I added in my firmware through that.]
Please find the attached trace captures using the Advisor T3 analyzer from LeCroy. The 14:16 trace was taken as follows:
IIRC, the 14:18 trace was similar, except steps 2, 3 and 5 were replaced with simply restarting the host computer. The host computer is running Linux and the kernel logs showed "Cannot set link state" messages.
Seeing as this is morphing into a discussion about something else, I created a separate thread for the particular problem I have: FX3 suddenly disappears and cannot reconnect to hosts
However, I would still like an answer to my original question regarding getting the 1.3.3 SDK installer so that we can halt the CPU while running.