本帖最后由 xuande 于 2016-12-3 12:35 编辑
使用swd下载遇到好几次问题了,一直不在意,以为是小故障,网上此类问题一搜一大片,但为此也浪费了不少的时间。今天总结一下,防止以后再被类似问题耽误时间。
统计不充分,欢迎各位补充纠正。
Jlink/SWD故障解决方法汇总 注:jink V8、软件keil4 1、确认jink没有问题,下载其他芯片是否成功。 指示灯不亮,断开jink与板子连接还是不亮或常显红色,jink问题,重刷固件! 2、检查芯片有没有虚焊/漏焊,可以用手按住芯片使其接触良好进行下载。 3、检查SWDIO和SWCLK有没有反接,检查下载线接触是否良好。 4、检查B0/B1都处于低电平状态。10K电阻下拉至地。 5、检查供电电压及各个电源引脚是否供电良好。 在此处遇到问题,现象:内核有时能检测到有时又检测不到,重复下载出现不同状态的报错。原因是模拟电源基准电源芯片焊接错误,模拟供电引脚电压为零。 6、将B0拉高->重启->下载->B0拉低。 下载进关闭SWD模式的程序时可使用此方法,也可用jink或串口下载没有禁止swd模式的程序。在此要提醒,在使用swd模式时最好使用五针,VCC、SWDIO、SWCLK、GND、REST,系统可将其复位,在其未关闭SWD模式时执行SWD下载(为验证,有验证的确认一下)。 7、Debug选项中->Reset选项Autodetect与Sysresetreq来回切换尝试。 8、选择Cortex-M/R JINK/J-Trace(两处:options for target ->debug中与options for target ->utilities)。 9、确认芯片型号以及flash大小。
10、options for target->target->code Generation选项中只勾选Use MicorLIB。
11、芯片挂了
补充内容 (2017-3-3 10:00):
12、jlink能读到内核,下载程序时在即将完成时弹出Error: Flash Download failed - Cortex-M3。 检查复位电路是否有问题(BOM单标注10K,焊接人员将其焊接成100R,电阻过小导致jlink不能将芯片复位)。 |