This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于TMS320C6748的内存运算问题

您好,最近由于新学习DSP的相关知识,想做基于DSP的图像处理。算法用C语言编写已经完成,并且在vc环境下编译通过,也可以运算出结果。但在转移到CCS5.5环境下,最后一步结果出错。查看变量发现在某一子函数for循环过程中,上一子函数运算的结果在此次运算过程调用时数值发生了改变。将变量的值变为volatile也不行,请问这是什么问题,跟内存配置有关吗?万分感激~(数据都配置在DDR2中)

(R1[][]数组为上一步运算得出的结果,在这个过程中发生了改变,导致最后数据错误)
void R_RXD()
{
printf("R_RXD 0k!\n");
int m=0,i=0,n=0,j=0;
D[0]=0;
for(m=0;m<4096;m++)
{
for(i=0;i<169;i++)
{
D1[i]=0;
}
for(n=0;n<169;n++)
{
for(i=0;i<169;i++)
D1[n]=h[m][i]*R1[i][n]+D1[n];
}
for(i=0;i<169;i++)
{
D[m]=h[m][i]*D1[i]+D[m];
}
}
for(j=0;j<64;j++)
{
for(i=0;i<64;i++)
{
D2[j][i]=D[i*64+j];
}
}
printf("R_RXD complete!\n");
}