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.

DSP/BIOS UART interrupt not firing



I am trying to test the uart2 receving of C6747 using DSP/BIOS. the uart2 is configurated to work in interrupt, non-FIFO mode. my .tcf file comes out as

utils.loadPlatform("ti.platforms.evm6747");

/* The following DSP/BIOS Features are enabled.  */
bios.enableRealTimeAnalysis(prog);
bios.enableRtdx(prog);
bios.enableTskManager(prog);

bios.HWI.instance("HWI_INT4").fxn = prog.extern("xint0_isr");
bios.HWI.instance("HWI_INT4").interruptSelectNumber = 69;
bios.HWI.instance("HWI_INT4").useDispatcher = 1;
bios.HWI.instance("HWI_INT4").arg = 0;
bios.HWI.instance("HWI_INT4").interruptMask = "all";
// !GRAPHICAL_CONFIG_TOOL_SCRIPT_INSERT_POINT!

prog.gen();

which means uart2 interrupt (number 69) is attached to HWI_INT4, and the interrupt server routine function is named "xint0_isr", which is defined in the main.c as

void xint0_isr(void){
   if(((UART2_IIR) & 0x0F) == 4){
      C6747_UART_getChar( uart0, &cmd_tmp );
      cmd[cmd_idx++] = cmd_tmp; 
   }
}

the problem here is that it seems the uart2 Data-Ready interrupt never fires. the LSR of uart2 is 0x00000063, the IIR is 0x00000004,but the core register IFR is all zero...

BTW: i have test uart2 receving interrupt in a non-bios way and it seems ok.

is there something wrong above?