各位,我们在使用C6678做产品的情况下遇到了如下问题,请帮助分析一下,不胜感激。产品的情况如下:
1、应用于图像处理与H264压缩;
2、图像数据通过FPGA,经EMIF读入DSP的DDR3处理器;
3、目前EMIF跑到最快速度,才可满足系统设计要求;
4、受空间限制,只使用了一片DDR3(16bit位宽)存储器;
5、目前共使用了3个核,1个核做采集与图像预处理,1个核做H264压缩,第三个核用来做数据传输,即把压缩好的数据通过SPI接口传出来。
现在的问题:程序自启动以后,运行一段时间,会有死机现象,有时10分钟,有时30分钟。我们把三个核分别拉出三个GPIO来做测试,发现死机时,三个核的GPIO都停掉了,即三个核的程序都飞了,硬件已经是第二版,电源等应该没有问题。请各位帮忙分析一下。另外,一个同事参考了TI的研讨会,会上有TI的工程师说KEYSTONE上电时,内核1.0V的电压要给到1.5V,再拉下来,才能正常工作,否则会有运行一段时间死机的现象,不知有否此情况?
Jane Lu:
CVDD的初始电压是1.1V, 再根据VCNT的值供相应的电压。 上电时序要遵循datahseet的要求。
如果怀疑硬件原因导致,可以用论坛上提供的memory测试程序做拷机测试,该测试通过的话,建议查软件。
最好能用仿真器连上去看一下 DSP死机状态。
Jane Lu:
回复 Jane Lu:
另外,可以把memory protection 机制和exception功能用起来,有利于调试定位问题。 关于这两个功能您可以看一下sprugw0b.pdf文档,也可以参考下面这个链接的内容。 论坛上提供的STK开发包中也有相应的例子。
http://www.ti.com.cn/cn/lit/an/zhca594/zhca594.pdf
Li Chuanzhi Li Chuanzhi:
回复 Jane Lu:
hi Jane,
谢谢你的回复。
我们的电源在设计时有个问题,就是CVDD输出设置为固定1.0,现在调到固定1.1V,没有使用VID,也会有程序跑飞现象,不知道我们这样设计电源有没有问题?因为TI的手册上有如下描述:Users are required to program their board CVDD supply initial value to 1.1V on the device. The initial CVDD voltage at powe r-on will be 1.1V nominal and it must transition to VID set value, immediately after being presented on the VCNTL pins. This is required to maintain full power functionality and reliability targets guaranteed by TI.
是不是说,VID一定要使用?
我们会按你的思路来做测试,有结果了会贴到本贴中。
Jane Lu:
回复 Li Chuanzhi Li Chuanzhi:
Chuanzhi,
是的,从DSP的可靠性角度考虑,VID一定要使用,特别是商用的产品。
如果VID已经调到1.1V,并保证DSP的散热的情况下(DSP的壳温不能超过100度),还发生程序跑飞的情况,个人认为与VID关系就不大了。
Li Chuanzhi Li Chuanzhi:
回复 Jane Lu:
谢谢, Jane,
你的意思是如果CVDD调到1.1V固定输出,还有程序跑飞,就不一定是VID的原因吗?还是说,上电时调到1.1V,然后采用VID动态调节工作电压?
Jane Lu:
回复 Li Chuanzhi Li Chuanzhi:
Chuanzhi,
如果CVDD调到1.1V固定输出,没有做动态调压,在保证DSP的壳温在100度以下,硬件上不应该导致DSP跑飞。
建议用论坛上提供的memory测试程序做拷机测试验证一下DSP工作的硬件环境是否正常。