stm32不小心把SWD和JTAG都给关了,程序下载不进去,怎么办?
因为想用STM32F103的PA15引脚,调试程序的时候不小心把SWD和JTAD接口都给关了,先看下罪魁祸首
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);//关掉JTAG,不关SW
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);//关掉SW(罪为祸首)
其实想用PA15的话只用第一句就行,但是我多打了下面一句,导致后面的程序下不进去。
解决办法有两种:
一、通过boot解决
原理:
开板默认JTAG和SWD接口都是打开的,BOOT0是低电平,当把BOOT0置高时,给板子上电,板子启动的时候程序会卡住,也就是内部闪光的程序并未执行,这个时候SW和JTAD接口都是出于默认打开的状态。然后下载一个不关闭SW接口的程序,覆盖之前闪存中的程序就好了。
所以将开发板的BOOT0拉高,就可以解决;下载完成以后,就可以断开BOOT0了,让他恢复低电平,至此板子就可以恢复正常了。
二、用Keil解决
改好程序(一个不关闭SW接口的程序),然后进keil。按住复位键,debug界面,选择setting,在connect选项选择with pre-reset,然后点击下载,搞定。