
Stm32F4XX和Stm32H7XX开启FPU浮点运算 #softvfp 软浮点 #fpv5-d16 or fpv5-sp-d16 cortex-M7 单精度硬件浮点 #fpv4-d16 or fpv4-sp-d16 cortex-M4 单精度硬件浮点 #fpv5-dp-d16 cortex-M7 双精度硬件浮点,这个在GCC下编译不通过,不确定是否正确 开启STM32 浮点运算,需要设置下面的参数: M4内核: -mfpu=fpv4-sp-d16 M7内核: -mfpu=fpv5-sp-d16 -mfloat-abi=hard #这里=soft的话就是软件模拟浮点运算,非常耗时。 另外rtthread下开启FPU后gcc下编译工程报错的话,还需要加上 -Wa,-mimplicit-it=thumb Error: thumb conditional instruction should be in IT block – `strexeq r1,r2,[r4]’
开启FPU的情况下,运算100万次flot运算,时间时209个tick,我这里时209个ms, 关闭FPU的情况下,运算100万次flot运算,时间时555个tick,我这里时555个ms, 可见FPU对浮点运算性能提升还是有非常大帮助的。 ———————————————— 版权声明:tony++ |