偶遇STM32 JTAG和SWD口(调试)被禁用无法下载,已经粗暴解决!
2016-12-26 14:37
891 查看
处女座,为了板子走线美观,拉线方便,在项目量产前,还更改了原来外设的IO口,埋头苦干一天,移植ok,发现PB3一直不听使唤,好,加班检查代码,检查初始化,时钟,IO对应,然后试PCB板,是否短路,断路等等等,试遍了,纹丝不动,拉不高也拉不低。。。这是为什么呢,百度一下,才发现,PB3是JTAG口之一,需要把IO重映射为普通IO口使用,于是看着大大神们的帖子,回答,代码中,加入了以下两句话:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //开启AFIO时钟
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);// 改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP)
没多看,就加入了初始化的行列,下载了进去,好使,好使,PB3听话了,可是呢,当我再次调试完代码准备下载进去板子的时候,发现,不能下载了!
回头仔细一看,是完全禁用JTAG+SWD啊,我可是SWD口进行调试下载的啊!!!这可怎么办。。。
于是又去互联网搜索一番,乱七八糟一大堆,我比较懒,不喜欢折腾那么复杂,找到一个简单粗暴的好办法,分享给大家:
短路复位电容,点下载,稍等几秒(这个靠感觉喽),断开短路的电容,OK!大功告成!
这是因为复位的时候,禁止JTAG的寄存器也是复位状态,所以JTAG就自动启动,未被禁止。
最红附上我最后使用的实际代码:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //开启AFIO时钟
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);// 改变指定管脚的映射 GPIO_Remap_SWJ_JTAGDisable ,JTAG-DP 禁用 + SW-DP 使能
以上内容均来源于互联网,还给互联网,只为大家某天碰到这个坑,可以早日出坑~
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //开启AFIO时钟
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);// 改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP)
没多看,就加入了初始化的行列,下载了进去,好使,好使,PB3听话了,可是呢,当我再次调试完代码准备下载进去板子的时候,发现,不能下载了!
回头仔细一看,是完全禁用JTAG+SWD啊,我可是SWD口进行调试下载的啊!!!这可怎么办。。。
于是又去互联网搜索一番,乱七八糟一大堆,我比较懒,不喜欢折腾那么复杂,找到一个简单粗暴的好办法,分享给大家:
短路复位电容,点下载,稍等几秒(这个靠感觉喽),断开短路的电容,OK!大功告成!
这是因为复位的时候,禁止JTAG的寄存器也是复位状态,所以JTAG就自动启动,未被禁止。
最红附上我最后使用的实际代码:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //开启AFIO时钟
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);// 改变指定管脚的映射 GPIO_Remap_SWJ_JTAGDisable ,JTAG-DP 禁用 + SW-DP 使能
以上内容均来源于互联网,还给互联网,只为大家某天碰到这个坑,可以早日出坑~
相关文章推荐
- STM32 JTAG/SWD禁用导致无法烧写
- stm32不小心把SWD和JTAG都给关了,程序下载不进去,解决办法
- STM32 禁用swd-jtag下载口后,重新下载程序的方法
- stm32之 GPIO_Remap_SWJ_Disable之后无法使用swd下载 程序解决方法
- stm32 SWD 下载 调试配置
- 使用Ulink2的JTAG与SWD 调试stm32 区别
- 解决烧录问题:Jlink的三线制SWD方式连接STM32芯片无法识别的解决方案
- [异常解决] JTAG 与STM32的SWD连接接线方式
- EPCS 无法配置FPGA的解决方法以及JTAG、AS调试总结
- STM32在程序中禁用JTAG功能后不能进行仿真的解决办法
- Android无法导入下载好的项目(和Eclipse中已经存在的项目命名一样导致冲突)解决办法
- stm32的两种固件下载模式:JTAG和SWD
- 图解STM32 JLink 采取JTAG 模式和 SWD模式下载时引脚说明
- Stm32 SWD 下载 调试配置
- Android无法导入下载好的项目(和Eclipse中已经存在的项目命名一样导致冲突)解决办法
- 解决调试asp.net程序时无法修改代码的问题(提示: 当调试器已经附加到已经运行的进程...)
- Android无法导入下载好的项目(和Eclipse中已经存在的项目命名一样导致冲突)解决办法
- EPCS 无法配置FPGA的解决方法以及JTAG、AS调试总结
- STM32 IAR无法调试下载bin文件到芯片
- STLINK和JLINK使用SWD四线调试下载STM32