[技术问答]

SWD 引脚将被释放以用作普通 GPIO后,怎样再次使用SWD调试?

[复制链接]
2428|15
手机看帖
扫描二维码
随时随地手机跟帖
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 | 显示全部楼层
那仿真呢?是不是也不能在线调试了?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

411

主题

4274

帖子

2

粉丝