hanzhen654 发表于 2021-1-13 20:24

HC32 L136K SWD 端口复用为 GPIO 功能

SWD 一般用于 MCU 的调试,用户使用 Keil MDK 或 IAR 等开发工具时,可使用该调试接口
进行开发调试。本系列的芯片在上电时被自动配置为 SWD 调试端口,端口配置为上拉输
入。

hanzhen654 发表于 2021-1-13 20:24

在某些对 IO 资源比较敏感的应用场合,往往希望能够最大限度利用可用的 IO 资源,并且在
实际的应用场景, SWD 是不被使用的,此时就可以将 SWD 的 SWDCLK 和 SWDIO 两个端
口复用为 GPIO 功能。

hanzhen654 发表于 2021-1-13 20:25

SWCLK(PA14) 与 SWDIO(PA13) 引脚可以复用为 GPIO。
SWD 复用 GPIO 功能流程如下:
1. 向系统控制寄存器 SYSCTRL2 依次写入 0x5A5A、 0xA5A5, 使能寄存器改写;
2. 向系统控制寄存器 SYSCTRL1.SWD_USE_IO 写‘1’;
(此时 SWD 两个端口 PA13(SWDIO)与 PA14(SWDCLK)的 GPIO 功能生效)
3. 参考本系列 MCU 用户手册端口控制器章节中的操作模式,配置该两个端口的 GPIO 功
能。

hanzhen654 发表于 2021-1-13 20:25

SWD 复用 GPIO 使用注意事项
当 SWD 端口复用为 GPIO 功能生效后,通过 SWD 的在线调试与下载功能就会失效。

hanzhen654 发表于 2021-1-13 20:26

通过离线串口、 ISP 下载其他没有复用 SWD 为 GPIO 的应用程序或擦除用户区程序, 恢
复 SWD 在线调试和下载功能;

hanzhen654 发表于 2021-1-13 20:26

在开发调试阶段,在该功能生效前增加 2 秒以上的延时

hanzhen654 发表于 2021-1-13 20:27

在开发调试阶段,在该功能生效前增加外部控制信号,以控制该功能是否生效(如:当
检测到某个信号为高电平时该功能生效、 或通过中断服务程序取消该复用功能……)

hanzhen654 发表于 2021-1-13 20:27

通过自己开发的 IAP 进行用户程序更新

zhamatu 发表于 2021-1-14 16:37

在某些对 IO 资源比较敏感的应用场合,往往希望能够最大限度利用可用的 IO 资源,并且在实际的应用场景, SWD 是不被使用的,此时就可以将 SWD 的 SWDCLK 和 SWDIO 两个端口复用为 GPIO 功能。但只有调试的时候需要,实际留个串口下载就好了。
页: [1]
查看完整版本: HC32 L136K SWD 端口复用为 GPIO 功能