VSCode使用ESP-IDF烧录ESP32-C3时OpenOCD返回错误码1如何解决
故障排查与解决步骤
核心错误原因:OpenOCD调试工具无法识别到指定VID/PID的FTDI调试器,对应错误提示
OpenOCD Exit with non-zero error code 1,可按以下步骤依次排查:
1. 硬件连接排查
- 首先确认使用的烧录方案:当前日志显示OpenOCD默认搜索FTDI类型的JTAG调试器(如ESP-Prog),如果使用的是ESP32-C3开发板自带的USB串口烧录、未外接独立调试器,属于配置错误,直接跳转第三步调整烧录配置即可。
- 若确实使用FTDI调试器烧录:检查调试器与开发板的JTAG引脚(TCK、TMS、TDI、TDO、GND)是否一一对应接牢,确认开发板已正常上电。
- 更换USB数据线测试,避免使用仅支持供电的充电线,确保数据线支持数据传输。
2. 驱动程序排查
- Windows系统:打开设备管理器,查看通用串行总线控制器下是否有带感叹号的未识别FTDI设备,若存在则使用Zadig工具为对应VID/PID(日志中为0403:6010、0403:6014)的设备安装WinUSB驱动。
- Linux系统:需要添加udev规则放开USB调试器访问权限,执行命令
sudo usermod -aG dialout $USER将当前用户加入dialout用户组,重启系统后生效。 - macOS系统:打开系统报告的USB分类,确认FTDI设备已被正常识别,且未被其他进程占用。
3. 烧录配置修正
如果使用开发板自带USB串口烧录、无外接JTAG调试器,需修改ESP-IDF烧录配置:
- 打开VSCode的ESP-IDF插件设置,找到烧录方式选项,将默认的OpenOCD(JTAG)烧录修改为UART串口烧录。
- 选择开发板对应的正确串口号,串口波特率推荐设置为115200。
- 启动烧录时按住开发板上的BOOT按键不松开,直到烧录流程正式启动后再松开,强制开发板进入烧录模式。
4. 进阶验证
以上步骤排查后仍无法解决的,执行命令openocd -c "adapter driver ftdi; ftdi vid_pid 0x0403 0x6010"手动测试OpenOCD对调试器的识别能力,根据输出的错误信息进一步定位问题,同时确认ESP-IDF的目标芯片已正确设置为esp32c3,未选错其他ESP系列芯片。
内容的提问来源于stack exchange,提问作者Hailay
相关产品推荐
相关产品推荐

