STM32H745 M4核心代码VSCode编译异常,Eclipse运行正常求助
STM32H745 M4核心启动后进入Default_Handler死循环,VSCode编译版本失效但CubeIDE版本正常
日常用VSCode搭配cortex-debug做嵌入式开发,最近在开发STM32H745双核心项目时碰到了棘手问题:
- M7核心的代码可以正常运行,调试也没问题
- M4核心的代码启动后直接进入
Default_Handler的死循环汇编代码,调试全程卡在这里
已经做过的尝试和排查:
- 规避多核调试场景,单独调试M4核心,问题依旧存在
- 将相同代码用STM32CubeIDE编译后烧录,M4核心可以正常运行
- 用OpenOCD分别烧录VSCode生成的ELF和CubeIDE生成的ELF,前者M4启动失败,后者成功
- 试过使用STM32CubeIDE自带的GCC工具链,以及独立安装的GCC工具链编译VSCode项目,结果完全一致——M4核心还是会进入死循环
- 对比了CubeIDE和VSCode项目的GCC编译、链接参数,修改Makefile完全匹配CubeIDE的配置后,问题仍未解决
现在想请教各位:到底是什么原因会导致VSCode编译出的M4核心ELF无法正常启动,直接跳转到Default_Handler?有没有可行的解决方向?
内容的提问来源于stack exchange,提问作者jgauthier
相关产品推荐
相关产品推荐

