STM32 JTAGSWD禁用导致无法烧写

STM32 JTAGSWD禁用导致无法烧写

由于 STM32 的引脚功能较多,在为了方便硬件的使用,常会使用复用,重映射的功能,这里 主要提及的是 SWD 和 JTAG 端口的引脚对应出现的问题。
GPIO引脚重映射时,当调用GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE)函数时,则改变指定管脚的映射,完全禁用(JTAG+SW-DP)。
不但关闭了JTAG还关闭了SWD,这样一来,如果你使用该方式来烧写程序,那么你下一次将面临这无法烧写程序的后果,下面就介绍解决问题的办法:

  1. 按着板子上面的复位键不放,若没有按键,就用夹子短路复位电容,这样单片机将停止程序的运行;
  2. 这时候点击Keil的下载,下方的“Build Output”窗口便会开始滚动,一会之后会提示出错。直接关闭它,放开复位键。
  3. 这时候单片机已经停止程序了,SWD那些端口已经恢复原有的调试端口功能,这时候你再一次按下载键便可以下载程序了,问题解决!!!

如果使用SWD进行调试,建议设置功能为JTAG-DP禁用 + SW-DP使能,应调用函数GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE)。

猜你喜欢

转载自blog.csdn.net/yuy1024/article/details/82768580