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.

C6670 core2收不到SRIO完成中断

中断状态寄存器置位,在core0上能收到中断,并触发中断处理函数;但是在core2收不到中断,相应的处理函数没有响应

单板上两个C6670 DSP通过SRIO交换机相连

 

我们的设计想法是:core0-3分别使用LSU1-4,对于LSU complete 中断,core0-3分别使用IntDst0-3IntDst0-3对应的System Interrupt112-115,选择的Host Interrupt66/76/86/96,对应的Event ID都是2424  CIC0_OUT(64+2+10*n)7

对于Doorbell中断,core0-3分别使用IntDst16-19IntDst16-19对应的Event ID都是2020 INTDST(n+16)10

将这两个事件组合起来都挂接到同一个中断处理函数srioDst0Isr'上,对应选择的à CPU Interrupt VectorINT10

查到信道中断映射寄存器(CH_MAP_REGx)偏移地址0x70(对应System Interrupt :112-115)的值为0x60564C42(即为映射的Host Interrupt66/76/86/96

CorePac内部三个中断复用寄存器Interrupt Mux Register分别为0x0706025A/0x0B001601/0x38400D0C,由此说明SRIO用到的中断INT10对应的事件为Event0

按照以上的设计思想,在core0上能收到中断,并触发中断处理函数;但是在core2收不到中断,相应的处理函数没有响应。

LSU_REG4设置为中断模式,查看LSU相关的寄存器如下值(对应core2传输的情况)

0278h INTDST2_Decode 对应的值为 0x00040000

0240h LSU1_ICRR1 对应的设置值为 0x32103210

01D0h LSU1_ICSR  对应的值为     0x00000004

0D48h LSU3_reg4  对应的值为     0x00030011

0DE4h LSU_SETUP_REG1对应的值为0x000003FF