Merge branch 'feature/esp32c3_doc_usbserialjtag' into 'master'

docs: JTAG debugging updates for C3, S3

See merge request espressif/esp-idf!14981
This commit is contained in:
Marius Vikhammer
2021-09-02 01:31:14 +00:00
4 changed files with 25 additions and 8 deletions

View File

@@ -5,6 +5,19 @@ Configure Other JTAG Interface
Refer to section :ref:`jtag-debugging-selecting-jtag-adapter` for guidance what JTAG interface to select, so it is able to operate with OpenOCD and {IDF_TARGET_NAME}. Then follow three configuration steps below to get it working. Refer to section :ref:`jtag-debugging-selecting-jtag-adapter` for guidance what JTAG interface to select, so it is able to operate with OpenOCD and {IDF_TARGET_NAME}. Then follow three configuration steps below to get it working.
.. only:: SOC_USB_SERIAL_JTAG_SUPPORTED
Configure eFuses
^^^^^^^^^^^^^^^^
By default, {IDF_TARGET_NAME} JTAG interface is connected to the :doc:`built-in USB_SERIAL_JTAG peripheral <configure-builtin-jtag>`. To use an external JTAG adapter instead, you need to switch the JTAG interface to the GPIO pins. This can be done by burning eFuses using ``espefuse.py`` tool.
Burning eFuses is an irreversible operation, so consider both options below before starting the process.
- Burning ``DIS_USB_JTAG`` eFuse will permanently disable the connection between USB_SERIAL_JTAG and the JTAG port of the CPU. JTAG interface can then be connected to |jtag-gpio-list|. Note that USB CDC functionality of USB_SERIAL_JTAG will still be useable, i.e. flashing and monitoring over USB CDC will still work.
- Burning ``JTAG_SEL_ENABLE`` eFuse will enable selection of JTAG interface by a strapping pin, |jtag-sel-gpio|. If the strapping pin is low when {IDF_TARGET_NAME} is reset, JTAG interface will use |jtag-gpio-list|. If the strapping pin is high, USB_SERIAL_JTAG will be used as the JTAG interface.
Configure Hardware Configure Hardware
^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^

View File

@@ -125,6 +125,9 @@
* - MTMS / GPIO4 * - MTMS / GPIO4
- TMS - TMS
.. |jtag-sel-gpio| replace:: GPIO10
.. |jtag-gpio-list| replace:: GPIO4-GPIO7
--- ---
.. run-openocd-d3 .. run-openocd-d3

View File

@@ -111,15 +111,18 @@
* - ESP32-S3 Pin * - ESP32-S3 Pin
- JTAG Signal - JTAG Signal
* - MTDO * - MTDO / GPIO40
- TDO - TDO
* - MTDI * - MTDI / GPIO41
- TDI - TDI
* - MTCK * - MTCK / GPIO39
- TCK - TCK
* - MTMS * - MTMS / GPIO42
- TMS - TMS
.. |jtag-sel-gpio| replace:: GPIO3
.. |jtag-gpio-list| replace:: GPIO39-GPIO42
--- ---
.. run-openocd-d3 .. run-openocd-d3

View File

@@ -64,7 +64,7 @@ The key software and hardware components that perform debugging of {IDF_TARGET_N
Likewise, the "Application Loading and Monitoring" label indicates the key software and hardware components that allow an application to be compiled, built, and flashed to {IDF_TARGET_NAME}, as well as to provide means to monitor diagnostic messages from {IDF_TARGET_NAME}. Likewise, the "Application Loading and Monitoring" label indicates the key software and hardware components that allow an application to be compiled, built, and flashed to {IDF_TARGET_NAME}, as well as to provide means to monitor diagnostic messages from {IDF_TARGET_NAME}.
"Debugging With JTAG" and "Application Loading and Monitoring" is integrated under the `Eclipse <https://www.eclipse.org/>`_ IDE in order to provide a quick and easy transition between writing/compiling/loading/debugging code. The Eclipse IDE (and the integrated debugging software) is available for Windows, Linux and macOS platforms. "Debugging With JTAG" and "Application Loading and Monitoring" is integrated under the `Eclipse <https://www.eclipse.org/>`_ IDE in order to provide a quick and easy transition between writing/compiling/loading/debugging code. The Eclipse IDE (and the integrated debugging software) is available for Windows, Linux and macOS platforms. Depending on user preferences, both the debugger and ``idf.py build`` can also be used directly from terminal/command line, instead of Eclipse.
.. only:: not SOC_USB_SERIAL_JTAG_SUPPORTED .. only:: not SOC_USB_SERIAL_JTAG_SUPPORTED
@@ -78,9 +78,7 @@ Likewise, the "Application Loading and Monitoring" label indicates the key softw
.. note:: .. note::
Debugging through the USB interface implemented in {IDF_TARGET_NAME} requires to have a chip with revision 3 or newer. Please use other debugging options (e.g. with ESP-Prog) for chip revision 1 and 2. The easiest way to determine the chip revision is to look for the `Chip is ESP32-C3 (revision 3)` message near the end of a successful chip flashing done by `idf.py flash`. Debugging through the USB interface implemented in {IDF_TARGET_NAME} requires to have a chip with revision 3 or newer. Please use other debugging options (e.g. with ESP-Prog) for chip revision 1 and 2. The easiest way to determine the chip revision is to look for the ``Chip is ESP32-C3 (revision 3)`` message near the end of a successful chip flashing done by ``idf.py flash``.
Depending on user preferences, both `debugger` and `idf.py build` can be operated directly from terminal/command line, instead from Eclipse.
.. _jtag-debugging-selecting-jtag-adapter: .. _jtag-debugging-selecting-jtag-adapter: