STM32移植DSP源码记录
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
用stm32cubemx生成的代码添加DSP库只能添加1.3到1.4版本,如果想添加最新的DSP库,最好选择到github中下载最新的源码,然后移植。所以这篇文章是记录如何移植stm32的DSP库的。
链接: DSP
提示:以下是本篇文章正文内容,下面案例可供参考
一、DSP是什么?
自己查吧!!
二、使用步骤
1.下载DSP库
点击下载ZIP或者通过git下载也行。
2.导入头文件
下载完,找到…\CMSIS-DSP-main\CMSIS-DSP-main\Include这个路径,里面存放的就是我们需要用的DSP库的头文件,可以直接拷贝到你的工程中,也可以直接在你的工程里添加路径。建议拷贝。
在这里添加上这三个路径,前面两个路径是…\CMSIS-DSP-main\CMSIS-DSP-main\Include和…\CMSIS-DSP-main\CMSIS-DSP-main\Include\dsp,第三个路径是在…\CMSIS-DSP-main\CMSIS-DSP-main\PrivateInclude
比较特殊一点,如果不添加这个路径会报错找不一些头文件。
3.添加源文件
这里添加源文件选择你自己需要的来添加就可以了,不用全部添加的
这些文件是在…\CMSIS-DSP-main\CMSIS-DSP-main\Source这个路径上,里面有很多.c文件,我们只需要添加汇总文件就可以,其他的编译后自动加进去的。
4.MDK配置
源文件和头文件添加完成后,我们还需要对MDK进行一些配置,才能正常使用DSP。
4.1 开启FPU功能
建议参考这篇文章
链接: STM32F4+CubeMX+Hal库下使能FPU
我这里就直接说步骤了
在这个位置多加一个宏定义,这是为了启动STM32的FPU。
,__FPU_PRESENT = 1U,ARM_MATH_CM4,__CC_ARM,__TARGET_FPU_VFP
再把这两个选上。
这样基本完成了。
#include "arm_math.h" // 确保包含了CMSIS库的头文件
#include "arm_const_structs.h"
一般调用第一个头文件就可以了。
总结
移植其实没什么难的,本来是STM32cubemx就有可以直接一键添加的,就是版本老了点。
我测试fft的时候,dsp1.3跑出来的值误差比较大才换的。如果要求不高也可以直接选择一键生成。
作者:瀛瀛海燕