无线 DAP-LINK:用 ESP32 无线调试 STM32
传统的 STM32 调试需要用线缆连接调试器和电脑。大多数时候这没什么问题,但在一些场景下,这根线缆会带来不少麻烦——比如调试无人机时每次都要降落接线,或者设备装在封闭机箱里需要拆开外壳才能调试。
这些场景的核心痛点就一个:调试器和电脑之间那根线缆。
无线 DAP-LINK 就是用来解决这个问题的。找一块手边的 ESP32,烧上我们的开源固件,它就变成了一个无线调试器。不需要额外购买硬件,不需要占用电脑的 USB 口,通过 Wi-Fi 就能完成程序下载和调试。
为什么需要无线调试?
- 移动设备调试:无人机、智能小车、机器人等移动平台,有线调试意味着每次都要把设备取回来接线。反复取回、接线、烧录的流程比较耗时。
- 电气隔离:电机驱动、大功率电源等场景,调试线缆可能传导电涌,通过 USB 地线影响电脑,存在损坏 USB 接口的风险。无线连接从物理上避免了这个问题。
- 距离和空间限制:设备装在高处、墙壁内或密封外壳中时,接线调试不太方便。
- 多设备并行调试:同时调试多个分布式节点时,每个节点都需要一根 USB 线连回电脑,线缆管理不太方便。无线连接让每个节点独立工作,通过 Wi-Fi 随时切换调试目标。
只要一块 ESP32,不占电脑接口
市面上也有一些无线调试方案,但大多数需要 两个 ESP32:一个插在电脑 USB 口上当接收端,另一个连在目标板上当发射端。这种方式虽然能实现无线调试,但本质上还是占用了电脑的一个 USB 口,而且你需要买两块板子。
我们的方案不一样:只需要一个 ESP32,连在目标板上就行。电脑端不需要任何额外硬件,通过软件中间件(elaphureLink),经由 Wi-Fi 路由器与 ESP32 通信。
这意味着:
- 你的电脑 不需要空闲的 USB 口——笔记本接口紧张的时候尤其有用
- 同一个 Wi-Fi 下的 任何电脑都可以连接调试,不绑定特定机器
- 硬件成本更低,一块十几块钱的 ESP32-C3 就够了
| 传统有线方案 | 其他无线方案 | 本方案 | |
|---|---|---|---|
| 所需硬件 | 调试器 + USB 线 | 2 个 ESP32 | 1 个 ESP32 |
| 占用电脑接口 | 1 个 USB | 1 个 USB | 0 个 |
| 电脑端 | USB 驱动 | USB 驱动 | 软件中间件 |
工作原理
整个数据链路是这样的:
Keil MDK → elaphureLink → Wi-Fi 路由器 → ESP32 → SWD → STM32ESP32 运行 CMSIS-DAP 兼容的固件,接收来自 Wi-Fi 的调试指令,通过 SWD 接口转发给目标 STM32。电脑端安装 elaphureLink 中间件来桥接网络连接。
本项目基于 github@windowsair 的开源项目 wireless-esp8266-dap 开发,在此基础上增加了 Wi-Fi 连接管理和在线配置等功能,感谢原作者的贡献。
支持的硬件
只需一块 ESP32 系列开发板:
- ESP32
- ESP32-C3
- ESP32-S3
接线非常简单,只需要 3 根信号线加 GND:
SWD 接线表:
| 功能 | ESP32-C3 | ESP32 | ESP32-S3 |
|---|---|---|---|
| nRESET | GPIO10 | GPIO26 | GPIO13 |
| SWCLK | GPIO6 | GPIO14 | GPIO12 |
| SWDIO | GPIO7 | GPIO13 | GPIO11 |
兼容的开发工具
目前支持通过 Keil MDK 无线调试 STM32。电脑端安装 elaphureLink 中间件后,在 Keil 中选择 elaphureLink 调试器即可使用。配置一次,后续体验和有线调试一致。
详细的配置步骤请参考 使用指南。
快速上手
步骤如下:
准备硬件:一块 ESP32、ESP32-C3 或 ESP32-S3 开发板。
烧录固件:打开我们的 在线烧录工具,用 Chrome 或 Edge 浏览器访问,USB 连接 ESP32,点几下就能完成烧录,不需要安装任何软件。
配置 Wi-Fi:烧录完成后,ESP32 会广播一个名为
无线DAP的热点(密码:12345678)。用手机或电脑连上这个热点,打开浏览器访问192.168.1.1,输入你的 Wi-Fi 名称和密码。ESP32 会自动连接到你的路由器。连接目标板:按照上面的接线表,将 ESP32 的 SWD 引脚连接到目标 STM32。只需要 SWCLK、SWDIO、GND 三根线,nRESET 可选。
开始调试:在 Keil 中选择 elaphureLink 调试器,就可以无线下载和调试了。
更详细的接线图、配置截图和常见问题,请参考 使用指南。
这是一个完全开源的 DIY 项目,源码和固件都可以自由获取。如果你在使用中遇到问题,欢迎查看源码或者提 issue。也可以加入我们的 QQ 群(642246000)交流。
如果你不想自己折腾接线和配置,想要一个开箱即用的方案,可以看看我们的 无线调试器。它在无线 DAP-LINK 的基础上做成了成品,还集成了网页版串口助手等更多功能。
