对于stm32f4 系列可以使用STM32Cube添加相应的库,自动生成代码。可以参考下面写的文章
(1条消息) STM32CubeMX关于添加DSP库的使用_W_oilpicture的博客-CSDN博客_cubemx dsp库
不过,对于stm32f767等M7的内核目前可能并不适用,需要自己手动添加,主要参考了下面的文章
STM32CubeIDE添加DSP库(附带如何添加代码库)_mutulula的博客-CSDN博客_stm32 使用静态库z
这里自己当作笔记记录下注意点,详细请参考上面的博客,感谢原作者。
一,使用DSP库,建议开启硬件FPU模块。
STM32CubeIDE中与两个宏定义有关__FPU_PRESENT和__FPU_USED。默认应该是开启的。


如果没开启,可以按下面的步骤开启。

二,添加DSP库文件。
按参考博客中的方法,找到需要添加的库文件,

我的电脑中的文件位置如下:

文件准备好之后,就是在IDE中设置
1,添加头文件夹

2,添加库文件夹

3,添加库
这里有三个库

库说明参考 原子手册说明,stm32f767这里选择arm_cortexM7lfdp_math**

****** 特别注意:这里添加的库,要去掉“lib”前缀,不要扩展名,并且添加的时候不要有文件路径,只保留库文件名。正确的如下图

这里我遇到了一些问题,一般我们这样添加之后,会带有路径


如果带有路径的话就会报错

解决方法是对这个库文件,重新编辑edit ,只保留库名

4,使用IDE进行全局宏定义
在Symbols中添加宏定义 ARM_MATH_CM7 告诉DSP库使用的arm内核类型。__FPU_PRESENT头文件里面已经定义,但是这里不定义好像报错,需要在这里定义一下,编译之后,IDE报重复定义警告,可以忽略,或者在文件中注释掉。

5,添加源文件路径

三,函数测试
1,添加头文件
#include "arm_math.h"
2,测试代码
float data;
data = arm_sin_f32(3.1415926/6); //对sin(PI/6 = 30�?)正弦值,求浮点�?�,理论上
printf("sin=%.2f\r\n",data);
3,串口工具打印输出结果



![[附源码]计算机毕业设计现代诗歌交流平台Springboot程序](https://img-blog.csdnimg.cn/c5a29dcc2d3c42659883d1690ac1d28f.png)
















