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

CLion+ESP32调试时OpenOCD报LIBUSB_ERROR_ACCESS权限错误

ESP32 JTAG调试问题解决方案(ESP-Prog + OpenOCD + CLion)

问题1:CLion调试时出现libusb_open() failed with LIBUSB_ERROR_ACCESS

解决步骤:

  • Windows系统:
    1. 打开设备管理器,找到ESP-Prog对应的USB设备,确认驱动提供商为WinUSB(若不是,重新用Zadig替换,务必选中正确的设备)。
    2. 以管理员身份启动CLion,普通用户权限可能无法访问USB设备。
  • Linux系统:
    1. 创建udev规则文件/etc/udev/rules.d/99-esp32.rules,写入:
      SUBSYSTEM=="usb", ATTR{idVendor}=="0403", ATTR{idProduct}=="6010", MODE="0666", GROUP="plugdev"
      
    2. 重新加载udev规则:
      sudo udevadm control --reload-rules && sudo udevadm trigger
      
    3. 将当前用户加入plugdev组:
      sudo usermod -aG plugdev $USER
      
    4. 注销并重新登录,使权限生效。

问题2:单独运行openocd -f board/esp32-wrover-kit-3.3v.cfg时CPU1检测失败、反复重置

解决步骤:

  • 修正硬件与接线:
    1. 确保ESP32的BOOT引脚保持高电平(正常启动状态),EN引脚(复位)与ESP-Prog的nRESET引脚可靠连接,所有接线均为3.3V电平。
    2. 检查ESP32供电稳定性,避免因供电不足导致反复重置。
  • 简化OpenOCD配置:
    放弃默认board配置文件,自定义custom_esp32.cfg:
    source [find interface/ftdi/esp32_devkitj_v1.cfg]
    source [find target/esp32.cfg]
    adapter speed 2000
    esp32 adapter_khz 2000
    # 禁用自动重置逻辑,避免反复重启
    esp32 no_reset
    
    运行命令:
    openocd -f custom_esp32.cfg
    
  • 关闭ESP32看门狗:
    在代码app_main开头添加看门狗关闭逻辑,避免超时重置干扰调试:
    #include "esp_system.h"
    #include "esp_task_wdt.h"
    
    void app_main(void) {
        // 关闭任务看门狗
        esp_task_wdt_init(30, false);
        esp_task_wdt_delete(NULL);
        // 关闭中断看门狗(可选)
        esp_int_wdt_disable();
        // 后续业务代码
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 15:43:33