浮点库是否启用?请各位帮忙确认一下

2019-07-20 19:32发布

       我在用F407修改一个音频算法,目前用了不少浮点运算。我之前读了一下原子的指导说明直接是在设置里面把“use single precision”。
       由于我基本没有引用armmath库里面的函数,所以预编译的宏定义里面“ARM_MATH_CM4,__CC_ARM,ARM_MATH_MATRIX_CHECK,ARM_MATH_ROUNDING”都没有添加,也没有包含arm_cotexdsp.lib。随着算法的添加,我发现有的时候处理的数据会有一些噪点。但是我把优化等级提高到O3就没有了。我考虑O3优化可能有风险。所以想确定浮点库是否真正起作用了。
       坛子里面有经验的朋友能不能告诉我一下@正点原子
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
正点原子
1楼-- · 2019-07-21 01:00
 精彩回答 2  元偷偷看……
czdspeed
2楼-- · 2019-07-21 02:05
正点原子 发表于 2016-10-14 17:03
浮点硬件的启用,是不需要armmath库的。硬件浮点完全靠寄存器控制开关,编译器编译的时候就会使用浮点指令 ...

      原子哥,那就是说直接在编译选项里面打开“use single persion”就可以了?要不要定义“USE_FPU”而且sysInit()里面要不要加上“       
/* FPU settings ------------------------------------------------------------*/
// #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
    //SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2));  /* set CP10 and CP11 Full Access */
  //#endif”。
     我这么做过感觉运行速度没啥差别,还是只要勾选了“use single persion”,这些都不需要了。

一周热门 更多>