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

manliaijun ( 楼主 ) 2018-6-20 07:18:41  显示全部楼层
本帖最后由 一只耳朵怪 于 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个回复

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

回复

举报 使用道具

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

举报 使用道具

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

举报 使用道具

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

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

举报 使用道具

龙仔1319 发表于 2018-8-10 18:02:08
你需要给8个核中都load程序,然后启动顺序从core7开始,然后core6,……最后启动core0!就成功了
回复

举报 使用道具

您需要登录后才可以回帖 登录 | 注册

本版积分规则


关闭

站长推荐上一条 /9 下一条

小黑屋|手机版|Archiver|电子发烧友 ( 粤ICP备14022951号-2 )

GMT+8, 2018-8-19 00:30 , Processed in 0.132444 second(s), 21 queries , Memcache On.

Powered by 电子发烧友网

© 2015 bbs.elecfans.com

微信扫描
快速回复 返回顶部 返回列表