Flash Timeout. Reset the Target and try it again.的解决方向思考
·
环境
Keil ARM编程环境
ST Link调试器SWD接线
主控STM32F051C8T6
我的实际解决
在keil中依次点击
魔术棒
debug
ST-Link Debugger右侧的Settings
debug
得到下图。MAX频率设置为较低值,比如480kHz。点击确定后,正常下载和调试即可。

思考
参考《STM32 - F1 中文参考手册.pdf》的29.4.3小节,发现自己的板子SWD下载口没有加入上下拉电阻的电路设计。SWD硬件接口没有上下拉电阻,再加上ST Link访问信号频率过高,导致ST Link通信信道受干扰较大,从而下载或仿真失败。
因此,官方的推荐电路还是要多多考虑一下的,不要因为板子面积、成本而轻易忽略必要的电路设计。

总结
根据自身经历以及搜索到的资料,排查方向有下列几个
1、ST Link调试器的SWD信号受干扰
1.1、板子SWD下载口到ST Link插入电脑USB端的导线距离是否为10cm左右。如果导
线太长或中间有多条导线对接,那么可能无法正常下载和调试
1.2、板子SWD下载口SWDIO和SWCLK没有上下拉
2、与芯片参数或设置有关(详情点我)
2.1、芯片开启了读写保护
2.2、代码大小大于作用芯片flash的存储容量
end
更多推荐
所有评论(0)