windows CCS5.1的软件仿真环境(C6678 function sim…)下运行在资源汇总贴下载的IPC程序,发现core能运行起来,core0也向core1发出了中断,
但是core1没有收到中断。
看另外的帖子,是说可能是core起来的时间不一样,导致core0产生中断的时候core还没有准备好。
所以,我就先跑的core1,再跑core0,但是结果还是一样。
是软件仿真环境不能仿IPC么?
——————
concole里面能看到
core1 start running
core 0 start running
set interrupt from core0 to core1
interrupt info 16
然后就没有然后了
———————
void main()
{
uint32_t i;
uint32_t coreID = CSL_chipReadReg (CSL_CHIP_DNUM);
#if 1
if (0 == coreID)
{
printf("Core %d start running…\n", coreID);
Init_PLL(8, 3, 5, 64);
enable_all();
}
else
{
printf("Core %d start running…\n", coreID);
}
#endif
initCPINTC();
intcInit();
registerInterrupt();
CSL_CPINTC_generateSysInterrupt(handle[0], 7);
for (i=0; i<1000; i++)
asm (" NOP 5");
if (0 == coreID)
{
IssueInterruptToNextCore();
}
while(1)
{
asm(" NOP 9");
};
}
mei liu1:
我用CCS5.2.1的环境,这个程序只在0核里运转,1核怎么都接收不到中断啊,请问你解决了吗
pu xu:
你好,我想问问你的问题解决了吗?那个IPC例程可以在EVM上运行吗?我的也是这种情况,core 1收不到core 0的中断。初学6678,还请多多指教,再次感谢!
Steve Strange:
回复 Andy Yin1:
您好,请问,for循环体内的 asm (" NOP 5"); 和 while循环体内的 asm(" NOP 9"); 的作用是什么?