USB DMA with Automatic Memory Management | Cypress Semiconductor
USB DMA with Automatic Memory Management
I could not find any meaningful documentation for USB DMA w/ Automatic Memory Management. There is an example being posted on the forum, however it does not demonstrate any data transfers so it is mostly useless, some right questions has been asked on the forum but never answered. I wonder if this mode is not being used by anyone/ not working reliably. The main issue is I do not understand handshake for data transfer. I see that USB_EP[epNumber].apiEpState flag is set in the Enpoint ISR, But when exactly the interrupt happens - is it when data arrives in USB stack internal buffer or when DMA is finished transferring the data to the user buffer defined by USB_ReadOutEP call, if it the former then how to detect when DMA is complete. When the automatic mode is enabled USB_EP_DMA_Done_isr.c and USB_EP17_DMA_DOne_SR.c is being generated, but what is EP17?