stlink问题全解:从硬件接线到 Keil 报错
·
1. stlink的接线
接线要注意,因为它不是按照顺序接的,有时候一点小疏忽会导致浪费很长时间来排查,所以一定要仔细仔细再仔细
| STLINK | 最小系统板 |
|---|---|
| 3.3V 或 VCC | 3.3V / 3.3 / 3V3 / VCC |
| SWCLK / CLK | SWCLK / DCLK |
| SWDIO / DIO | SWDIO / DIO / SWIO |
| GND | GND / G |
注意:有些还提供 5V,但千万不要把 5V 直接接到板子的 3.3V 上,会烧板子。
2. stlink的排针设计
STLINK(尤其是一些市售精简版)有两排排针,而且两排的定义并不相同,很多新手都会在这里踩坑,包括我,当时排查错误浪费了很长时间,发现原来是杜邦线插错排了,你只需要记住一句话:
杜邦线必须插在远离USB口缺口的那一排针脚上!
3. keil里的常见报错
1)No ST-Link detected
- 重装stlink的驱动,检查Windows设备管理器(右键“此电脑”→ 管理 → 设备管理器 → 查看“通用串行总线设备”或“端口”)
-
正常:出现
ST-Link Debug或STMicroelectronics ST-Link设备。 -
异常:出现未知设备 / 黄色感叹号 。此时需要重装stlink的驱动,可以在ST官网下载并安装官方驱动
STSW-LINK009,安装完成后,重新拔插,检查设备管理器是否正常识别 -
(特例)驱动被“数字签名”拦截
Win10/Win11 如果开启了强制驱动签名,安装 STSW-LINK009 后仍会显示黄色感叹号。
解决方法:重启电脑,按 F8(或按住 Shift 键重启进入“疑难解答”)→ 选择“禁用驱动程序强制签名”模式,重新安装驱动即可。
- 如果电脑上插了多个下载器(如J-Link、另一个ST-Link、串口模块等),拔掉其余调试器,只保留当前使用的ST-Link后再尝试。
- 打开
STM32CubeProgrammer,尝试连接。 若依然识别不到ST-Link设备,大概率是调试器硬件本身故障,建议更换ST-Link。
2) Cannot connect to target
- 确认目标板独立上电,不要只依靠 ST-Link 对外供电

优先使用电脑 USB 口或5V/1A 标准 USB 适配器。不要使用支持快充协议(QC/PD)的手机充电头,避免握手瞬间输出 9V/12V 高压烧坏板子 LDO。
- 核对接线:ST-Link SWDIO、SWCLK、GND 必须连接,GND 共地不可省略
- 魔术棒→ Debug → Settings:模式选择 SWD(不要 JTAG);SWD Clock 调低至 500KHz


希望这篇文章能帮你少走弯路,把更多精力放在代码逻辑上,而不是在接线排障上白白消耗时间。
如果你还遇到过其它问题,欢迎在评论区留言,我们一起查错!
更多推荐


所有评论(0)