yunfu1117 发表于 2025-5-28 21:30

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

使用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 文件中强保留)。

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

页: [1]
查看完整版本: 在 release模式下生成的十六进制文件出现故障