CYU3P_PIB_ERR_THR0_WR_OVERRUN

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.
Anonymous
Not applicable

Hello, I use GPIF state machine to transfer a sector (512 byte) when I start state machine every time. I set a PIB to USB DMA channel, and set 16 buffers, and every buffer is 1024KB. When I need to transfer more than 1 sector, I need to start state machine more than one time. However when after I start two times transaction, there emerges an error: “CYU3P_PIB_ERR_THR0_WR_OVERRUN” or “Write to DMA data thread which is not ready.” The picture is my GPIF state machine. I doubt that when I start a transaction, the old buffer is full, and the next buffer is not ready. And I set CyU3PBusyWait() to wait for the previous transaction been finished, But it is not work. I want to know why, and how to solve the problem.

   

Thank you and Best Regards!

0 Likes
4 Replies
Anonymous
Not applicable

I registered a CyU3PPibRegisterCallback() API function to find the error, and the feedback is "One of the Thread 0 sockets became inactive during transfer." Who know why? Thank you!

0 Likes
Anonymous
Not applicable

I meet the same error, too. Have you solved?

0 Likes
Anonymous
Not applicable

I meet the same error, too. Have you solved?

0 Likes
Anonymous
Not applicable

The reason is that when consecutively start GPIF STATE MACHINE many times, the previous STATE MACHINE sequence is not completed, and you need to use the GPIF CALLBACK function to indicate completed and then you can start GPIF STATE MACHINE agin.

0 Likes