DMA buffer size

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

cross mob
Anonymous
Not applicable

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,

   

                                                  CY_U3P_DMA_TYPE_AUTO,

   

                                                  &dmaSlFifoConfig);

0 Likes
2 Replies
Anonymous
Not applicable
0 Likes
Anonymous
Not applicable

Hi RSKV,

   

 

   

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?

0 Likes