SWD调试在STM32中REMAP调试的深入探究

首先说一下问题的现象,如果有这种现象的同学可以看看博主的这篇博文
程序download一次后,第二次download就提示no target connect,除非长按reset键才能继续下载程序

首先上一组stm32TIM2的端口使用组合有下面四种:

1.当不重映射时,默认TIM2四个的IO口是PA0、PA1、PA2、PA3

开启重映射__HAL_AFIO_REMAP_TIM2_ENABLE()

2.要使用PA15、PB3、PA2、PA3的端口组合,要调用下面的语句进行部分重映射:

__HAL_AFIO_REMAP_TIM2_PARTIAL_1()

3.要使用PA0、PA1、PB10、PB11的端口组合,要调用下面的语句进行部分重映射:

__HAL_AFIO_REMAP_TIM2_PARTIAL_2()

4.要使用PA15、PB3、PB10、PB11的端口组合,要调用下面的语句进行完全重映射:

__HAL_AFIO_REMAP_TIM2_ENABLE()

同时还要禁用JTAG功能,PA15、PB3、PB10、PB11才会正常输出。

那么使用了重映射之后会导致一个问题,程序download一次后,第二次download就提示no target connect,除非长按reset键才能继续下载程序。

该问题讨论可在此问答中找到答案

从该帖子找到的精辟回答如下

The problem is that the STM32F1 series has one register AFIO_MAPR which contains thesettings for remapping various peripherals and for enabling/disabling the JTAG/SWD connectionto your debugger. And to makethis more complicated, the bits in that register which enable/disable theJTAG/SWD settings (bits 24-26

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值