解决STM32禁⽤SWD调试接⼝后不能下载程序的问题速度⼀定
要快
解决STM32禁⽤SWD调试接⼝后不能下载程序的问题
⼩刘同学啊 2020-11-09 22:39:06 1319 收藏 8
⽂章标签: stm32 keil mdk
connect下载版权
STM32的PA13(SWDIO)、PA14(SWCLK)这两个引脚为SWD调试接⼝,因为STM32默认把这两个接⼝当作了下载接⼝,所以如果程序中有⽤到这两个接⼝的任意⼀个(⽐如⽤来作为普通I/O⼝),STM32内部运⾏程序时,该接⼝就会被屏蔽掉,因此当我们接上SWD下载器下载程序,KEIL会提⽰⽆法连接到STM32。
解决⽅法:这其实⾮常简单,因为STM32在内部运⾏了程序,所以才导致下载接⼝被屏蔽了,那我只需要把程序停下来不就好了?是
的
如下图:
STM32运⾏时,NRST复位引脚需要接⾼电平,当该引脚接低电平时,STM32会进⼊复位状态,此时不会运⾏程序。
具体做法:
1、针对只有VCC、GND、SWCLK、SWDIO四线的下载器(⽆单独NRST引脚)
⽤镊⼦或者跳线把STM32的NRST引脚拉低,并⼀直使STM32处于复位状态,然后单击KEIL的DOWNLOAD按钮,因为这时候MCU⼀直处于复位,所以当我们DOWNLOAD下载代码时,⽴刻松⼿让MCU的NRST引脚拉⾼,这就可以成功下载了,如果松⼿太慢则会下载失
败
2、针对有单独NRST引脚的下载器(其实就是为了解决做法⼀需要⼿动拉低电平的问题)
在KEIL⼯具⾥打开魔术棒-DEBUG-Setting-Connect&Reset Options-下拉选中with Pre-reset选项(其实就是先拉低使MCU复位),然后点击确定就可以了。
把带有独⽴NRST引脚的下载器连接好,下载过程中⽰波器捕捉到的NRST引脚信号如下:
NRST引脚由⾼电平变为低电平,MCU进⼊复位状态,SWD相关接⼝能正常使⽤,持续10ms后正常拉⾼电平,下载器正常下载程序。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论