线序对了,供电也没问题,调试器就是连不上。这种困境,几乎每个嵌入式开发者都经历过。

1、线序只是最浅的坑
很多人第一反应是线序接错。用万用表蜂鸣档逐一检测,确认SWDIO对SWDIO、SWCLK对SWCLK,结果还是不通。
因为线序正确,只是入门条件,不是充分条件。
2、真正的凶手往往是这几个
第一,GND没接好。SWD协议只有两根信号线,但没有GND,两块板的"零电位"可能差几百毫伏,信号直接判错。
第二,目标板没上电。调试器提示"No target detected",先别急着换线,拿万用表量一下VDD是否在正常范围内。
第三,NRST被拉低。复位引脚被外围电路拖住,芯片根本没跑起来,调试接口自然不响应。
第四,调试接口被软件禁用。之前烧录的代码把SWD引脚重映射成了GPIO,或者开启了读保护,线序再对也白搭。
第五,时钟频率太高。线缆超过15厘米还跑4MHz,信号畸变,直接通讯失败。降到500kHz甚至100kHz,往往立刻恢复。
3、正确的排查顺序
先量供电,再查GND,然后看复位电平,接着降速测试,最后检查芯片是否被锁。按这个顺序走,90%的问题能在十分钟内定位。
本文凡亿教育原创文章,转载请注明来源!

扫码关注






































