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

[复制链接]
 楼主| 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 文件中强保留)。

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

您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

44

帖子

0

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

42

主题

44

帖子

0

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