我 用的是K1_STK_v1.1 中的HyperLink例程,在调试中断的时候采用LOOPBACK模式的时候可以进入中断,使用2个DSP进行测试时就无法进入中断,这是为什么呢?
Shine:
请问是否有参考过KeyStone_1_HyperLink_STK_User's_Guide文档?#define HYPERLINK_LOOPBACK_TEST 改成0了吗?
,
Bess:
改成0了
,
Bess:
是改成0了
,
Shine:
请检查一下中断有没有发生?中断标志位有没有置1?和loopback时的寄存器比较一下。
,
Bess:
我把代码简化成这样:
Hyperlink_config(); if(0==DNUM) { HyperLink_Interrupts_Init(); HyperLink_Interrupt_Test(); } else { printf("standby for access by HyperLink…"); while(1) asm(" nop 5"); }
不管是loopback模式还是非loopback模式,当执行到 Hyperlink_config()函数时,寄存器状态如下:
当HyperLink_Interrupt_Test();函数里面的gpHyperLinkRegs->SW_INT= HW_EVENT_FOR_INT_TEST; 后,2种模式的寄存器状态都变成如下值:
loopback模式会触发HyperLinkISR中断处理函数,但是非loopback模式一直无法触发,不知道是什么原因,该如何解决?
,
Bess:
问题解决了,要两个DSP,都使用core0才可以触发HyperLinkISR ,感谢指导!
,
Shine:
感谢分享解决办法!