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.

EDMA3 channel interruption problem

Other Parts Discussed in Thread: OMAP-L138

I tried to configure two EDMA channels (EDMA10 and EDMA 11) on OMAP-L138 DSP processor. Both EDMA channels are manually triggered one after other (EDMA 10 is triggered first, when the transfer is completed, EDMA 11 is started).  The problem is, after  EDMA channels run two times, Two channels get stuck. Below is the configuration code, which I modified based on the example code of quickStartOMAPL1x_rCSL.   I need the help.

 

Thanks,

-Bruce

 

 

 

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

EDMA 10:

// Clear Event Registers
 CSL_FINST(edma3ccRegs->ECR, EDMA3CC_ECR_REG, MASK);
 CSL_FINST(edma3ccRegs->SECR, EDMA3CC_SECR_REG, MASK);

 // Enable Channel 10 to DSP (Region 1)
 CSL_FINST(edma3ccRegs->DRA[CSL_EDMA3_REGION_1].DRAE,
    EDMA3CC_DRAE_E10, ENABLE);

 // Assign Channel 10 to Queue 0
 CSL_FINST(edma3ccRegs->DMAQNUM[1], EDMA3CC_DMAQNUM_E2, Q0);

 // Initialize Traansfer PaRAM
 init_PaRAM_event_channel_10();

 // Enable Interrupts for Channel 10

CSL_FINST(edma3ccRegs->IESR, EDMA3CC_IESR_I10, SET);

 

EDMA 11:

 // Clear Event Registers
 //CSL_FINST(edma3ccRegs->ECR, EDMA3CC_ECR_REG, MASK);
 //CSL_FINST(edma3ccRegs->SECR, EDMA3CC_SECR_REG, MASK);

 // Enable Channel 11 to DSP (Region 1)
 CSL_FINST(edma3ccRegs->DRA[CSL_EDMA3_REGION_1].DRAE,
    EDMA3CC_DRAE_E11, ENABLE);

 // Assign Channel 11 to Queue 0
 CSL_FINST(edma3ccRegs->DMAQNUM[2], EDMA3CC_DMAQNUM_E3, Q0);


 // Initialize Traansfer PaRAM
 init_PaRAM_event_channel_B();

 // Enable Interrupts for Channel 11
 CSL_FINST(edma3ccRegs->IESR, EDMA3CC_IESR_I11, SET);