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.

c6455检测到doorbell中断标志,但是进不了中断服务程序

fpga给c6455发doorbell中断,从DOORBELL0_ICSR寄存器来看是收到了中断信号,但是进不了中断服务函数,配置为1x模式,srio可以进行nwrite等操作,

我的doorbell中断配置如下:

在dsp/bios中的配置:

bios.HWI.instance("HWI_INT10").fxn = prog.extern("srio_db_ISR");

bios.HWI.instance("HWI_INT10").interruptSelectNumber = 20;

bios.HWI.instance("HWI_INT10").useDispatcher = 1;

中断服务程序为:

void srio_db_ISR(void)

{

Uint32 doorbell;

printf("enter doorbell interrupt \n");

//read doorbell.

doorbell = SRIO_REGS->DOORBELL_INTR[0].DOORBELL_ICSR;

//printf("received doorbell value %d\n",doorbell);

//clear doorbell interrupt

SRIO_REGS->DOORBELL_INTR[0].DOORBELL_ICCR = doorbell;

SRIO_REGS->INTDST_RATE_CNTL[0] = 0;

...............

}

请问还有那些需要注意的?谢谢