You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:使用VS Code ESP-IDF扩展调试ESP32-C3内置JTAG失败

解决Xiao ESP32-C3内置USB-JTAG调试时OpenOCD无法识别设备的问题

针对你遇到的OpenOCD启动调试时提示LIBUSB_ERROR_NOT_FOUND、无法找到JTAG设备的问题,结合你的排查情况,提供以下针对性解决方案:

1. 修正OpenOCD的设备VID/PID配置

Xiao ESP32-C3的默认USB VID/PID可能和OpenOCD预设的0x303a 0x1001不匹配,需要手动指定:

  • 找到OpenOCD的ESP32-C3配置文件,路径为:C:\Users\XXX\.espressif\tools\openocd-esp32\v0.12.0-esp32-20241016\openocd-esp32\share\openocd\scripts\target\esp32c3.cfg
  • 打开文件,找到adapter driver esp_usb_jtag这一行,在下方添加Xiao设备的VID/PID(可从设备管理器的设备属性中查看):
    esp_usb_jtag vid_pid 0x2886 0x802F
    
  • 保存文件后重启VS Code的调试会话

2. 彻底重置USB驱动绑定

即使已经安装WINUSB,也可能存在驱动绑定错误:

  • 打开设备管理器,找到"USB JTAG/serial debug unit (Interface 2)",右键选择卸载设备,勾选“删除此设备的驱动程序软件”
  • 拔下开发板,等待10秒后重新插入
  • 打开Zadig,选择对应的Interface 2接口,重新安装WINUSB驱动

3. 验证并启用JTAG eFuse

如果JTAG被eFuse禁用,也会导致无法识别:

  • 在VS Code的ESP-IDF终端执行命令,检查eFuse状态:
    esptool.py efuse summary
    
  • 查看输出中JTAG_DISABLE项,如果值为1,说明JTAG被禁用,执行以下命令启用(注意:eFuse烧录不可逆,确认后操作):
    esptool.py efuse burn_efuse JTAG_DISABLE 0
    

4. 降级OpenOCD版本

新版本OpenOCD可能对Xiao ESP32-C3存在兼容性问题:

  • 在VS Code中打开命令面板(Ctrl+Shift+P),输入ESP-IDF: Configure ESP-IDF Extension
  • 选择OpenOCD version,切换到v0.11.0-esp32-20221026版本
  • 等待安装完成后重启调试会话

问题核心说明

LIBUSB_ERROR_NOT_FOUND错误本质是OpenOCD通过libusb库无法找到匹配的USB设备,常见原因包括:设备VID/PID与配置不匹配、USB驱动未正确绑定到JTAG接口、系统USB权限冲突、OpenOCD版本兼容性问题,或是ESP32-C3的JTAG eFuse被禁用。

内容的提问来源于stack exchange,提问作者Michael Nigbor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 09:40:54