本帖最后由 xuande 于 2016-12-3 12:35 编辑
使用swd下载遇到好几次问题了,一直不在意,以为是小故障,网上此类问题一搜一大片,但为此也浪费了不少的时间。今天总结一下,防止以后再被类似问题耽误时间。
统计不充分,欢迎各位补充纠正。
Jlink/SWD故障解决方法汇总注:jink V8
、软件keil41、确认jink没有问题,下载其他芯片是否成功。
指示灯不亮,断开jink与板子连接还是不亮或常显红 {MOD},jink问题,重刷固件!
指示灯为绿 {MOD},下载其他芯片失败,显示no sw-dp found,可能原因MDK4.6对CM0+的内核支持不完善,在segger的官网下了个补丁,替换了一下。替换之前备份JL2CM3.dll文件,若不是该问题可替换回来。
http://www.segger.com/IDE_Integration_Keil.html#knownproblems(转自开源电子网-爱吃水煮鱼)
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不能将芯片复位)。
总结得不错。
帮你编辑了一下,内码都显示出来了。
一周热门 更多>