最近实验室需要更换平台,将C6713的程序向C6748或OMAP138上移植,但是完成芯片配置后运行结果与原程序相差非常大!浮点运算的结果完全不对!老程序是在CCS2.0上编写的,新程序使用了老程序的结构,只是更换了头文件和DSP配置部分的代码。Debug的时候发现,CCS5.5中标准C库函数计算的结果在小数点后第五位都可能与原程序不一致!!
想问一下这是DSP硬件结构导致的还是说是编译环境导致的?有办法解决吗?这事情弄了小半个月了,快烦死了。
user1973786:
例如:#include <math.h>
double result;
result = atan2(0.123456789 * sin(0.5) , cos(0.5) + 1);
上一段代码在CCS2.0上运行的结果是
0.03151325775996232,
在CCS5.5上运行的结果是
0.03151325775996231
这种细微的差别是编译环境的问题吗?