Here is a problem that I faced,
NDK was up and running,
When starting the CSL_intcInit((CSL_IntcContext *)&intcContext); NDK stops working,
it seems that intcInit resets all the HWI destrioying previously written values by the HWI module.
I am using the CSL that came with CCS v3.3 with the EVMc6474.
This problem will affect you whenever you want to use and setup interrupts to work with DMA or any peripheral like MCBSP, SRIO,..etc
The solution I had for this is to work with the HWI module instead:
example: intVect 4 to receive interrupts from EDMA3 shadow register 0 setup:
hwi_intSetup.intVectId = 4;
hwi_intSetup.sysEvtCount = 1;
hwi_intSetup.sysEvtId[0] = CSL_INTC_EVENTID_EDMA3CC_INT0; //EDMA event will be routed to interrupt #4
hwi_intSetup.pCallbackFxn = &eventEdmaHandler;
hwi_intSetup.pCallbackArg = pArgCallback;
hwi_intSetup.bEnable = 1;
retVal = Interrupt_add(&hwi_intSetup);//I used the NDK interrupt_add, because it is simply available.
if(retVal != 0)
printf("Error setting up Rx Interrupts \n");
IER |= 0x10 //enabling interrupt 4
Hope this will help some body...
Regard,
Maroun Farah