使用J-Link通过SWD给STM32烧录失败的解决方法
的有关信息介绍如下:介于近几天使用J-Link通过SWD给STM32F103C8T6烧录程序遇到的问题及解决方法的总结分享一下给大家,希望能帮到各位。
近几天做了个PCB板子,MCU是STM32F103C8T6,第一次使用SWD烧录方式,因为空间限制所有只用了三个接口:SWDIO、SWCLK、GND,网上查得也说可以,接法如图1红色框标志出来的一致,GND无特定要求,但是后来不知为什么我烧写都是不成功。下面列举我出现的一些状况,及一些解决办法希望可以帮到各位。
首先遇到的问题如图
该问题是点击connect时弹出的,此时说明目标板没有上电,所有需检查下目标板是否已经通上电了
很多人会遇到如图问题,即RAM check fail @address 0x20000000
Write: 0x03020100 07060504
Read: 0x000000000 00000000
出现这种情况的原因有好几种:
1、SWDIO和SWCLK两个引脚是否调换了
2、有可能是J-Flash ARM版本的问题
3、硬件线路接触不良
如果排除了上面的情况,可以试试以下几种方法
将STM32复位引脚RST脚跟J-Link引脚接上,我遇上这个情况时发现一对要接上该引脚,网上有人说跟J-Link的版本有关,不知道是不是。
如果接上了复位引脚还是不行,那可以试试下面的方法
在接上复位引脚还是不行后,需要向J-Link的1号端口提供一个3.3V的电压,如图红色框标志的地方,因为有人说这个其实是一个电压输入口不是输出口来的。我的就是经历了以上情况还是不行后,再给该端口加上个3.3V的电压后就可以成功烧录。
希望以上的方法可以帮到大家解决难题。