STM32F103,DSP库移植笔记,希望后来人能少踩些坑
版本介绍:
- Keil_V5.33(此keil版本内置CMSIS版本为5.7,DSP版本为1.8)
- Keil pack包STM32F1xx_DFP.2.3.0
移植步骤
1. 拷贝 CMSIS下文件到工程目录
- 在待移植的工程目录下新建DSPlib文件夹,用以存放DSB相关文件
- 在keil安装目录下找到CMSIS文件夹,进入内部,找到CMSISDSP下的include文件夹,将其拷贝到上一步DSPlib文件夹
- 同时,进入CMSISDSPLIBARM文件夹下找到arm_cortexM3l_math.lib文件,拷贝到DSPlib文件夹
- 拷贝完效果如图
2. Keil软件的options for target中添加文件路径和关键字ARM_MATH_CM3
3. 包含头文件:#include "math.h"和#include "arm_math.h"编译一下工程,根据报错添加头文件
添加#include "math.h"和```#include “arm_math.h”``到工程
编译一下工程,会报错缺少XXX.h,缺失的头文件可在keil安装目录下的CMSISCoreInclude文件夹下找到,将其复制到之前创建的DSPlibinclude文件夹下,完善DSPlib。其中,core_cm3.h文件要加入到DSPlib,如果之前工程有,则替换掉旧的。
4. 编译没有错误后,选中DSP库
按照下图选中BSP库,并将source改为library
5. 测试
添加以下代码到工程
float EcgDiscrList[28]; float stdResultDiffECG; arm_std_f32(EcgDiscrList,28-4,&stdResultDiffECG);
编译没问题则移植成功。