大家好,这个问题困惑我很久,希望不吝赐教!
我在测试例程IPC_example_on_6678时,各核能够响应IPC中断,并进入中断服务函数。但在开发基于Self Test Kit的IPC中断时,却发现怎么都进不了IPC中断服务函数(即使核0直接给自己发IPC中断)。代码如下:
void ipc_config(void)
{
gpCGEM_regs->INTMUX1 = (CSL_GEM_IPC_LOCAL<<CSL_CGEM_INTMUX1_INTSEL7_SHIFT);
CPU_interrupt_enable((1<<7));
}
void ipc_test()
{
KICK0 = KICK0_UNLOCK;
KICK1 = KICK1_UNLOCK;
*(volatile unsigned int *) iIPCGR0ADDR |= 1;
KICK0 = KICK_LOCK;
KICK1 = KICK_LOCK;
}
void interrupt ipc_isr()
{
…..
}
vectors:
VEC_RESET Nested_Exception_service_routine ;Nested exception
VEC_ENTRY NMI_ISR ;NMI/Exception
VEC_DUMMY ;RSVD
VEC_DUMMY ;RSVD
VEC_DUMMY ;interrupt 4
VEC_DUMMY ;interrupt 5
VEC_DUMMY ;interrupt 6
VEC_ENTRY ipc_isr() ;interrupt 7
VEC_DUMMY ;interrupt 8
VEC_DUMMY ;interrupt 9
VEC_DUMMY ;interrupt 10
VEC_DUMMY ;interrupt 11
VEC_DUMMY ;interrupt 12
VEC_DUMMY ;interrupt 13
VEC_DUMMY ;interrupt 14
VEC_DUMMY ;interrupt 15
其他帖子中也有相同的问题:
www.deyisupport.com/.../29864.aspx
另外,
1、在IPC_example_on_6678中,中断初始化时,使能了NMI,这和IPC中断相关么?
2、csl_intc.h对应的CSL中断库中包含有中断向量表,而Self Test Kit也有自定义的中断向量表,二者同时使用,中断会冲突么?