a question about slave FIFO of FX3

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

cross mob
lock attach
Attachments are accessible only for community members.
jach_4066871
Level 1
Level 1

now I have a project, FPGA can write data to FX3(P to U), and I want to add a U to P channel based on this project. I suppose the PC can send data to the USB, and send it to the buffer of FX3,when the buffer is full,flagc will be pulled down and FPGA  will read the data from the buffer. In other word, it is a stream_out mode which is in the FX3 SDK , but i want it realize in my project(boss gives it me). According to the streamOUT source code, I choose the AUTO DMA mode and have added the state and flagc

and flagd pin  in the GPIF designer. I have configure the flagc as the dedicate thread 3  and flagd  water mark is 3. Endpoint and DMA channel configuration have be done But somehow when the buffer is full flagc is not be pulled down.I have attached my project.SrinathS_16

0 Likes
1 Solution

Hello,

- In the descriptor file that you have shared, I do not find the 0x01 endpoint (CY_FX_EP_PRODUCER). This needs to be indicated in the descriptor file to be seen by the host.

- Please share the UART debug logs that are used in your firmware.

Best regards,

Srinath S

View solution in original post

0 Likes
5 Replies
SrinathS_16
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello,

- Upon looking into the firmware, I find that the endpoints that are used are 0x81, 0x82 and 0x02. But the endpoint sockets that are used in the DMA channel creation do not match with the same. Please modify the same.

- In the DMA callback, check if the firmware reaches the PROD_EVENT handler using a GPIO/ UART print/ device reset.

Best regards,

Srinath S

0 Likes

Hello,

-well,I have add a endpoint 0x01 in the cyfxusbdscr.h I don't konw if you have seen that. Because I make it as a endpoint that receives the data from the USB. And in the cyfxusbdscr.c I have configured the descriptor of this endpoint in different USB speed,though I don't know if it is configured in the right way.

0 Likes

Hello,

- In the descriptor file that you have shared, I do not find the 0x01 endpoint (CY_FX_EP_PRODUCER). This needs to be indicated in the descriptor file to be seen by the host.

- Please share the UART debug logs that are used in your firmware.

Best regards,

Srinath S

0 Likes

pastedImage_0.png

0 Likes

by the way, in the attached firmeware, the contents between two line of slash are what I add in the original basis

0 Likes