[技术问答] SWD 引脚将被释放以用作普通 GPIO后,怎样再次使用SWD调试?

[复制链接]
 楼主| nongfuxu 发表于 2021-4-1 08:02 | 显示全部楼层 |阅读模式
大家好。一般情况下,上电后 PA13/PA14 引脚均被初始化为可被调试器使用的专用引脚。

请问,当设置 SYSCTRL1 .SWD_USE_IO 寄存器来禁止 SWD 引脚的调试功能,SWD 引脚将被释放以用作普通 GPIO。
此后,怎样再次使用SWD调试?
 楼主| nongfuxu 发表于 2021-4-1 08:33 | 显示全部楼层
SWD 调试编程端口复用为 I/O 功能
SWD 端口作为该系列 MCU 的调试和下载端口,用户可根据实际需求选择是否预留该端口作为调试或量产编程使用。如果不需要使用 SWD 端口作为调试编程,SWCLK 与 SWDIO 引脚可以复用为 I/O 引脚。复用 I/O 功能参考流程如下:

GPIO 模块时钟控制功能打开:PERI_CLKEN.GPIO 置为 1
系统控制寄存器的 SWD_USE_IO 时钟控制位(SYSCTRL1. SWD_UIO)使能
P27_SEL.SEL 与 P31_SEL.SEL 设置为 0
P2DIR.P27 与 P3DIR.P31 设置为输入或输出
注意:- 从上电到 SWD 被复用配置为 I/O 端口生效为止,P27 和 P31 引脚的电平默认为高电平,因此在外围电路的设计中,应加以注意和规避。
- 当把 SWD 端口复用为 I/O 功能时,通过 SWD 的在线调试与下载功能就会失效。
- 在用户调试时,可以通过串口擦除或下载其他没有复用 SWD 的程序恢复 SWD 在线调试和下载功能,或者在应用程序中复用 SWD 端口之前添加几秒的延时。
ayb_ice 发表于 2021-4-1 11:47 | 显示全部楼层
启动后延迟一段时间再切换成GPIO,每次复位后还是SWD,方便下次更新程序
martinhu 发表于 2021-4-1 14:36 | 显示全部楼层
在复用SWD引脚为IO之前,加几秒延时,下次复位或者上电后,可以再次下载和debug
单片小菜 发表于 2021-4-1 16:08 | 显示全部楼层
需要在代码里面增加一些延时,就好用多了。
 楼主| nongfuxu 发表于 2021-4-2 19:51 | 显示全部楼层
ayb_ice 发表于 2021-4-1 11:47
启动后延迟一段时间再切换成GPIO,每次复位后还是SWD,方便下次更新程序

有没有可能实现以下操作:
1、在用作GPIO时,切换成GPIO。比方用于UART0。
2、完成UART0通信后,再切换回SWD。
ayb_ice 发表于 2021-4-6 08:33 | 显示全部楼层
nongfuxu 发表于 2021-4-2 19:51
有没有可能实现以下操作:
1、在用作GPIO时,切换成GPIO。比方用于UART0。
2、完成UART0通信后,再切换回 ...

可以的,
 楼主| nongfuxu 发表于 2021-4-6 13:13 | 显示全部楼层

真的假的,真的嘛?
ayb_ice 发表于 2021-4-6 13:29 | 显示全部楼层
nongfuxu 发表于 2021-4-6 13:13
真的假的,真的嘛?

这不很正常吗,就是几个寄存器切换而已
junzheng 发表于 2022-4-2 22:59 | 显示全部楼层

同样问题,学习了。MARK
junzheng 发表于 2022-4-2 22:59 | 显示全部楼层
nongfuxu 发表于 2021-4-2 19:51
有没有可能实现以下操作:
1、在用作GPIO时,切换成GPIO。比方用于UART0。
2、完成UART0通信后,再切换回 ...

同样问题,学习了。MARK
asmine 发表于 2022-4-18 14:17 | 显示全部楼层
没用过,倒是长见识了
martinhu 发表于 2022-4-18 15:48 | 显示全部楼层
nongfuxu 发表于 2021-4-2 19:51
有没有可能实现以下操作:
1、在用作GPIO时,切换成GPIO。比方用于UART0。
2、完成UART0通信后,再切换回 ...

就是几个寄存器操作切换而已
gouguoccc 发表于 2022-4-19 08:11 来自手机 | 显示全部楼层
上电或者复位
MAA256 发表于 2022-5-27 09:37 | 显示全部楼层
上电之后延时一段时间然后复用成IO口
carpsnow 发表于 2022-6-3 15:38 | 显示全部楼层
那仿真呢?是不是也不能在线调试了?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

417

主题

4295

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部