-
1. Re: Extra fields of CyU3PDmaChannel
userc_39197 May 29, 2012 7:05 AM (in response to lima_282146)If you have a JTAG debugger you can look at the DMA descriptors directly; they are located at 0x40000000. Header files cyu3descriptor.h and sock_regs.h describe the format; each descriptor is 16 bytes. I look at the 'sync' field to find the descriptors I'm interested in, then the 'size' field to find the current status (low few bits; see sock_regs.h).
Also I believe that for the GPIF block, the current in-progress descriptor index for socket 0 is stored at 0xE0018000. See CY_U3P_PIB_SCK_DSCR_ADDRESS in pib_regs.h.
Hope this helps,
Steve -
2. Re: Extra fields of CyU3PDmaChannel
lima_282146 May 30, 2012 2:49 AM (in response to lima_282146)Thanks Steve, I was able to use your suggestions to make progress with this. I used the CyU3PDmaDscrGetConfig function to get the buffers descriptor and then looked at the size variable from this to see if the buffer was full or empty - CY_U3P_BUFFER_OCCUPIED. I can use this to signal to the host computer that data is available for transfer.
Once again many thanks.
Sodafarl