stm32不小心把SWD和JTAG都给关了,程序下载不进去,解决办法

原创 2017年03月03日 14:39:54

我们有时候会碰到各种问题导致STM32或者STM8的程序突然就下载不进去板子了。可以按照以下步骤来解决。

一、下载方法步骤:

  • 1、将板子供电全部断开,这里包括3.3V电源供电和JLINK等所有能给开发板供上电的设备全断开
  • 2、找到BOOT0引脚,将BOOT0拉高。
      方法:在板子上找一个高电平引脚,手动用导线将BOOT0连接到该引脚上即可。
      (注意:我的STM32板子供电是3.3V的,所以我找了一个3.3V的引脚,用导线连接到了BOOT0上,千万别弄错了,电平接高了不小心可是要烧坏板子的!)
  • 3、BOOT0拉高以后,保持这个姿势不要动,打开电源,重新给板子上电
  • 4、插上JLink或者STLink,下载程序。一般这次肯定可以下载进去了。下载完成以后,就可以断开BOOT0了,让他恢复低电平。

OK到这里就全部完成了,板子肯定也回复正常了,继续嗨吧。

二、上述方法原因解释

开发板默认JTAG和SWD接口都是打开的,BOOT0是低电平,当把BOOT0置高时,给板子上电,板子启动的时候程序会卡住,也就是内部flash的程序并未执行,这个时候SW和JTAD接口都是出于默认打开的状态。然后下载一个不关闭JTAG或者SW接口的程序,覆盖之前flash中的程序就好了。

所以先将板子供电全部断开(这里包括3.3V电源供电和JLINK等所有能给开发板供上电的设备全断开),再将开发板的BOOT0拉高,重新给开发板上电,把程序中关闭JTAG或者SW的程序删掉,然后下载到开发板中,程序下载完成就好了。

三、SWD和JTAG被关闭原因

正搞板子发现程序下载不进去了,到处查找原因,发现自己在程序中不小心把STM32的SWD和JTAD接口都给关了,如下就是关掉这两个接口的两句程序:

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//关掉JTAG,不关SW
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);//关掉SW

所以,当程序跑起来,两句执行完以后,两个接口都关了,然后程序就再也下载不进去了。~~~

想要恢复正常,我们需要做的事就是想办法打开这两个接口中的任意一个,也就是下载一套不关闭程序下载接口的代码到板子中。
所以,我们要么将程序中上述语句删掉第二句,只保留第一句,重新编译,也就是只关闭JTAG,打开SW,要么重新找一个不关闭JTAG或者SW接口的代码重新下载到板子中即可。

而下载方法如文首第一点步骤所示下载即可。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Ace_Shiyuan/article/details/60139865

stm32 JTAG和SWD的使用区别

转载:http://www.51hei.com/mcu/1955.html 对于JTAG和SWD的使用区别,觉得下面这篇文章讲的比较清晰了,所以转帖到这里,希望对新手有所帮助。  SWD...
  • wuhenyouyuyouyu
  • wuhenyouyuyouyu
  • 2017-04-19 13:40:19
  • 3456

【STM32】STM32之SWD

本文以JLINK为例,介绍如何硬件连接SWD、MDK中配置SWD
  • feilusia
  • feilusia
  • 2016-10-15 11:01:10
  • 1471

keil+stm32+jlink利用swd方式进行printf输出

出处:http://www.douban.com/note/248637026/ -----------------------------------------------------------...
  • shizhe0123
  • shizhe0123
  • 2015-03-10 18:29:06
  • 15976

stm32f10X实现SWD模式四线程序下载教程

  • 2015年12月29日 16:38
  • 699KB
  • 下载

STM32 入门教程 基于 MDK 的 SWD 两线串行仿真

(1) SWD 仿真模式概念简述 先所说 SWD 和传统的调试方式有什么不一样: 首先给大家介绍下经验之谈: (一): SWD 模式比 JTAG 在高速模式下面更加可靠. 在大数据量的情况下面 ...
  • andylauren
  • andylauren
  • 2016-08-19 15:47:24
  • 1320

STM32使用SWD连接报错总结

STM32使用SWD连接报错总结使用SWD通过J-Flash烧写STM32时,会出现各式各样的错误; 总结下原因: 1、复位脚被拉低了, 可以正常连接,但是烧写程序时会出现如下报错 –> ...
  • xuezhimeng2010
  • xuezhimeng2010
  • 2017-12-11 11:34:51
  • 465

stm32程序下载调试之swd

作者:stm_小强 企鹅:759040024 说明: 库文件版本:3.5.0
  • q759040024
  • q759040024
  • 2014-04-06 19:26:32
  • 1915

STM32的SWD下载模式

之前一直用的JTAG下载,最近使用了下SWD模式。SW模式使用了5个引脚,NRST :复位  SWCLK:串行线时钟  SWDIO:串行线调试数据输入/输出,另外的为 GND 和VCC   ...
  • jin13277480598
  • jin13277480598
  • 2015-03-23 14:12:33
  • 1092

Stm32 SWD 下载 调试配置

到一篇比较好的 关于stm32  SWD模式 下载 调试 配置文章 整理如下:       我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多...
  • bonson2004
  • bonson2004
  • 2017-04-05 12:59:54
  • 2478

STM32用JLINK下载<em>SWD</em>模式的程序

<em>Jtag和SWD</em>下载常见问题解决办法 立即下载 上传者: q405228062 时间: 2015-03-...<em>关闭</em> spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip...
  • 2018年04月17日 00:00
收藏助手
不良信息举报
您举报文章:stm32不小心把SWD和JTAG都给关了,程序下载不进去,解决办法
举报原因:
原因补充:

(最多只允许输入30个字)