之前都是使用ST-link进行STM32的程序下载,最近手里有一个jlink。所以想用jlink试一试。
我使用的是SWD接法,VCC,GND,SWCLK,SWDIO。因为没有标准JLINK接口,就使用四根杜邦线连接,
JLINK接口如下:我接了2,4,7,9口
可是下载程序时却出现了如下错误:
我查看了STM32的DEBUG设置页面,发现找不到SW设备,如下图
查询了几种解决方法,大致有3种。
第一,接线错误。怀疑是SWDIO和SWCLK接反了。经过检查发现接线正确,排除这个错误。
第二,SEGGER固件版本过低,我下载了最新版的固件升级后,仍然出现这个问题,排除这个错误。
第三,JLINK的VCC没有电压,需要外部供电,外部供电后,问题未解决,排除这个错误。
重新换回ST-link后,可以正常下载。一度令我怀疑是JLINK出了问题,但是经过实验JLINK完好。直到偶然间看到了这张图片
我将VCC从2口换到了1口,结果SW设备就能检测到了
然后我下载。。。。。。。。。。它就能正常下载了!!!
到此,问题就很明确了。是JLINK接口1和JLINK接口2的问题,经查阅资料,发现了接口1和接口2的区别:
1脚:通常连接到目标板的vdd,用来检测目标系统是否供电;
2脚:原版的JLink这个引脚没有使用,不提供Vsupply输出,而很多改造版的JLink通过跳线选择从该引脚输出3.3V的电压给外边。
我的应该就是原版的,接口2没用。
下面附上JLINK引脚功能描述
好了,问题解决。继续加油!!!
版权声明:本文为CSDN博主「进击的小刘!」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_50536577/article/details/118408206
暂无评论