You are here

FX3 with 32-b Slave FIFO & Bulkin endpoint stuck | Cypress Semiconductor

FX3 with 32-b Slave FIFO & Bulkin endpoint stuck

Summary: 2 Replies, Latest post by yfavre on 01 Jul 2015 12:21 AM PDT
Verified Answers: 1
Last post
Log in to post new comments.
yfavre's picture
11 posts

I'm using a CYUSB3012 with the 32-b standard slave fifo(based on AN65974) connected on a FPGA. The FX3 firmware doesn't use any interrupt for the DMA transfer (direct transfer)

Host is based on WIN7 &

I can do any bulkout & bulkin transfer without any error : I'm using a bulkout xfer for a FPGA request (config, status ...), the FPGA process the request and then send back by writing its answer into the FX3  with a short paket using the pkend flag, finally the host use a bulkin Xfer and verify the FPGA answer. Everything's working fine for many many request/answer of this type. I've also checked all FIFO signals (rdn, wrn, flag a,b,c,d, pkendn) with a logic analyzer.

Now in a special mode the FPGA does not answer to the request i.e. it is just a host request. I mean it is a normal behavior of my firmware. In this mode I'm still using the XferData on the bulkin endpoint and as expected, the function exit with a timeout error since the FPGA didn't write any data to the FX3 : EPIN.LastError=997, NtStatus=995, UsbdStatus= 0xC0010000. Seems normal.

And here is my problem : When I come back to a standard host request/ FPGA answer, then I'm stucked. I've checked the FIFO signals : all of them are correct (FPGA read the request from the host, process it, and write back to the FX3 GPIF with a short packet end assertion). Everytime I use the request/answer mode, the XferData function always exit with the following error : EPIN.LastError=997, NtStatus=23, UsbdStatus= 0xC0000011.

I've tried the Abort function but it does nothing. How can get out from this error code ?



mady's picture
Cypress Employee
955 posts


When you try the Data Transfer using the control center, instead of your own App, do you face the same issue?



yfavre's picture
11 posts

It is the same with the control center : 997 error. Do I have to handle something fro clearing this error into the FX3 firmware or does it come from the USB win7 driver ?

The bulkout EP works perfectly even if the bulkin EP is stuck.

The actual workaround is to call the Device.ReConnect() function but I'd like to do it properly since I lost the data that has been pushed into the GPIF by the FPGA.

Log in to post new comments.