我在用F407修改一个音频算法,目前用了不少浮点运算。我之前读了一下原子的指导说明直接是在设置里面把“use single precision”。
由于我基本没有引用armmath库里面的函数,所以预编译的宏定义里面“ARM_MATH_CM4,__CC_ARM,ARM_MATH_MATRIX_CHECK,ARM_MATH_ROUNDING”都没有添加,也没有包含arm_cotexdsp.lib。随着算法的添加,我发现有的时候处理的数据会有一些噪点。但是我把优化等级提高到O3就没有了。我考虑O3优化可能有风险。所以想确定浮点库是否真正起作用了。
坛子里面有经验的朋友能不能告诉我一下
@正点原子
原子哥,那就是说直接在编译选项里面打开“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”,这些都不需要了。
一周热门 更多>