1.环境和工具
MDK-ARM Professional(V5.27), STM32CubeMX(V5.5.0), 开发板主控芯片STM32L431CCTx。
2.添加DSP库
打开STM32CubeMX工程,在Project Manager选项中选择"Copy all used Libraries into the project folder",将所有用到的库添加到项目文件夹中,如图2.1所示。点击"GENERATE CODE"生成代码,打开项目文件夹,进入Drivers->CMSIS目录,如图2.2所示,在该目录自动生成了DSP运算相关的库。
图2.1 将所有用到的库添加到项目文件夹
2.2 生成的DSP库
3.开启FPU
打开MDK-ARM,在设置选项中点击"C/C++",将宏定义:ARM_MATH_CM4,__TARGET_FPU_VFP,__FPU_PRESENT添加进来,如图3.1所示。其中ARM_MATH_CM4表示使用arm_math.h库(属于CMSIS-DSP库)来处理数学运算,可充分发挥FPU的性能;__TARGET_FPU_VFP,__FPU_PRESENT表示开启FPU功能,FPU也可直接采用MDK-ARM中的设置来开启,如图3.2所示。
3.1 宏定义开启FPU
3.2 MDK-ARM设置启用FPU
3.3 core_cm4.h中关于FPU开启的宏定义
4.添加arm_math.h库
如图4.1,在MDK工程下双击"Drivers/CMSIS"文件夹,将项目文件夹下的目录Drivers->CMSIS->Lib->ARM中文件arm_cortexM4lf_math.lib添加进来。关于arm_math.h不同库的介绍见图4.2及keil官网。
CMSIS DSP Software Librarywww.keil.com/pack/doc/cmsis/DSP/html/index.html
。
4.1 添加arm_math.h库
4.2 arm_math.h库介绍
最后把相应的头文件(如图4.3)及库路径(如图4.4)添加进来。
4.3 添加头文件
4.4 添加DSP库路径