Stm32F4XX和Stm32H7XX开启FPU浮点运算 #softvfp 软浮点+ |4 z2 |; e! e V& R# w #fpv5-d16 or fpv5-sp-d16 cortex-M7 单精度硬件浮点 #fpv4-d16 or fpv4-sp-d16 cortex-M4 单精度硬件浮点 #fpv5-dp-d16 cortex-M7 双精度硬件浮点,这个在GCC下编译不通过,不确定是否正确# s6 c8 b8 n. Y( d9 _ H/ x 6 F7 [6 w1 u9 a' } 开启STM32 浮点运算,需要设置下面的参数: M4内核: -mfpu=fpv4-sp-d16 M7内核:' H$ v: W8 _6 [6 Z1 s H -mfpu=fpv5-sp-d16 : _* \* J2 v F" h9 | e -mfloat-abi=hard #这里=soft的话就是软件模拟浮点运算,非常耗时。 另外rtthread下开启FPU后gcc下编译工程报错的话,还需要加上 -Wa,-mimplicit-it=thumb Error: thumb conditional instruction should be in IT block – `strexeq r1,r2,[r4]’8 M8 |1 q- d; C% l
开启FPU的情况下,运算100万次flot运算,时间时209个tick,我这里时209个ms,1 D- T2 P4 ^$ \& z 关闭FPU的情况下,运算100万次flot运算,时间时555个tick,我这里时555个ms,# W( K' I! |+ v; m 可见FPU对浮点运算性能提升还是有非常大帮助的。 ———————————————— 版权声明:tony++ $ J |( ?, m) t6 P3 d+ j |
STM32固件库分享,超全系列整理
【中文文档】AN3965_STM32F40x和STM32F41x基于串口的IAP
STM32F4-DISC 实现USB主机(U盘)和USB设备(虚拟串口)自动切换
STM32F4中文用户手册
基于STM32F407的FreeRTOS阶段性的总结(13)
STM32F400、STM32F402 Cortex-M4超值单片机
基于STM32F407的FreeRTOS获取各任务运行时间及占用情况(4)
基于STM32F407的FreeRTOS任务的挂起与恢复(3)
基于STM32F407的FreeRTOS任务的创建与删除经验分享(2)
基于STM32F407的FreeRTOS环境搭建经验分享(1)