You are here

Fill a EP FIFO with the firmware | Cypress Semiconductor

Fill a EP FIFO with the firmware

Summary: 1 Reply, Latest post by PRAG on 24 Dec 2015 12:52 AM PST
Verified Answers: 0
Last post
Log in to post new comments.
damien.gallet_1414276's picture
1 post

Hello everybody,

I'm modifying an old peripheral for optimization, and specifically today for the start, the slave ASIC has to reset all its private memory to 0, and the current solution is to transfer form the computer via USB many times x 128 bytes, and complete the writeOnAsicMemory function of our firmware. This solution uses the waveforms to maintain the transfer between the Cypress (CY 7C68 013A) and our slave ASIC.

Because the USB transfer have too much latency, we've decided to implement the function in the firmware directly, and we would like, at the beginning, ask the GPIF controller take a single memory word (in which the data would have been 0x00) instead of the FIFO. But we haven't find DMA function to do that in the EZ Lib...

So we have decided to run the GPIF tranfer without the AUTOOUT mode (bit to 0) and forge the data, and fill the buffer with zeros. But a problem obviously occurs when the read pointer of the buffer (and the EP2 empty flag) says the buffer is empty.

So my question is, is it possible to force the empty bit to 0, or to make a DMA access (like we can do in single byte write with XGPIFSGLDATLX) in order to complete a multi-byte transaction ? (or sustitute the GPIF module with the CPU for this particular transaction with the ASIC)

Thank you in advance,


PRAG's picture
Cypress Employee
173 posts


Have you found a solution to do this? Please update the thread if you have.

You cannot force the empty bit to 0 in firmware. You can switch between auto and manual modes on the fly and commit the additional bytes when in manual mode and switch back to auto later.

Log in to post new comments.