环境

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

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐