STM32笔记_Cubeide添加DSP库

参考文献

STM32CubeIDE添加DSP库(附带如何添加代码库)
STM32CubeIDE下使能STM32F4的FPU同时调用DSP库计算正弦函数
STM32CUBEIDE 报“No such file or directory”错误
如何在STM32项目上集成DSP库?

最终整合添加步骤

准备DSP库

  1. DSP库可以在CubeIDE芯片固件库的安装目录下找到
    • DSP文件夹中存放有代码库
    • Lib为静态库
      Pasted image 20240331230443.png

注意

  • 每个人的STM32Cube的路径都不同,只要是红色圈起来的就可以
  1. DSP文件夹中Include和Source两个文件是我们需要的,Lib目录中我们只需要GCC文件夹中的库就好了。我把这3个文件夹及其内容复制到1个文件夹中,命名为CMSIS_DSP,然后放到建立的STM32CubeIDE工程同目录下。如图是我建立的工程,如果工程中没有CMSIS_DSP文件夹,可以右键工程刷新下
    Pasted image 20240331230707.png
    Pasted image 20240331230902.png

添加静态库

DSP库可以添加静态库,也可以添加源码库,我们这里介绍的是添加静态库

  1. 添加头文件夹,右键项目,Properties。C/C++General→Paths and Symbols。在Includes选项卡中添加DSP的头文件。点击Apply,不要关闭窗口,方便后面添加库操作
    在这里插入图片描述

注意

  • 从文件夹复制文件路径的时候,是“\”的形式,要记得改成“/”
  • 不要像第一篇参考文章里的那样在最前边加一个“/”,会报错,就按照我图中的添加即可
  1. 添加库文件夹,添加库名,接着在Library Paths选项卡下添加包含库的文件夹。同样为方便操作,添加好库文件夹后点Apply不要Close
    Pasted image 20240401210741.png

  2. 再下来,参考gcc添加库的文章,我们看到库文件夹CMSIS_DPS/GCC中有3个库,它们都用lib做前缀。根据规则我们去掉“lib”前缀,把库的名字加到Libraries选项卡中就可以了。OK之后同样点Apply不要Close。添加1个库就好

Pasted image 20240401210933.png
Pasted image 20240401211613.png

注意

  • 我的这个不知道为什么很奇怪,只有两个文件,但是我记得我添加的时候是有三个文件的
  1. 最后在Symbols中添加宏定义 ARM_MATH_CM4 告诉DSP库使用的arm内核类型。这里就可以Apply and Close了。就此添加DSP静态库就好了
    在这里插入图片描述

  2. 测试代码,编译验证,在项目中添加头文件“math.h", “arm_math.h”,我使用的测试代码如下,编译正常

  int16_t i;
  float32_t pSinVal;
  float32_t pCosVal;
  for(i = -180; i < 180; i++)
  {
      arm_sin_cos_f32(i, &pSinVal, &pCosVal);
  }

遗留的问题

  • 刚刚的测试函数的确可以运行了,编译也不会报错,但是如果运行下面的函数的时候依然会报错,在网上查找原因,需要添加“arm_math.h”头文件,但是我已经include了,还是报错
arm_cfft_f32(&arm_cfft_sR_f32_len1024, testInput_f32, ifftFlag, doBitReverse);
  • 关于第二个参考文献,他需要添加如下宏,但是我添加了以后又会报错,显示重复定义,之后我进到了几个文件里查看,发现确实定义了,但是如果没有添加宏,编译的时候又会报错说未定义
右键工程,选属性。在C/C++ General -> Paths and Symbols 中的Symbols增加以下定义

__FPU_PRESENT,且数值1

__FPU_USED,且数值1

__TARGET_FPU_VFP

以下是一篇可能和这个问题有关的博客,以后有时间再看
cotex-M核 FPU问题编译错误问题 __FPU_PRESENT_core_cm7.h

在串口打印输出

在 keil 添加 DSP 库(还未解决)

参考文献

STM32 DSP库的快速添加 基于cubemx 调用,使用DSP库_arm_const_structs.h-CSDN博客
STM32_如何添加DSP库_stm32添加dsp库-CSDN博客

附:C语言实现fft的hal库

  • 15
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值