dsp是6678,在头文件里定义并初始化了一些const float类型的大数组,.const段放在DDR3的时候debug软件仿真可以正常运行,但是放在MSMCSRAM里就不行,一些变量的值会显示1.#QNAN。MSMCSRAM的大小应该是足够的。请问各位经验丰富的前辈大佬们这是什么情况?
Shine:
图片显示不出来,请点击右下角的"使用高级编辑器编辑文本"插入图片。
,
user6501245:
没看到有这个选项啊
,
Shine:
点击"回复"后就能看到。
,
user6501245:
好的,谢谢
,
Shine:
QNAN表示一个无效浮点数,有跟过程序具体跑到哪里出错吗?const float类型的小数组会有这个问题吗?
,
user6501245:
您好,const float类型的小数组没有这个问题。
cmd文件中 .const > MSMCSRAM的时候,我代码里的第一步操作就会出问题。
第一步操作是这个循环:
Cr、s1、B分别是三个数组的指针,s1指向的数组就是头文件中的const float类型数组之一。commul函数执行的是复数乘法,如下:
const float s1[4096]的部分值如下:
循环中i<13时循环正常执行。i=13,j=某个值(M=2048,具体值不方便观测)开始,每执行一次commul函数,s1的元素从s1[0]开始就会有两个被清0,循环执行完后s1的元素值会全部清0,如下:
,
Shine:
请和放在DDR3时比较一下各个寄存器,指针的值哪里不一样,出现了错误?