[其他ST产品] STM32_如何添加DSP库

[复制链接]
3550|37
 楼主| 键盘手没手 发表于 2023-9-28 16:11 | 显示全部楼层 |阅读模式
为了添加这个DSP库,并正确使用上,来来回回还是折腾了1个小时的。

下面从0开始添加一下这个DSP库试试。

CSDN上讲了用STM32CubeMX添加的方法,可能针对他当时、以及他使用的STM32芯片是没问题的。

但在现在(2022-04-20)、我使用的STM32F405RGT6芯片上使用问题的。

STM32 DSP库的快速添加 基于cubemx 调用,使用DSP库四臂西瓜的博客-CSDN博客stm32dsp库

因此,下面总结我的方法

我们仍然是使用STM32CubeMX来生成项目文件。

其它都不需要注意,唯一要注意的一点的是

372496515351bc5c8d.png

生成项目后,我们需要的DSP库已经包含到STM32CubeMX生成的项目文件夹中了

 楼主| 键盘手没手 发表于 2023-9-28 16:11 | 显示全部楼层
路径: 项目路径/Drivers/CMSIS/DSP
81406651535382dae6.png
 楼主| 键盘手没手 发表于 2023-9-28 16:12 | 显示全部楼层
打开项目后,需要更改三个位置

1、把arm_cortexM4lf_math.lib包含到项目中

648876515354f802fd.png
 楼主| 键盘手没手 发表于 2023-9-28 16:12 | 显示全部楼层
2、添加一个预定义 " ,ARM_MATH_CM4

72721651535634b773.png
 楼主| 键盘手没手 发表于 2023-9-28 16:12 | 显示全部楼层
3、添加包含路径 Include Paths。" 项目路径/Drivers/CMSIS/DSP/Include "
99697651535720e843.png
 楼主| 键盘手没手 发表于 2023-9-28 16:12 | 显示全部楼层
测试代码  
  1. /* USER CODE END Header */
  2. /* Includes ------------------------------------------------------------------*/
  3. #include "main.h"
  4. #include "gpio.h"

  5. /* Private includes ----------------------------------------------------------*/
  6. /* USER CODE BEGIN Includes */
  7. #include "arm_math.h"        // 包含一个arm_math.h
  8. /* USER CODE END Includes */
 楼主| 键盘手没手 发表于 2023-9-28 16:12 | 显示全部楼层
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
float data;                                // 定义一个全局变量
/* USER CODE END 0 */
 楼主| 键盘手没手 发表于 2023-9-28 16:13 | 显示全部楼层
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
                data = arm_sin_f32(3.1415926/6);        // 用DSP库里面的函数arm_sin_f32计算 sin(Π/6)
  }
  /* USER CODE END 3 */
 楼主| 键盘手没手 发表于 2023-9-28 16:13 | 显示全部楼层
测试结果
232826515359d81332.png
Henryko 发表于 2023-9-29 19:18 | 显示全部楼层
哪些系列是可以用DSP的?
Stahan 发表于 2023-9-30 12:34 | 显示全部楼层
DSP是不是要硬件支持才可以啊
maudlu 发表于 2023-10-5 10:05 | 显示全部楼层
常见的DSP库包括有浮点数运算库(如DSPF)和固定点数运算库(如FIX)。
lzbf 发表于 2023-10-5 11:59 | 显示全部楼层
在STM32上添加DSP库,需要先安装DSP库文件,然后在工程中添加DSP库
gygp 发表于 2023-10-7 13:30 | 显示全部楼层
可以在代码中使用DSP库中的函数来进行数字信号处理
louliana 发表于 2023-10-7 22:15 | 显示全部楼层
STM32F103 系列及更高型号的微控制器都集成了 DSP 功能
Jacquetry 发表于 2023-10-7 22:48 | 显示全部楼层
哪些系列可以用dsp啊
pixhw 发表于 2023-10-8 16:43 | 显示全部楼层
在keil5软件中点击 Pack,CMISIS组件选择DSP资源,可以选择Source源码或者Library库导入到项目中,点击OK,可以在项目树中看到该资源已经导入了工程
fengm 发表于 2023-10-8 18:47 | 显示全部楼层
添加DSP库需要你在Keil软件中导入DSP资源
eefas 发表于 2023-10-8 19:09 | 显示全部楼层
可以查看 STM32 数据手册的相关章节,以确认你的微控制器是否支持 DSP。
yeates333 发表于 2023-10-8 20:32 | 显示全部楼层
如果使用的是STM32CubeMX生成的工程,DSP库文件就在工程目录中,位于“\Drivers\CMSIS\Lib\ARM”文件夹下。根据硬件平台的要求,选择适当的库文件。例如,对于STM32F407系列,使用的是小端格式且带有FPU,因此可以选择“arm_cortexM4lf_math.lib”文件。将所选的库文件添加到工程中,可以将其复制到“Drivers/CMSIS”文件夹下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

104

主题

1260

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部