[STM32F4] 如何调试外部构建的可执行文件?

[复制链接]
685|12
HomeKit 发表于 2025-8-21 18:30 | 显示全部楼层 |阅读模式
本帖最后由 HomeKit 于 2025-8-20 23:22 编辑


我为STM32F429生成了一个ELF格式的可执行文件。这个可执行文件不是在STM32CubeIDE中创建的。但我想在STM32CubeIDE中调试它。如何在STM32CubeIDE中加载这个ELF文件并在目标板上调试该可执行文件?可以这样实现吗?

公羊子丹 发表于 2025-8-26 07:32 | 显示全部楼层
如果怀疑是系统包冲突,可以建个纯净的Debian容器跑CubeIDE测试。
周半梅 发表于 2025-8-26 07:32 | 显示全部楼层
可以的,你只要新建一个空工程,把芯片型号选对,然后在 Debug 配置里指定外部生成的 ELF 文件路径。
帛灿灿 发表于 2025-8-26 07:33 | 显示全部楼层
注意要保证编译时候带了调试信息,不然进 IDE 只能看汇编。
童雨竹 发表于 2025-8-26 07:34 | 显示全部楼层
如果你只是想烧录 ELF,也可以直接用 ST-LINK Utility 或者 CubeProgrammer。
万图 发表于 2025-8-26 07:35 | 显示全部楼层
要调试的话,工程里要有源文件路径,这样才能对上符号表,否则只能单步跟二进制。
Wordsworth 发表于 2025-8-26 07:37 | 显示全部楼层
建议在 Debug Configurations 里选 “Load Symbols” 和 “Load Executable”,分别填 ELF 路径。
Bblythe 发表于 2025-8-26 07:38 | 显示全部楼层
另外要确认编译选项和你 IDE 的工具链兼容,比如用 arm-none-eabi-gcc 编出来的。
Pulitzer 发表于 2025-8-26 07:39 | 显示全部楼层
CubeIDE 的调试器就是 GDB server,只要 ELF 有符号,它就能解析。
Uriah 发表于 2025-8-26 07:40 | 显示全部楼层
也可以只加载符号而不下载代码,这样可以调试已经烧录在板子里的程序。
Clyde011 发表于 2025-8-26 07:41 | 显示全部楼层
我之前在 F4 项目里就这样做过,效果和在 CubeIDE 里直接编译的没区别。
周半梅 发表于 2025-8-26 07:42 | 显示全部楼层
我试过,把 ELF 放到 Debug 目录下,修改 Debug 配置里的 C/C++ Application 指向那个 ELF 就能下板调试。
星辰大海不退缩 发表于 2025-8-28 23:05 | 显示全部楼层
在 Debug 配置里指定外部生成的 ELF 文件路径
您需要登录后才可以回帖 登录 | 注册

本版积分规则

57

主题

57

帖子

0

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