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

DM8127上内存问题

最近在DM8127上的DSP端调试算法,连续打印一处中间结果,发现如下现象:

Vps_printf("GetChar,2 Rect:%d,%d,%d,%d.\n",pNode->Rect.left,pNode->Rect.right,pNode->Rect.top,pNode->Rect.bottom);
Vps_printf("GetChar,2_00 Rect:%d,%d,%d,%d.\n",pNode->Rect.left,pNode->Rect.right,pNode->Rect.top,pNode->Rect.bottom);

以上两句紧挨着,程序运行几分钟后,打印:

[c6xdsp ] Div_GetPlateChar,2 plateRect:1357,1505,144,174.
[c6xdsp ] Div_GetPlateChar,2_00_00 plateRect:1357,1505,28815,-21330.

内存中的内容突然改变了?

Chris Meng:

Rong Cang,

打印前有什么操作?是否有edma的操作启动?

cang_rong:

回复 Chris Meng:

打印代码前后的算法代码是纯C语言,在PC上验证过,没有错误。

两句打印之前,是一句赋值,double型赋值给double型。

没有EDMA操作,没有调用TI的任何库。

Chris Meng:

回复 cang_rong:

Rong Cang,

你的板子上有JTAG么?能连上仿真器看看么?

cang_rong:

回复 Chris Meng:

不能连接仿真器了。

程序刚运行时是正常的,大约过十分钟后,两次打印结果就不一致了。

Chris Meng:

回复 cang_rong:

你好,

你的系统的M3/A8是否在运行什么算法?系统是否繁忙?

我建议只运行DSP的算法+A8打印,看看是否有可能是被别的核篡改了,或者是否有可能是系统loading太重导致了些问题?

cang_rong:

回复 Chris Meng:

 Chris Meng :

你好,

DM8127上只有DSP运行了算法,调试发现内存确实会被篡改。

我的内存是在算法前先定义全局100MB的大数组,当做内存池,然后在这个大数组中申请算法要用的内存。

Chris Meng:

回复 cang_rong:

你好,

不知道你的代码里面cache是如何维护的。会否是cache的问题?你可以把dsp侧的L2全部配置为RAM(不是cache),看看问题是否还是存在。

cang_rong:

回复 Chris Meng:

嗯,我也怀疑是CACHE。

我的CACHE是这么设置的,如下:

var Cache = xdc.useModule('ti.sysbios.family.c64p.Cache');
/* Disable caching for HWspinlock addresses */
Cache.MAR0_31= 0x00000000;
Cache.MAR32_63= 0x00000000;
/* Config/EDMA registers cache disabled */
Cache.MAR64_95= 0x00000000;
Cache.MAR96_127= 0x00000000;/* cache settings for 1st 512MB DDR */
Cache.MAR128_159 = 0xFFFFFF00;/* cache settings for 2nd 512MB DDR */
Cache.MAR160_191 = 0x0FFF0000;
/*Cache.MAR160_191 = 0x0FFF0040;*//* cache settings for 3rd 512MB DDR */
Cache.MAR192_223 = 0x00000000;/* cache settings for 4th 512MB DDR */
Cache.MAR224_255 = 0x00000000;

我的内存有1G字节,CACHEL2为128K字节,另外的128K为RAM。

l1PMode: "32k", l1DMode: "32k", l2Mode: "128k"

在无EDMA使用的情况下,CACHE需要注意什么?

Chris Meng:

回复 cang_rong:

你好,

请参考:

https://www.deyisupport.com/question_answer/dsp_arm/davinci_digital_media_processors/f/39/t/109050.aspx

赞(0)
未经允许不得转载:TI中文支持网 » DM8127上内存问题
分享到: 更多 (0)