TI中文支持网
TI专业的中文技术问题搜集分享网站

C6678多核程序运行问题

C语言编写的多核运行程序,核间通信用的是全局变量的方式;现在有时候会遇到这种问题,在修改程序的过程中,在程序的公共区域或者单个核的switch case语句中添加一句while的判定死循环。再用ccs进行硬件仿真,就会出现程序跑不通的情况,单步调试发现有几个核不进入自己的case语句运行,也会出现全局变量核间通信失败的情况。cmd中的.switch放置在LL2中,全局变量放置在DDR3中,希望知道的大佬帮助回答一下,谢谢了。

Thomas Yang1:

全局变量放在DDR中,做了CACHE一致性维护吗?

jie Xu9:

回复 Thomas Yang1:

谢谢您的回答,确实没有做一致性维护,能问一下怎么做吗?cache flush,cache invalid怎么使用呀。另外是不是做了一致性维护就可以把全局变量放在共享内存区了?我的程序中之前也有while的判定死循环,是放置在控制核中的,运行就没有问题,但是多在一个,就会出现这种问题。

jie Xu9:

回复 Thomas Yang1:

好的,谢谢,我试试

赞(0)
未经允许不得转载:TI中文支持网 » C6678多核程序运行问题
分享到: 更多 (0)