
STM32F4xx属于Cortex M4F架构,自带FPU硬件,可以加速float类型数据的加减乘除运算。3 L6 D% i2 W' T1 W9 E2 k $ U- B' ]) M5 w% B+ o 观察启动文件,发现,要启用FPU,需要启动满足两个宏:(__FPU_PRESENT == 1) && (__FPU_USED == 1)$ V6 p3 A& V L$ q5 Z% l( u/ ? ![]() ! g# ^' X% j0 W ![]() . |4 ^$ { N/ c9 B 在keil的魔术棒中,如上图所示,直接选中单精度浮点运算器,keil就会自动把所需的宏给定义出来。如何验证是否开启成功? 验证方法1:' }* e" V: K* l. {+ w) E) U' o ! V4 \* t4 _. Q 我们把F407主频设为168M,不选中/选中FPU,分别做10万次乘法:发现耗时分别为32153us、5954us,发现耗时缩短为1/6.性能提升显著,说明开启FPU成功了。 验证方法2:% h( j' E% X8 v, }' m: L; G: N # }7 M5 X0 W2 {& e' j4 b 进入debug模式,或者直接查看汇编文件,发现C语言乘法运算,被编译成了V打头的汇编乘法命令,说明开启成功。 7 a- \. s0 t T+ v9 m; |( S ![]() 9 |+ b( K. z+ @* F+ c- Y & j# q! Q- u7 e: p, Q: c FPU只能加速float的基本运算,还有一些数学函数,不是光靠FPU就能加速的,例如sin、cos、等函数,ST和ARM提供了优化过的三角函数等,使用插值方法加速运算,要想使用这些优化过的函数. C: Z$ h, o1 v/ o5 g # Q* V6 |$ ]- V5 |/ F" n) v& T 3 ~9 [' u; E8 q% } |
【2025·STM32峰会】GUI解决方案实训分享2-编译运行TouchGFX咖啡机例程(含桌面仿真)
【2025·STM32峰会】GUI解决方案实训分享3-搭建空白TouchGFX例程并实现简单的功能(含硬件部分的串口打印)
【2025·STM32峰会】+TouchGFX实现动态进度显示以及界面切换
【2025·STM32峰会】+使用TouchGFX快速创建GUI
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
实战经验 | 关于STM32H7使用LL库生成ADC代码工作异常问题说明
实战经验 | 关于STM32H745的MC SDK电机控制工程问题的解决办法
【H745I GUI】1.GreenHouse 灯光控制
【Wio Lite AI视觉开发套件】+移植TensorFlow Lite
STM32H745I-DISCO脉冲宽度调制(PWM)