CyU3PDmaMultiChannelCreate failed (error code 64), why ?? | Cypress Semiconductor
CyU3PDmaMultiChannelCreate failed (error code 64), why ??
By doing my project , I found that it is diffculty to develop a composite video devices. And now the error is puzzle me . I do not why? Can somebody give me some advices??
From te FX3Api.pdf, I found that the cypress support multi-DMA channels , and I choose the multicast mode . and in my project is one producer - two consumer. And I read the sdk sample "usbbulkloopmulticast" and fx3api.pdf. Then I follow the sdk sample to create the multichannel , and I have examined several times , and I think there are no errors, But If I run the application , the log reports that the channel is create fail and the error code is 64, And I check what means about 64, It means that the parameters invalid , but I think all the parameters are right ? Why ?? Can which parameter is error ???
/* Create a DMA Manual OUT channel for streaming data */
/* Video streaming Channel is not active till a stream request is received */
dmaCfg.size = CY_FX_UVC_STREAM_BUF_SIZE; //1024
dmaCfg.validSckCount = 2;
dmaCfg.count = CY_FX_UVC_STREAM_BUF_COUNT; // 8
dmaCfg.prodSckId = CY_U3P_CPU_SOCKET_PROD;
dmaCfg.consSckId = CY_FX_EP_VIDEO_CONS_SOCKET; // (CONS_1 )
dmaCfg.consSckId = CY_FX_EP_VIDEO_CONS_SOCKET_2; // (CONS_3)
dmaCfg.dmaMode = CY_U3P_DMA_MODE_BYTE;
dmaCfg.cb = NULL;
dmaCfg.prodHeader = 0;
dmaCfg.prodFooter = 0;
dmaCfg.consHeader = 0;
dmaCfg.prodAvailCount = 0;
apiRetStatus = CyU3PDmaMultiChannelCreate (&glChMultiHandleUVCStream,
CY_U3P_DMA_TYPE_MANUAL_ONE_TO_MANY , &dmaCfg);//CY_U3P_DMA_TYPE_MULTICAST
if (apiRetStatus != CY_U3P_SUCCESS)
CyU3PDebugPrint (4, "CyU3PDmaMultiChannelCreate failed, Error code = %d\n", apiRetStatus);