找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1174

积分

0

好友

150

主题
发表于 昨天 00:58 | 查看: 1| 回复: 0

搞嵌入式开发,调试器是日常必备工具。有线连接虽然稳定,但也带来了桌面凌乱、移动不便等困扰,尤其面对大型或位置固定的设备时,往往需要搬着笔记本来回跑,实在麻烦。

因此,无线调试方案应运而生。今天就来分享一个开源的无线调试器项目:wireless-esp8266-dap。它让我们可以摆脱线缆束缚,实现更灵活的调试体验。

wireless-esp8266-dap 项目简介

wireless-esp8266-dap 是一个基于乐鑫 ESP8266 和 ESP32 系列芯片的开源无线调试器项目,旨在为这些芯片本身以及其他支持标准调试接口的 ARM Cortex-M 目标芯片提供便捷的无线调试解决方案。

项目地址:https://github.com/windowsair/wireless-esp8266-dap (MIT license)

主要特性

  1. 支持的 ESP 主控芯片
    • ESP8266/8285
    • ESP32
    • ESP32C3
    • ESP32S3
  2. 支持的调试接口
    • SWD
    • JTAG
  3. 支持的 USB 通信协议
    • USB-HID
    • WCID & WinUSB (默认)
  4. 支持的调试跟踪器
    • TCP 转发的串口
  5. 其他亮点
    • 通过 SPI 接口加速的 SWD 协议(最高可达 40MHz)
    • 支持 elaphureLink,可实现无需驱动的快速 Keil 调试
    • ...

项目核心在于,你仅需一枚 ESP 芯片即可开启无线调试。其背后结合了 USBIP 协议栈和 CMSIS-DAP 协议栈来实现功能。

性能参考:在 5 米范围内,擦除并烧写一个 100KB 大小的 Hex 固件,耗时约 4 分 24 秒。

Keil MDK 构建与烧写输出界面截图

对于 Keil MDK 用户,项目还支持 elaphureLink 协议。

elaphureLink 项目地址:https://github.com/windowsair/elaphureLink

这意味着你可以无需配置复杂的 usbip,就能更快速地开始无线调试。这类将硬件调试器功能软件化的开源实战思路,非常值得在云栈社区的开发者圈子中探讨。

如何连接:WIFI 配置与发现

固件默认的 WIFI SSID 是 DAP 或者 OTA,密码是 12345678

你可以在 wifi_configuration.h 文件中预配置多个无线接入点。此外,也可以在该文件中修改设备的 IP 地址(但更推荐的做法是在路由器中为设备绑定静态 IP)。

Windows 移动热点设置界面,显示热点已开启

固件内置了 mDNS 服务,因此你可以直接通过 dap.local 这个主机名来访问设备,无需记忆 IP 地址。

注意:ESP8266 的 mDNS 仅支持 IPv4。

终端 Ping 测试 dap.local 主机名结果

本地构建与固件烧写 (以 ESP8266 为例)

  1. 获取 ESP8266 SDK
    项目源码中已附带了适配好的 SDK,请勿使用其他版本。
  2. 编译与烧写
    项目使用 ESP-IDF 编译系统进行构建。详细构建指南可参考官方文档。

以下是在命令行中完成编译和烧写的示例:

# 编译项目
python ./idf.py build

# 烧写固件到指定串口(请将 /dev/ttyS5 替换为你的实际串口号)
python ./idf.py -p /dev/ttyS5 flash

使用方法:以 Windows 平台为例

  1. 获取 USBIP 工具

    • Windows: 使用 usbip-win 项目。
    • Linux: USBIP 工具已集成在内核中,但本文步骤基于 Windows 平台。
  2. 启动 ESP8266
    将已烧写好固件的 ESP8266 设备上电,并确保其与你的开发电脑连接到同一个 WIFI 网络。

  3. 通过 USBIP 连接 ESP8266
    打开命令行工具,执行以下命令之一进行连接:

# 方式一:HID模式,适用于 SourceForge 上的预编译版本或旧版 usbip-win
.\usbip.exe -D -a <your-esp8266-ip-address>  1-1

# 方式二(推荐):兼容 HID 或 WinUSB 模式,适用于 usbip-win 0.3.0 kmdf ude 版本
.\usbip.exe attach_ude -r <your-esp8266-ip-address> -b 1-1

如果一切顺利,你将在 Windows 设备管理器中看到新的设备被识别。

Windows 设备管理器中出现 ESP8266 CMSIS-DAP 设备

  1. 在 Keil MDK 中进行调试
    此时,在 Keil MDK 的调试器设置中,你应该能选择到 CMSIS-DAP 调试器,并对其进行配置。这标志着无线调试通道已经建立成功。

Keil MDK 中 CMSIS-DAP 调试器的配置界面

这样一来,你就成功搭建了一套无线调试环境。无论是对于固定的工控设备调试,还是需要频繁移动的开发场景,都能极大提升效率。如果你对嵌入式开发或更多开源项目感兴趣,欢迎到技术社区交流心得。




上一篇:FreeRTOS内核深度解析与智能家居项目实战 从零到一掌握RTOS核心与嵌入式开发实战
下一篇:嵌入式系统OTA固件升级指南:核心机制、设计考量与常见问题详解
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-7 08:58 , Processed in 0.377486 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表