入手了一個esp-prog想嘗試調試一下
發現步入了官方都沒發現的坑
1.因為裝的是官方的esp-idf離線版,里面驅動都已經下載好了。打開設備管理器,連esp-prog可以看見2個com。官方說是正常現象。
然后在esp-idf中輸入自己工程的位置,配置工程都是順風順水的。
但是實際照着官方后面調試簡介中的運行openocd,就開始遇見問題了
openocd -f board/esp32-wrover-kit-3.3v.cfg
輸入后,esp-prog識別不到,官方也沒給個解釋
E:\project\uart_async_rxtxtasks>openocd -f board/esp32-wrover-kit-3.3v.cfg Open On-Chip Debugger v0.10.0-esp32-20210401 (2021-04-01-15:46) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html
Info : Listening on port 6666 for tcl connections Info : Listening on port 4444 for telnet connections Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED Error: libusb_open() failed with LIBUSB_ERROR_NOT_FOUND Error: no device found Error: unable to open ftdi device with vid 0403, pid 6010, description '*', serial '*' at bus location '*' Error: no device found Error: unable to open ftdi device with vid 0403, pid 6014, description '*', serial '*' at bus location '*' Assertion failed! Program: E:\ESP-TOOL\.espressif\tools\openocd-esp32\v0.10.0-esp32-20210401\openocd-esp32\bin\openocd.exe File: ../src/jtag/core.c, Line 343 Expression: jtag_trst == 0
后面百度發現,是驅動問題,需要下載Zadig工具,步驟可以參考大佬的博客,安裝完之后,驅動正常,
重來一遍出現了這個,上面找不到另一個usb端口(懷疑是串口的),我都不知道成沒成功。
E:\project\uart_async_rxtxtasks>openocd -f board/esp32-wrover-kit-3.3v.cfg Open On-Chip Debugger v0.10.0-esp32-20210401 (2021-04-01-15:46) Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html
Info : Listening on port 6666 for tcl connections Info : Listening on port 4444 for telnet connections Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED Info : ftdi: if you experience problems at higher adapter clocks, try the command "ftdi_tdo_sample_edge falling" Info : clock speed 20000 kHz Info : JTAG tap: esp32.cpu0 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1) Info : JTAG tap: esp32.cpu1 tap/device found: 0x120034e5 (mfg: 0x272 (Tensilica), part: 0x2003, ver: 0x1) Info : esp32.cpu0: Target halted, PC=0x400D5295, debug_reason=00000001 Info : esp32.cpu1: Target halted, PC=0x400E4036, debug_reason=00000000 Info : Listening on port 3333 for gdb connections
最后百度查到樂鑫官方論壇中,技術人員說這是已經能和esp-prog的板子溝通正常了,可以去嘗試debug。我當時很無語,因為我溝通正常也沒能debug。
然后查找問題可能出在eclipse上,我用的是eclipse2021-06版的,里面有專門的espressif 關於gdb openocd 的配置。
打開debug configurations
雙擊esp-idf gdb openocd debugging
點擊disable
根據自己的板子型號選擇開發板
這時它會出錯,
1~2行,說明openocd是運行正常的
3~7行,是錯誤報告。說明錯誤出現在它找不到boards/esp32-wrover-kit-3.3v.cfg
1 Open On-Chip Debugger v0.10.0-esp32-20210401 (2021-04-01-15:46) 2 Licensed under GNU GPL v2 3 For bug reports, read 4 http://openocd.org/doc/doxygen/bugs.html
5 embedded:startup.tcl:26: Error: Can't find boards/esp32-wrover-kit-3.3v.cfg
6 in procedure 'script'
7 at file "embedded:startup.tcl", line 26
可是我之前在esp-idf 4.3 cmd 執行過這個指令:
openocd -f board/esp32-wrover-kit-3.3v.cfg

技術人員說沒問題,那就一定沒有問題。
翻看它說找不到文件的地方:
E:\ESP-TOOL\.espressif\tools\openocd-esp32\v0.10.0-esp32-20210401\openocd-esp32\share\openocd\scripts\board,找到了文件
好的,破案了。
重新回到debug configurations的這個頁面,把boards改成board就好
隨后,日志正常輸出!!!(看紅色的那邊)
折騰了8小時,就只為調試。。。道路且長且珍惜