在这里插入图片描述

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

  1. 重装stlink的驱动,检查Windows设备管理器(右键“此电脑”→ 管理 → 设备管理器 → 查看“通用串行总线设备”或“端口”)
  • 正常:出现 ST-Link DebugSTMicroelectronics ST-Link 设备。

  • 异常:出现未知设备 / 黄色感叹号 。此时需要重装stlink的驱动,可以在ST官网下载并安装官方驱动 STSW-LINK009,安装完成后,重新拔插,检查设备管理器是否正常识别

  • (特例)驱动被“数字签名”拦截
    Win10/Win11 如果开启了强制驱动签名,安装 STSW-LINK009 后仍会显示黄色感叹号。
    解决方法:重启电脑,按 F8(或按住 Shift 键重启进入“疑难解答”)→ 选择“禁用驱动程序强制签名”模式,重新安装驱动即可。

  1. 如果电脑上插了多个下载器(如J-Link、另一个ST-Link、串口模块等),拔掉其余调试器,只保留当前使用的ST-Link后再尝试。
  2. 打开 STM32CubeProgrammer,尝试连接。 若依然识别不到ST-Link设备,大概率是调试器硬件本身故障,建议更换ST-Link。

2) Cannot connect to target

  1. 确认目标板独立上电,不要只依靠 ST-Link 对外供电

在这里插入图片描述
优先使用电脑 USB 口或5V/1A 标准 USB 适配器。不要使用支持快充协议(QC/PD)的手机充电头,避免握手瞬间输出 9V/12V 高压烧坏板子 LDO。

  1. 核对接线:ST-Link SWDIO、SWCLK、GND 必须连接,GND 共地不可省略
  1. 魔术棒→ Debug → Settings:模式选择 SWD(不要 JTAG);SWD Clock 调低至 500KHz

在这里插入图片描述

在这里插入图片描述

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

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐