esp32c3: add support for GDB debugging #2143
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
You can now debug the ESP32-C3 from the TinyGo command line, like this:
It's important to flash before running
tinygo gdb
, because loading anew firmware from GDB has not yet been implemented.
Probably the easiest way to connect to the ESP32-C3 is by using the
built-in JTAG connection. See:
https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-guides/jtag-debugging/configure-builtin-jtag.html
You will need to make sure that the
openocd
command in your $PATH isthe one from Espressif. Otherwise GDB will hang. You can debug this by
supplying the -ocd-output flag:
Make sure to configure OpenOCD correctly, until you get the correct
version (that includes the string "esp32"):
If you are on Linux, you may also get the following error:
The error LIBUSB_ERROR_ACCESS means that there is a permission error.
You can fix this by creating the following file:
For more details, see:
https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-guides/jtag-debugging/index.html