I modify example project 2350.upp_dlb_test that provided by TI employee.The UPP setting in the 2350.upp_dlb_test is polling. Now I revise it as interrupt.But the problem is that the program can't go into UPP_ISR when I run it. I even observe that UPISR(uPP Interrupt Raw Status Register)and UPIER(uPP Interrupt Enabled Status Register) have been set which means the interrupt have been triggered.
So I doubt that it can go into UPP_isr in the loopback mode?
Following is my UPP interrupt setting:
/***************** interrupt configration for UPP **************************/
/* open CPINTC0 to map the UPP completetion ISR event to the host interrupt */
hnd_UPP = CSL_CPINTC_open(2);
if (hnd_UPP == 0)
{
printf ("Error: Unable to open CPINTC-1\n");
return;
}
glbCpintcHnd[2] = (CSL_CPINTC_RegsOvly)hnd_UPP;
CSL_CPINTC_mapSystemIntrToChannel (hnd_UPP, CSL_INTC0_RPINT, 70);
CSL_CPINTC_enableSysInterrupt (hnd_UPP, CSL_INTC0_RPINT);
CSL_CPINTC_enableHostInterrupt (hnd_UPP, 70);
CSL_CPINTC_enableAllHostInterrupt(hnd_UPP);
vectId = CSL_INTC_VECTID_4;
hIntcUpp= CSL_intcOpen (&intcObjUpp, CSL_GEM_INTC0_OUT_9_PLUS_20_MUL_N, &vectId , NULL);
/* Bind ISR to Interrupt */
gpioHandler.handler = (CSL_IntcEventHandler)&upp_isr;
gpioHandler.arg = 0;
CSL_intcPlugEventHandler(hIntcUpp, &gpioHandler);
CSL_intcHwControl(hIntcUpp,CSL_INTC_CMD_EVTCLEAR,NULL);
/* Event Enable */
CSL_intcHwControl(hIntcUpp, CSL_INTC_CMD_EVTENABLE, NULL);
/***************** interrupt configration for UPP **************************/
upp_int_enable( upp_int_EOLI |
upp_int_EOWI |
upp_int_ERRI | upp_int_UORI | upp_int_DPEI |
upp_int_EOLQ |
upp_int_EOWQ |
upp_int_ERRQ | upp_int_UORQ | upp_int_DPEQ |
0 );