TIwilliam hill官网
直播中

张青梅

7年用户 177经验值
私信 关注

windows CCS5.1的软件仿真环境下运行在资源汇总贴下载的IPC程序,core1没有收到中断这是为什么?如何解决?

本帖最后由 一只耳朵怪 于 2018-6-20 11:00 编辑

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");
];
]

回帖(5)

杨娟

2018-6-20 07:38:17
这个例子没有在simulator下测试,有可能是跟仿真环境有关,你在EVM上测试看看。
                                                                          

举报

李顺正

2018-6-20 07:46:59
我用CCS5.2.1的环境,这个程序只在0核里运转,1核怎么都接收不到中断啊,请问你解决了吗
举报

邬连拓

2018-6-20 07:57:11
你好,我想问问你的问题解决了吗?那个IPC例程可以在EVM上运行吗?我的也是这种情况,core 1收不到core 0的中断。初学6678,还请多多指教,再次感谢!
举报

李姗蔓

2018-6-20 08:05:27
引用: zbb9612 发表于 2018-6-20 07:38
这个例子没有在simulator下测试,有可能是跟仿真环境有关,你在EVM上测试看看。
                                                                          

您好,请问,for循环体内的 asm (" NOP 5"); 和 while循环体内的 asm(" NOP 9"); 的作用是什么?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分