较多电路板在设计时,为了节省空间,会采用SWD方式下载程序,并在硬件设计上只将SWCLK、SWDIO及GND与J-Link对接,此时就有可能会出现无法正常下载代码的现象
无法下载前提
J-Link版本为 HW:V8.00 dll:V6.20c(或更早版本)
J-Link与芯片连接方式为仅SWCLK、SWDIO及GND对接
无法下载的原因
J_LINK下载代码时,其会根据J_LINK Pin1上的电压值来确定数据及时钟线上输出的电平信号的高低,老版本(本案中V8)的J_LINK,其内部Pin1和Pin2未被短接;
J-Link与芯片连接方式为SWCLK、SWDIO及GND对接,未将芯片的参考电压接到J-Link的Pin1脚,故此时J-Link的Pin1脚上无电压输入,因此会出现因J_LINK没有检测到芯片的参考电压而造成无法正常下载代码的问题
解决方法
1)如果硬件电路板支持改动,可将芯片的VDD接到J_LINK的Pin1上
2)如果硬件电路板不支持改动,也可以将J_LINK的Pin1和Pin2短接
特别说明
1)此无法下载代码的问题在所有MCU上均可能出现,均会提示无法找到芯片内核
2)新版本(例如V8.3)J-link内部已将Pin1和Pin2短接,因此不会出现前述问题
3)建议J_LINK 同目标板连接请接入RST信号,即连接:VDD,VSS,GND,SWDIO,SWCLK,RST信号