[技术问答] 新塘的SWD接口如何关闭, 如何再次开启?

[复制链接]
575|84
beacherblack 发表于 2026-1-17 16:59 | 显示全部楼层
千万不要在代码初始化时就自动关闭 SWD 或锁定芯片。
adolphcocker 发表于 2026-1-18 20:45 | 显示全部楼层
关闭后,调试器将无法连接芯片,无法读取 Flash 内容,也无法下载新程序。
robertesth 发表于 2026-1-18 22:38 | 显示全部楼层
如果程序一启动就关闭了 SWD,导致仿真器无法连接
xixi2017 发表于 2026-1-19 11:52 | 显示全部楼层
通过配置字(Config)、调试控制寄存器或引脚复用,结合 ICP/ISP 工具与复位时序操作实现
鹿鼎计 发表于 2026-1-20 07:27 | 显示全部楼层
要保护单片机程序不被随意修改,可以通过设置选项字节或烧录保护位,再配合ISP进行全片擦除恢复操作。
averyleigh 发表于 2026-1-21 10:54 | 显示全部楼层
禁用 SWD 前建议备份固件,防止因误操作导致不可逆锁死
sdlls 发表于 2026-1-21 11:27 | 显示全部楼层
若SWD接口因引脚被配置为GPIO而禁用,需将引脚恢复为SWD功能。
youtome 发表于 2026-1-21 11:59 | 显示全部楼层
在程序初始化前保留一段延时,或者使用 Bootloader 引脚 强制进入 ISP 模式进行擦除。
elsaflower 发表于 2026-1-21 12:10 | 显示全部楼层
重新配置调试控制寄存器              
sdlls 发表于 2026-1-21 12:20 | 显示全部楼层
调试端口的锁定通常与Flash内容绑定在一起。
ingramward 发表于 2026-1-21 13:21 | 显示全部楼层
关闭SWD的本质,就是通过配置特定的寄存器,将这个调试端口 锁死。
xiaoyaodz 发表于 2026-1-21 14:04 | 显示全部楼层
进入 UART ISP 模式 → 全片擦除
robincotton 发表于 2026-1-21 14:44 | 显示全部楼层
建议通过检测外部跳线帽或按键,在特定条件下才执行关闭操作,以防把自己“锁死”。
jonas222 发表于 2026-1-21 15:15 | 显示全部楼层
烧录此固件前,需确保最终固件已调试完成,关闭后无法通过 SWD 读取 / 改写 Flash
everyrobin 发表于 2026-1-21 15:38 | 显示全部楼层
唯一解锁方式是执行 “Mass Erase”
timfordlare 发表于 2026-1-21 16:27 | 显示全部楼层
SWD 接口物理上仍存在,但协议级拒绝任何调试请求。
jtracy3 发表于 2026-1-21 16:36 | 显示全部楼层
在代码中通过寄存器配置禁用SWD接口。
plsbackup 发表于 2026-1-21 16:55 | 显示全部楼层
代码里把 SWD 引脚配置成了 GPIO
chenci2013 发表于 2026-1-21 17:35 | 显示全部楼层
调试端口的“熔断”与“破译”              
huangcunxiake 发表于 2026-1-21 20:37 | 显示全部楼层
SWD 关闭分两种场景:临时禁用(仅引脚复用) 和永久禁用(配置字 + 调试保护),按需选择。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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