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

SDK7.0生成的kernel,浮点运算有问题

应用SDK7.0生成的KERNEL跑一下之前代码发现有问题,而且问题是在浮点运算里面,不知道FAE的大牛们有没有好的建议?

如:double dValue = 3000000;

        double test1 = log10(dValue);

        dValue = 3000000000LU;

        test2 = log10(dValue);

分别打印test1和test2是一个-0.000000和0.000000,这里非常奇怪,而且在老的SDK上代码没有问题。

我也确认过了kernel的组件里选择的浮点项目都是一样的

Steven Liu1:

这些在开发板上都测试过吗?结果是一样的?

能否分享一下你的测试代码还有可执行文件,比较方便复现问题。还有就是两个版本之间,一个好一个坏。能否提供一下好的log和坏的log,这样对比比较直观。

david hu1:

回复 Steven Liu1:

已发邮箱,这个附件里取也可以,

正确的结果如下:

dvalue = 3000000.000000,log10(dValue)=6.477121dValue = 3000000000.000000,log10(dValue)=9.477121dValue = 100.000000,log10(dValue)=2.000000

SDK7.0的系统里运算结果打印全是0

david hu1:

回复 david hu1:

找到原因了,跟编译链居然有关系,新的SDK得用新的编译链才行,用老的编译链才出现我所说的问题

Yaoming Qin:

回复 david hu1:

老的编译工具还没有打开硬件单元,另外,请您也注意命令行参数。

请参考 http://processors.wiki.ti.com/index.php/Sitara_Linux_SDK_GCC_Toolchain#Switch_to_Linaro 

赞(0)
未经允许不得转载:TI中文支持网 » SDK7.0生成的kernel,浮点运算有问题
分享到: 更多 (0)