DMA buffers status frozen to "FULL" after few PC restart

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
DeAl_292241
Level 3
Level 3
First solution authored 10 replies posted 10 questions asked
        Hi All, We are experiencing a problem with the SLAVE FIFO interface of Cypress. Our device have 2 data streams inputs. Each input buffer status are given by flags A and B (FULL / NOT FULL). The DMAs are in AUTO mode. Randomly after a PC boot-up, the flags A and B are stuck to FULL forever. In that case, there is no possibility the push data into the system anymore until we remove the power from the USB3 device. A software FX3 Reset removes the problem also. The MCU is still running because we can use the HID function to control the device. We looked at the GPIF states and it seems not to be stuck in any state of the SLAVE interface. We tried to force the GPIF to state "RESET" without in impact on the problem. We also tried to recall the FIFO STOP function (which destroy the DMA and flush the EP), then call back the FIFO START function again (set the EP, create the DMA and flush the EP mem) without success. Does anybody have seen this kind of behavior with some systems??? Thanks, Denis   
0 Likes
3 Replies
Anonymous
Not applicable

 Hi,

   

Please provide us the following details:

   

Which version of the SDK are you using?.

   

Is your entire system working fine at High-Speed. Firmware + hardware working at USB 2.0.

   

Please let us know.

   

Thanks,

   

Sai Krishna.

0 Likes
DeAl_292241
Level 3
Level 3
First solution authored 10 replies posted 10 questions asked

 Hi,

   

I was using the SDK 1.2.3 and my device do not support USB2.0. Well, strictly speaking, it enumerates itself has an empty device (nothing interesting for the host inside the descriptors) in USB 2.0 mode.

   

Now I just upgraded the device with SDK 1.3, and TADAAAAM : the bug seems to have completely disappeared...?! I still don't understand which point inside the release note update can affect this behavior!

   

Also, the SDK 1.3 corrected another bug: sometimes, the device failed enumeration at cold power-up with the previous SDK on a new Intel chipset.

   

I think we should share this kind of information to the community to avoid extra debugging!!!

   

Thanks,

   

Denis

0 Likes
Anonymous
Not applicable

 Hi Denis,

   

 

   

Thank you for the post. This would be useful to others as you mentioned.

   

 

   

Regards,

   

Gayathri

0 Likes