STM32F407G板刷写固件报错‘Failed to parse flash type’解决咨询
解决建议
1. 升级st-flash工具版本
当前使用的st-flash版本较旧,可能存在对STM32F407 Flash类型的识别兼容性问题。执行以下命令编译安装最新版stlink工具:
git clone https://github.com/stlink-org/stlink.git cd stlink mkdir build && cd build cmake .. make sudo make install
安装完成后,运行st-flash --version确认版本已更新。
2. 修正刷写命令的目标文件
注意到你尝试的命令中误用了build/h7a3zi_test.bin,需指定正确的目标二进制文件,同时保留复位相关参数:
st-flash --connect-under-reset --reset write benchmark-kindi256342.bin 0x8000000
3. 排查硬件连接与引导模式
- 检查ST-Link的SWDIO、SWCLK、GND、VCC引脚连接是否牢固,无虚焊或松动;
- 给开发板单独供电,避免虚拟机USB供电不足导致的通信异常;
- 切换至BOOT0引导模式(BOOT0置高,BOOT1置低)后执行刷写,完成后恢复BOOT0为低电平重启开发板。
4. 验证二进制文件完整性
重新获取benchmark-kindi256342.bin文件,执行以下命令校验MD5值是否与错误输出中的一致:
md5sum benchmark-kindi256342.bin
若校验和不匹配,说明文件损坏,需重新生成或下载。
5. 调整虚拟机USB设置
在VMware虚拟机设置中,进入USB控制器选项:
- 取消勾选"启用USB兼容性";
- 尝试切换USB控制器版本(如从USB 3.0改为USB 2.0),避免USB通信不稳定导致的写入验证失败。
内容的提问来源于stack exchange,提问作者Yong Ryeol Choi
相关产品推荐
相关产品推荐

