一、CUBEMX操作
软件中配置DSP
生成的代码中可以找到两个DSP库 一个是HAL库生成MDK代码自带的在\Drivers\CMSIS\DSP中,另一个是刚刚配置的在\Middlewares\ST\ARM\DSP中。
开启软件的FPU
通过这段初始化代码知道需要两个宏定义,__FPU_PRESENT已经在stm32g473xx.h中自动定义好了,而__FPU_USED可以用两个办法定义
1.软件定义
2.代码定义
在stm32g473xx.h中#define __FPU_PRESENT 1U /*!< FPU present 下方添加
#define __FPU_USED 1U /*!< FPU present
而按照之前看到的别的文章在魔术棒中添加,会不停的报重定义的警告,应该是cubemx都配置好了,后续手动加DSP库再添加
二、手动添加DSP
不在CUBEMX中添加DSP Library,可以自行在\Drivers\CMSIS\DSP中找到合适的静态库添加
b代表大端,l代表小端,f代表浮点
添加宏定义
,__FPU_PRESENT=1,__FPU_USED=1,ARM_MATH_CM4,__CC_ARM
参考博客:
基于STM32 HAL库的FFT计算与数学运算:幅值、频率、均方根、平均值、最大值、最小值、峰峰值与标准差_stm32 fft采样点数-优快云博客
STM32 HAL库 CUBEMX FPU 和 DSP库-优快云博客
在STM32中使用DSP库 - 封狼居胥的文章 - 知乎
https://zhuanlan.zhihu.com/p/462911261