打印
[STM32L0]

在 release模式下生成的十六进制文件出现故障

[复制链接]
256|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yunfu1117|  楼主 | 2025-5-28 21:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用STMCube IDE开发STM32L073,当我用release模式生成十六进制文件,用programmer刷写代码时,出现故障,
而在release模式下直接从 IDE 刷写 MCU 时,即使在调试模式下生成的十六进制也能正常工作。
这是什么原因呢

使用特权

评论回复
沙发
烟雨蒙蒙520| | 2025-5-31 23:16 | 只看该作者
在 Release 模式中,启用了优化可能会将未引用的中断处理函数、初始化代码等裁剪掉。

使用特权

评论回复
板凳
烟雨蒙蒙520| | 2025-5-31 23:21 | 只看该作者
在 Release 模式下,手动确保所有中断函数都在 .isr_vector 中被引用(可以使用 __attribute__((used)) 或 KEEP() 指令在 .ld 文件中强保留)。

确保使用的是正确的中断名称和弱符号不会被优化掉。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

25

帖子

0

粉丝