STM32CubeIDE(stm32f767)添加DSP库

    对于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,串口工具打印输出结果

猜你喜欢

转载自blog.csdn.net/m0_38012497/article/details/128113492#comments_25859343
今日推荐