This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Problems of EDMA3 multiple channel in DM6437

problems of EDMA3 multiple channel transfering
----------------------------------
After I config my EDMA3 with following codes, the multiple channel transfering does't work well. It just transfers channel 0 data correctly. Do I miss some key configurations or the EDMA3 cannot work in this way?
Thanks!

code:
for( i = 0; i < 3; i++ )
{
    tcc[i] = EDMA3_DRV_TCC_ANY;
    chId[i] = EDMA3_DRV_DMA_CHANNEL_ANY;

    if ( EDMA3_DRV_requestChannel ( hEdma, &chId[i], &tcc[i],
                                    (EDMA3_RM_EventQueue)0,
                                    callback, &myCbData[i] )!= EDMA3_DRV_SOK )
 
    {
        fail = -2;
 return fail;
    }
}
myCbData[0].numTrs = 576;
myCbData[0].numTrCnt = 0;
EDMA3_DRV_setSrcParams( hEdma, chId[0], (capYbuffer + 1),   
                 EDMA3_DRV_ADDR_MODE_INCR,
                 EDMA3_DRV_W8BIT );
EDMA3_DRV_setDestParams ( hEdma, chId[0], (storeYbuffer1),
                   EDMA3_DRV_ADDR_MODE_INCR,
                   EDMA3_DRV_W8BIT );
EDMA3_DRV_setSrcIndex ( hEdma, chId[0], 2, 1440 );
EDMA3_DRV_setDestIndex ( hEdma, chId[0], 1, 784 );
EDMA3_DRV_setTransferParams ( hEdma, chId[0], 1, 720, 576, 720, EDMA3_DRV_SYNC_AB );
EDMA3_DRV_setOptField ( hEdma, chId[0], EDMA3_DRV_OPT_FIELD_TCINTEN, 1u );                         
EDMA3_DRV_setOptField ( hEdma, chId[0], EDMA3_DRV_OPT_FIELD_ITCINTEN, 1u ); 
EDMA3_DRV_setOptField ( hEdma, chId[0], EDMA3_DRV_OPT_FIELD_ITCCHEN, 1u );
EDMA3_DRV_setOptField ( hEdma, chId[0], EDMA3_DRV_OPT_FIELD_TCCHEN, 1u );
            
myCbData[1].numTrs = 288;
myCbData[1].numTrCnt = 0;
EDMA3_DRV_setSrcParams ( hEdma, chId[1], (capYbuffer),
                  EDMA3_DRV_ADDR_MODE_INCR,
                  EDMA3_DRV_W8BIT );
EDMA3_DRV_setDestParams ( hEdma, chId[1], (storeCbbuffer1),
                   EDMA3_DRV_ADDR_MODE_INCR,
                   EDMA3_DRV_W8BIT );
EDMA3_DRV_setSrcIndex ( hEdma, chId[1], 4, 2880 );
EDMA3_DRV_setDestIndex ( hEdma, chId[1], 1, 392 );
EDMA3_DRV_setTransferParams ( hEdma, chId[1], 1, 360, 288, 360, EDMA3_DRV_SYNC_AB );
EDMA3_DRV_setOptField ( hEdma, chId[1], EDMA3_DRV_OPT_FIELD_TCINTEN, 1u );     
EDMA3_DRV_setOptField ( hEdma, chId[1], EDMA3_DRV_OPT_FIELD_ITCINTEN, 1u ); 
EDMA3_DRV_setOptField ( hEdma, chId[1], EDMA3_DRV_OPT_FIELD_ITCCHEN, 1u ); 
EDMA3_DRV_setOptField ( hEdma, chId[1],DMA3_DRV_OPT_FIELD_TCCHEN, 1u );

myCbData[2].numTrs = 288;
myCbData[2].numTrCnt = 0;
EDMA3_DRV_setSrcParams ( hEdma, chId[2], (capYbuffer + 2),
                  EDMA3_DRV_ADDR_MODE_INCR,
                  EDMA3_DRV_W8BIT );
EDMA3_DRV_setDestParams ( hEdma, chId[2], (storeCrbuffer1),
                   EDMA3_DRV_ADDR_MODE_INCR,
                   EDMA3_DRV_W8BIT );
EDMA3_DRV_setSrcIndex ( hEdma, chId[2], 4, 2880 );
EDMA3_DRV_setDestIndex ( hEdma, chId[2], 1, 392 );
EDMA3_DRV_setTransferParams ( hEdma, chId[2], 1, 360, 288, 360, EDMA3_DRV_SYNC_AB );
EDMA3_DRV_setOptField ( hEdma, chId[2], EDMA3_DRV_OPT_FIELD_TCINTEN, 1u );      
EDMA3_DRV_setOptField ( hEdma, chId[2], EDMA3_DRV_OPT_FIELD_ITCINTEN, 1u );
EDMA3_DRV_setOptField ( hEdma, chId[2], EDMA3_DRV_OPT_FIELD_ITCCHEN, 1u );
EDMA3_DRV_setOptField ( hEdma, chId[2], EDMA3_DRV_OPT_FIELD_TCCHEN, 1u );
             
EDMA3_DRV_enableTransfer ( hEdma, chId[0], EDMA3_DRV_TRIG_MODE_MANUAL );
EDMA3_DRV_enableTransfer ( hEdma, chId[1], EDMA3_DRV_TRIG_MODE_MANUAL );
EDMA3_DRV_enableTransfer ( hEdma, chId[2], EDMA3_DRV_TRIG_MODE_MANUAL );