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.

Compiler/TCI6638K2K: EDMA TC interrupt not triggered.

Part Number: TCI6638K2K
Other Parts Discussed in Thread: SYSBIOS

Tool/software: TI C/C++ Compiler

Hi,

Iam uasing CSL_EDMACC_0  with Channel number 10. I have registered the ISR function, but the interrupt is not getting raised even after the completion of the transfer.

Below is the code of Interrupt registration

#define EDMACC_0_TC_0_INT 38
void registerISREvent (void)
{
static UInt32 ui32Cookie = 0;
int32_t i32EventId = 0 ; /* GEM event id */
UInt32 ui32HostIntr, ui32SysIntNum;
;

/* Disabling the global interrupts */
ui32Cookie = Hwi_disable();

ui32SysIntNum = (UInt32)EDMACC_0_TC_0_INT; //EDMACC_0_GINT; // EDMACC_0_TC_0_INT;

ui32HostIntr = 9;

/* Plug the function for event */
CpIntc_dispatchPlug(ui32SysIntNum,
(ti_sysbios_family_c66_tci66xx_CpIntc_FuncPtr)&Edma_Isr,
NULL,
TRUE);

/* Map system interrupt to host interrupt */
CpIntc_mapSysIntToHostInt(CSL_CIC_0, ui32SysIntNum, ui32HostIntr);

/*The secondary events from EDMA channel completion interrupts are
provide as input invents to CIC0 moudle only. Hence the ID of the CIC should be
CSL_CIC_0. In this case it is 0*/
/* Enable host interrupt */
CpIntc_enableHostInt(CSL_CIC_0, ui32HostIntr);

/* Enable the System Interrupt */
CpIntc_enableSysInt(CSL_CIC_0, ui32SysIntNum);

/* Get the event id associated with the host interrupt. */
i32EventId = CpIntc_getEventId(ui32HostIntr);
System_printf(" Event=%d\n",i32EventId);

/* plugs the dispatch table with the specified fxn and attrs */
EventCombiner_dispatchPlug (i32EventId, CpIntc_dispatch, ui32HostIntr, TRUE);
Hwi_restore(ui32Cookie);
}

Here is the PaRam set details

stParamSetup.option = CSL_EDMA3_OPT_MAKE(CSL_EDMA3_ITCCH_DIS, \
CSL_EDMA3_TCCH_DIS, \
CSL_EDMA3_ITCINT_DIS, \
CSL_EDMA3_TCINT_EN, \
ChNum, CSL_EDMA3_TCC_NORMAL,\
CSL_EDMA3_FIFOWIDTH_NONE, \
CSL_EDMA3_STATIC_EN, \
CSL_EDMA3_SYNC_AB, \
CSL_EDMA3_ADDRMODE_INCR, \
CSL_EDMA3_ADDRMODE_INCR );

 

How can this be solved?

Regards

Asha