With usb 3.0 mode . dmaSlFifoConfig.size = size * 16; it doesn't work ,the size is 1024 .But if change to dmaSlFifoConfig.size = size/2; it works but the speed only 8M around .how can i solve the problem ,I am hurry it .
develop with sdk v1.2 .
/* Create a DMA MANUAL Channel between P-port producer socket and U-port consumer socket */
//dmaSlFifoConfig.size = size * 16;
dmaSlFifoConfig.size = size;
dmaSlFifoConfig.count = CY_FX_SLFIFO_DMA_BUF_COUNT;
dmaSlFifoConfig.prodSckId = (CyU3PDmaSocketId_t)(CY_FX_EP_PRODUCER_PPORT_SOCKET);
dmaSlFifoConfig.consSckId = (CyU3PDmaSocketId_t)(CY_U3P_UIB_SOCKET_CONS_0 | CY_FX_EP_CONSUMER_USB_SOCKET);
dmaSlFifoConfig.dmaMode = CY_U3P_DMA_MODE_BYTE;
dmaSlFifoConfig.notification = 0;//CY_U3P_DMA_CB_PROD_EVENT;
// dmaSlFifoConfig.cb = CyFxSlFifoPtoUDmaCallback
dmaSlFifoConfig.cb = NULL;
dmaSlFifoConfig.prodHeader = 0;
dmaSlFifoConfig.prodFooter = 0;
dmaSlFifoConfig.consHeader = 0;
dmaSlFifoConfig.prodAvailCount = 0;
/* Create the channel */
apiRetStatus = CyU3PDmaChannelCreate (&glChHandleSlFifoPtoU,
I don't think the answer to this question is in "http://www.cypress.com/?app=forum&id=167&rID=68090". I have this same problem and I did what it says in the 68090 post and it did not solve the problem. I am using the SDK V1.2 and when I attempt to setup a Multi Channel DMA with size of 1024 and count of 16 I get a MEMORY error. This has nothing to do with cacheing but something to do with memory allocation. Does anyone have any help for this issue?