各位好:
我们用自己研制的C6678板卡,在软件调试时发现有几个芯片运行同样的软件工程会有核0跑飞其他7核正常的现象,如下图:
核0跑飞之后暂停核0会报错如下图:
经过对问题芯片定位,发现:
1.单步调试确认跑飞的函数不太固定,但是经过反复测试比较发现0x0c05c990~0x0c05c9fc这片地址出现读写不可用的情形,操作之后就会跑飞
2.出问题的这片地址没有放代码段,只是有变量赋值要用
3.拿其他测试工程单独测试MSMC的整片内存地址4M没有问题
4.如果把EDMA的中断初始化中的核级事件号用102可能导致L3地址不可用(这个现象无法解释)
5.换过C6678芯片之后没有问题,再换回芯片又会出同样的问题,应该是跟芯片有关系
请教各位大佬以下问题:
1.芯片硬件哪个地方可能导致这个跑飞问题?
2.有没有方法可以验证芯片有无问题?
3.有没有软件的定位措施推荐?
希望大家能帮忙解决一下这个问题,谢谢!!!
Shine:
请问出问题的芯片表面打印信息是什么?是从哪里购买的?
HaiShan Lin:
回复 Shine:
硬件厂家给的是表面TMS320C6678CYPA,批次号82ZD889;
这个软件上能有什么方法确认一下是不是硬件或者软件上的问题吗?
Shine:
回复 HaiShan Lin:
软件上没有办法确认是硬件或者软件上的问题。但是既然您换了芯片就可以,那应该是芯片本身的问题。
HaiShan Lin:
回复 Shine:
或者换个问题请教一下,MSMC的内存地址变得不可用可能是因为什么问题导致的?
HaiShan Lin:
回复 Shine:
因为我们软件工程只有特定的那一个会出问题,换一个工程就不会出,所以我们也不确定其他芯片会不会有问题。换个问题请教一下,MSMC地址出问题可能是因为什么原因?
Shine:
回复 HaiShan Lin:
这个可能是芯片的问题,也有可能是PCB板子的问题。如果有多块板子的话,可以试一下这个工程是不是在每块板子上都有问题。
另外,看一下CVDD不要使用固定的1.0v。电源,时钟,复位信号等稳定性。CLKOUTx管脚是否能输出稳定的时钟信号。
HaiShan Lin:
回复 Shine:
好的,谢谢!我们先检查一下!
Zhuoyang ZOU:
回复 HaiShan Lin:
请问楼主解决问题了吗,我们遇到了相同的问题,另外,在核0不正常的情况下,你们能够成功bootloader吗?
HaiShan Lin:
回复 Zhuoyang ZOU:
没有解决,目前还是换芯片;你们的问题现象是什么啊?
Zhuoyang ZOU:
回复 HaiShan Lin:
我们的现象和你一样,就是在debug模式下,核0永远不正常,处于free running的状态