You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STM32F103CB读擦除后重写原Hex文件无法正常工作求助

问题排查方案:STM32F103CB 读回Hex重烧后无法运行

可能的原因及解决步骤

  • Hex文件读取不完整
    ST-Link Utility默认仅读取用户Flash区域,STM32F103的选项字节(Option Bytes)这类配置区域不会被包含在常规读取的Hex中。擦除MCU会清除选项字节,重烧时未恢复这些配置会直接导致设备异常。
    解决:通过ST-Link Utility的Target -> Option Bytes功能读取并记录擦除前的选项字节配置,擦除MCU后先写入正确的选项字节,再烧读回的Hex文件。

  • Flash读保护导致读取数据无效
    若MCU开启了读保护(RDP级别),ST-Link Utility读取的Hex是加密后的无效数据,重烧后自然无法正常运行。
    解决:检查擦除前的读保护状态,若确已开启,读回的Hex无实际作用,需使用原始固件备份烧写;若无备份,需联系设备厂商获取合法固件。

  • 烧写配置不匹配
    烧写时ST-Link Utility的参数设置可能与原MCU工作状态不匹配,比如Flash起始地址、时钟配置等。
    解决:烧写时确认Program & Verify窗口的Start Address为0x08000000(STM32F103的Flash起始地址),勾选Verify after programming确保烧写内容与Hex完全一致。

  • 硬件接触或工具故障
    擦除、烧写过程中可能出现ST-Link与MCU接触不良,导致部分Flash区域写入失败;或ST-Link工具本身存在临时故障。
    解决:重新插拔ST-Link与MCU的接线,确保连接牢固,再次执行擦除、烧写、验证流程;也可更换ST-Link工具重试。

  • Hex文件格式损坏
    读取过程中可能出现数据错误,导致Hex文件存在记录长度、校验和等格式问题。
    解决:用Hex编辑器(如HxD)打开读回的Hex,对比原始正常固件备份(若有)的关键区域内容;或使用objcopy工具将Hex转为bin文件,对比两者哈希值,确认读取文件的完整性。


内容的提问来源于stack exchange,提问作者JozefRaedo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 19:38:14