STM32使用Jlink下载出现NO cortex-M SW device Found解决

之前都是使用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引脚功能描述
在这里插入图片描述
好了,问题解决。继续加油!!!

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐