赞
踩
最近要用STM32f103c8t6做FFT,准备用DSP库里送的fft函数。在网站上转了一圈,尝试的几个添加DSP库的方法都不太好用,所以结合我自己踩的坑给大家一个防踩坑小教程。
C:\Users\你的用户名\STM32Cube\Repository\STM32Cube_FW_F1_V1.8.5\Drivers\CMSIS\DSP
复制里面的Include,source文件夹
C:\Users\用户名\STM32Cube\Repository\STM32Cube_FW_F1_V1.8.5\Drivers\CMSIS\Lib\ARM
复制里面的.lib文件(如果有两个,二选一都行),并记住名字arm_cortexM3l_math.lib可以得知我们用的是M3内核
新建一个DSP文件夹(如果你以后工程会经常用,就放在好找的地方,这样每次添加库都很方便),把这仨放进去,然后把DSP文件夹复制到工程文件夹下,Cube内刷新即可看到
Cube内,右键工程,添加source folder,选择我们的DSP文件夹,此时可以看到DSP文件夹图标从原本的普通文件夹变成了源文件夹
(变完之后之这个样子的,.lib文件二选一就行不用两个都复制过来)
和配置SDK时一样,我们有源文件夹还不能自动引用,接下来将其添加至引用路径。
右键工程->Properties->C/C++ General->Paths and Symbols->Includes,add我们工程文件夹里的DSP文件夹和其中的Include文件夹(两个都要)
(加完之后是这样子的)
还是这个界面->Symbols
添加四个宏定义:
__FPU_PRESENT,数值为1
__FPU_USED,数值为1
__TARGET_FPU_VFP
ARM_MATH_CM3
(CM3对应了我们的M3内核)
并且在工程名\Drivers\CMSIS\Include中找到core_cm3,并把__FPU_USED改成1
(因为创建工程的时候默认__FPU_USED是0U,我们在这里直接添加宏定义会冲突)
(加完之后是这个样子的)
还是这个界面,左侧选择C/C++ build -> settings -> tool settings -> 最下面那个misc开头的 -> other flags 里add
"${workspace_loc:/${你的工程名字}/DSP/arm_cortexM3l_math.lib}"
(注意要全英文输入,lib文件和你的lib同名,别忘了加$号)
(添加好后是这样的)
如果你发现报错中有诸如此类的显示:
就说明你添加的有中文标点。改掉就行
然后点击apply and close,跳出是否rebuild选择是
在引用中添加
#include "arm_math.h"
在main中添加
float test = arm_sin_f32(0.5);
编译通过,OK!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。