[STM32H7] H7 项目中无法使用 DSP 库

[复制链接]
20|10
WHALEE 发表于 2026-2-21 22:04 | 显示全部楼层 |阅读模式
用 STM32H747i-DISCO 和 CubeIDE进行开发。我最先察觉到 ARM DSP 库未加载的迹象是:编译器提示找不到 #include "arm_math.h" 文件 ,该文件并不在当前项目的任何文件夹中。我手动将这个文件复制到项目后,编译器现在能识别到它了。
但问题依然存在:ARM DSP 相关函数,如 arm_rfft_fast_f32仍然无法找到。我确认包含路径是正确的,在 IOC 配置界面的Pinout & Configuration 或 Software Packs 板块中,也未找到与 DSP 相关的配置项。
针对 CubeIDE v1.13.2 版本,如何正确添加 ARM DSP 库?

公羊子丹 发表于 2026-2-23 18:40 | 显示全部楼层
你这手动复制头文件肯定不行啊,CubeIDE里加DSP库得从软件包那边导入,我记得在Project Manager的Libraries里能勾选CMSIS DSP,直接手动拷文件只会缺源文件和库文件,函数肯定找不到。
周半梅 发表于 2026-2-23 18:45 | 显示全部楼层
兄弟你先检查下你的CubeMX版本和CubeIDE配套不?v1.13.2的IDE对标的CubeMX版本有要求,版本不匹配的话Software Packs里压根刷不出来DSP相关配置项,这坑我之前踩过。
帛灿灿 发表于 2026-2-23 18:46 | 显示全部楼层
我怀疑你建项目的时候就没选对芯片配置,STM32H747是带FPU的,建项目时得把浮点运算和CMSIS的DSP库选项勾上,后期补配就容易出各种找不到函数的问题。
童雨竹 发表于 2026-2-23 18:47 | 显示全部楼层
教你个实操方法,在CubeIDE里右键项目选Properties,然后到C/C++ Build里的Settings,在MCU Settings里看看是不是开启了DSP扩展,没开的话先把这个勾上再配库。
万图 发表于 2026-2-23 18:48 | 显示全部楼层
你光加了arm_math.h头文件有啥用,DSP库的源文件或者静态库文件都没加进项目,编译器肯定找不到函数实现,去STM32CubeRepository里把CMSIS-DSP的库文件导入进来才管用。
Wordsworth 发表于 2026-2-23 18:49 | 显示全部楼层
这问题挺常见的,CubeIDE v1.13.2里Software Packs有时候会加载不全,你可以试试点一下Pack Installer,然后搜索CMSIS-DSP,把对应的库包安装好再重启IDE,配置项就出来了。
Bblythe 发表于 2026-2-23 18:50 | 显示全部楼层
想问下你项目是基于CubeMX生成的还是手动建的?如果是手动建的项目,没有CubeMX的配置文件,IOC界面里肯定找不到DSP配置,得先把CubeMX的工程文件关联上才行。
Pulitzer 发表于 2026-2-23 18:51 | 显示全部楼层
我建议你直接重新用CubeMX生成一遍项目,生成的时候在Middleware里找CMSIS,把DSP Library的选项勾选上,生成的工程会自动带DSP库,比你手动加文件省心多了。
Uriah 发表于 2026-2-23 18:52 | 显示全部楼层
你检查下包含路径是不是只加了头文件路径,没加库文件的链接路径?在Linker的Settings里得把DSP库的lib文件路径加上,还要把库名填进去,不然编译器能找到声明找不到实现。
Clyde011 发表于 2026-2-23 18:53 | 显示全部楼层
别光在IOC界面里找,CubeIDE里还有个快速配置的地方,点菜单栏的STM32Cube,然后选Update Project,在弹出的窗口里勾选DSP相关的库,更新后项目就会自动添加DSP库的依赖了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

104

主题

105

帖子

0

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