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?