兩種調試接口對比
| 特性 | JTAG (Joint Test Action Group) | SWD (Serial Wire Debug) |
| 信號線數 | 4 線(TCK, TMS, TDI, TDO)+ GND + VCC | 2 線(SWDIO, SWCLK)+ GND + VCC |
| 佔用 GPIO | 5 個(含 nTRST) | 2 個 |
| 最大時鐘 | 通常 ≤ 30 MHz | 可達 50~100 MHz |
| 多核調試 | 支援菊鏈掃描 | 需獨立 SWD 端口 |
| 封裝適用性 | 大腳位封裝 (LQFP100+) | 所有封裝,含 WLCSP、UFQFPN |
常見坑點與解決
現象:提示 "No SW-DP found"
原因:MDK (Keil) 版本過舊,不支援該芯片的 SWD 協議實現。
實測案例:
- MDK 4.11 → 提示 "No SW-DP found"
- 升級至 MDK 4.70a / 5.x → 正常識別
建議:始終使用最新 MDK 或 STM32CubeIDE,並更新 ST-Link 固件至最新版。
選型建議
- 新專案首選 SWD:節省 PCB 佈線空間,適合高密度佈局。
- 需邊界掃描、多核菊鏈:保留 JTAG。
- 量產燒錄:SWD 速度更快,配合 ST-Link/V2-ISOL 或 J-Link 效率最高。
快速驗證步驟
- 連接 SWDIO/SWCLK/GND/VCC(必要時加 100Ω 串聯電阻保護)。
- Keil → Options for Target → Debug → Use: ST-Link Debugger → Settings → Port: SW。
- 點擊 "Debug" 圖標,觀察 "Cortex-M3" / "Cortex-M4" 識別信息。