[Solved?] Cannot connect to ESP32-C3 USB/JTAG outside of bootloader
Posted: Tue Jan 03, 2023 8:02 pm
Hello.
I'm having a problem that involves several specifics that make it hard to judge where on Earth I should ask for help. If you'll let me explain here, it will help to direct me where to take it from there.
Basically, I have a problem debugging the ESP32 c3 over the inbuilt USB/JTAG from within eclipse-cdt + ESP-IDF plugin.
Specifically, I can erase/flash/verify, as well as connect and run OpenOCD with all the single stepping goodness just fine . . . *IF* and *ONLY IF* I place my dev board into bootloader mode. (ground IO9 while booting) If I place the dev board into user program mode, I can't get OpenOCD to connect to the chip. I get "connection refused" if I try. This alone would not be a problem, except in my IDE the source trace for the debug session *CORRECTLY* follows along that we are in the bootloader code segment, and not the user code. In other words, sure I can single step... but only the bootloader code, and not my program. The solution is obvious, exit the boot loader.... but therein lies the exact problem... I can't get into debugging from the start if I'm not starting from the boot loader. Catch 22
... seems like it should be as simple as flash -> verify -> jump to user code... and there are setting to this effect under the "start" tab of launch configuration... but it's not working.
... where go? ... what do?
I'm having a problem that involves several specifics that make it hard to judge where on Earth I should ask for help. If you'll let me explain here, it will help to direct me where to take it from there.
Basically, I have a problem debugging the ESP32 c3 over the inbuilt USB/JTAG from within eclipse-cdt + ESP-IDF plugin.
Specifically, I can erase/flash/verify, as well as connect and run OpenOCD with all the single stepping goodness just fine . . . *IF* and *ONLY IF* I place my dev board into bootloader mode. (ground IO9 while booting) If I place the dev board into user program mode, I can't get OpenOCD to connect to the chip. I get "connection refused" if I try. This alone would not be a problem, except in my IDE the source trace for the debug session *CORRECTLY* follows along that we are in the bootloader code segment, and not the user code. In other words, sure I can single step... but only the bootloader code, and not my program. The solution is obvious, exit the boot loader.... but therein lies the exact problem... I can't get into debugging from the start if I'm not starting from the boot loader. Catch 22
... seems like it should be as simple as flash -> verify -> jump to user code... and there are setting to this effect under the "start" tab of launch configuration... but it's not working.
... where go? ... what do?