This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/nuttx-website.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 585be8a80 Publishing web: aa582a7d73267f59d84c5725206901ad829e3351
docs: f05c85e6228a7c6f2471da33e09fa1e8e0dc07e9
585be8a80 is described below
commit 585be8a80466f6946c65b630bc559045eae08e63
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Thu Aug 15 00:19:26 2024 +0000
Publishing web: aa582a7d73267f59d84c5725206901ad829e3351 docs:
f05c85e6228a7c6f2471da33e09fa1e8e0dc07e9
---
content/docs/10.0.0/index.html | 2 +-
content/docs/10.0.0/searchindex.js | 2 +-
content/docs/10.0.1/index.html | 2 +-
content/docs/10.0.1/searchindex.js | 2 +-
content/docs/10.1.0/index.html | 2 +-
content/docs/10.1.0/searchindex.js | 2 +-
content/docs/10.2.0/index.html | 2 +-
content/docs/10.2.0/searchindex.js | 2 +-
content/docs/10.3.0/index.html | 2 +-
content/docs/10.3.0/searchindex.js | 2 +-
content/docs/11.0.0/index.html | 2 +-
content/docs/11.0.0/searchindex.js | 2 +-
content/docs/12.0.0/index.html | 2 +-
content/docs/12.0.0/searchindex.js | 2 +-
content/docs/12.1.0/index.html | 2 +-
content/docs/12.1.0/searchindex.js | 2 +-
content/docs/12.2.0/index.html | 2 +-
content/docs/12.2.0/searchindex.js | 2 +-
content/docs/12.2.1/index.html | 2 +-
content/docs/12.2.1/searchindex.js | 2 +-
content/docs/12.3.0/index.html | 2 +-
content/docs/12.3.0/searchindex.js | 2 +-
content/docs/12.4.0/index.html | 2 +-
content/docs/12.4.0/searchindex.js | 2 +-
content/docs/12.5.0/index.html | 2 +-
content/docs/12.5.0/searchindex.js | 2 +-
content/docs/12.5.1/index.html | 2 +-
content/docs/12.5.1/searchindex.js | 2 +-
.../platforms/risc-v/esp32c3-legacy/index.rst.txt | 64 +++++++++++---
.../platforms/risc-v/esp32c3/index.rst.txt | 60 ++++++++++---
.../platforms/risc-v/esp32c6/index.rst.txt | 49 +++++++++--
.../platforms/risc-v/esp32h2/index.rst.txt | 51 ++++++++---
.../_sources/platforms/xtensa/esp32/index.rst.txt | 29 +++++-
.../platforms/xtensa/esp32s2/index.rst.txt | 29 +++++-
.../platforms/xtensa/esp32s3/index.rst.txt | 28 +++++-
content/docs/latest/index.html | 2 +-
content/docs/latest/objects.inv | Bin 118681 -> 118729 bytes
.../boards/esp32c3-devkit-rust-1/index.html | 2 +-
.../boards/esp32c3-devkit/index.html | 2 +-
.../platforms/risc-v/esp32c3-legacy/index.html | 97 +++++++++++++++++----
.../esp32c3/boards/esp32c3-generic/index.html | 2 +-
.../latest/platforms/risc-v/esp32c3/index.html | 93 +++++++++++++++++---
.../esp32c6/boards/esp32c6-devkitc/index.html | 2 +-
.../esp32c6/boards/esp32c6-devkitm/index.html | 2 +-
.../latest/platforms/risc-v/esp32c6/index.html | 68 ++++++++++++---
.../esp32h2/boards/esp32h2-devkit/index.html | 2 +-
.../latest/platforms/risc-v/esp32h2/index.html | 70 ++++++++++++---
.../xtensa/esp32/boards/esp32-2432S028/index.html | 2 +-
.../xtensa/esp32/boards/esp32-audio-kit/index.html | 2 +-
.../xtensa/esp32/boards/esp32-devkitc/index.html | 2 +-
.../esp32/boards/esp32-ethernet-kit/index.html | 2 +-
.../xtensa/esp32/boards/esp32-lyrat/index.html | 2 +-
.../xtensa/esp32/boards/esp32-pico-kit/index.html | 2 +-
.../esp32/boards/esp32-wrover-kit/index.html | 2 +-
.../docs/latest/platforms/xtensa/esp32/index.html | 33 ++++++-
.../esp32s2/boards/esp32s2-kaluga-1/index.html | 2 +-
.../esp32s2/boards/esp32s2-saola-1/index.html | 2 +-
.../latest/platforms/xtensa/esp32s2/index.html | 33 ++++++-
.../esp32s3/boards/esp32s3-devkit/index.html | 2 +-
.../xtensa/esp32s3/boards/esp32s3-eye/index.html | 2 +-
.../esp32s3/boards/esp32s3-korvo-2/index.html | 2 +-
.../latest/platforms/xtensa/esp32s3/index.html | 32 ++++++-
content/docs/latest/searchindex.js | 2 +-
content/feed.xml | 4 +-
64 files changed, 679 insertions(+), 157 deletions(-)
diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html
index 03f9ee8af..c238c5be0 100644
--- a/content/docs/10.0.0/index.html
+++ b/content/docs/10.0.0/index.html
@@ -131,7 +131,7 @@ by following these <a class="reference internal"
href="contributing/documentatio
<section id="nuttx-documentation">
<h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation"
title="Permalink to this heading"></a></h1>
<p>NuttX is a real-time operating system (RTOS) with an emphasis on standards
compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller
environments, the primary governing standards in NuttX are Posix and ANSI
standards. Additional standard APIs from Unix and other common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such as fork()).</p>
-<p>Last Updated: 14 August 24 at 00:11</p>
+<p>Last Updated: 15 August 24 at 00:11</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/10.0.0/searchindex.js
b/content/docs/10.0.0/searchindex.js
index f6c7e7735..931ea9b64 100644
--- a/content/docs/10.0.0/searchindex.js
+++ b/content/docs/10.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index", "boards/index",
"components/binfmt", "components/drivers/block/index",
"components/drivers/character/analog", "components/drivers/character/can",
"components/drivers/character/index", "components/drivers/character/keypad",
"components/drivers/character/pwm", "components/drivers/character/quadrature",
"components/drivers/character/rtc", "components/drivers/character/serial",
"components/drivers/character/timer", "components/drivers/chara [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index", "boards/index",
"components/binfmt", "components/drivers/block/index",
"components/drivers/character/analog", "components/drivers/character/can",
"components/drivers/character/index", "components/drivers/character/keypad",
"components/drivers/character/pwm", "components/drivers/character/quadrature",
"components/drivers/character/rtc", "components/drivers/character/serial",
"components/drivers/character/timer", "components/drivers/chara [...]
\ No newline at end of file
diff --git a/content/docs/10.0.1/index.html b/content/docs/10.0.1/index.html
index ac9dce37c..49fdaa6da 100644
--- a/content/docs/10.0.1/index.html
+++ b/content/docs/10.0.1/index.html
@@ -159,7 +159,7 @@ by following these <a class="reference internal"
href="contributing/documentatio
<section id="nuttx-documentation">
<h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation"
title="Permalink to this heading"></a></h1>
<p>NuttX is a real-time operating system (RTOS) with an emphasis on standards
compliance and small footprint. Scalable from 8-bit to 32-bit microcontroller
environments, the primary governing standards in NuttX are Posix and ANSI
standards. Additional standard APIs from Unix and other common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such as fork()).</p>
-<p>Last Updated: 14 August 24 at 00:11</p>
+<p>Last Updated: 15 August 24 at 00:11</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/10.0.1/searchindex.js
b/content/docs/10.0.1/searchindex.js
index 91b983cee..9a36e8430 100644
--- a/content/docs/10.0.1/searchindex.js
+++ b/content/docs/10.0.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index", "boards/index",
"components/binfmt", "components/drivers/block/index",
"components/drivers/character/analog", "components/drivers/character/can",
"components/drivers/character/index", "components/drivers/character/keypad",
"components/drivers/character/pwm", "components/drivers/character/quadrature",
"components/drivers/character/rtc", "components/drivers/character/serial",
"components/drivers/character/timer", "components/drivers/chara [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index", "boards/index",
"components/binfmt", "components/drivers/block/index",
"components/drivers/character/analog", "components/drivers/character/can",
"components/drivers/character/index", "components/drivers/character/keypad",
"components/drivers/character/pwm", "components/drivers/character/quadrature",
"components/drivers/character/rtc", "components/drivers/character/serial",
"components/drivers/character/timer", "components/drivers/chara [...]
\ No newline at end of file
diff --git a/content/docs/10.1.0/index.html b/content/docs/10.1.0/index.html
index cf55b934b..23a9e36ab 100644
--- a/content/docs/10.1.0/index.html
+++ b/content/docs/10.1.0/index.html
@@ -158,7 +158,7 @@ by following these <a class="reference internal"
href="contributing/documentatio
<section id="nuttx-documentation">
<h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation"
title="Permalink to this heading"></a></h1>
<p>NuttX is a real-time operating system (RTOS) with an emphasis on standards
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller
environments, the primary governing standards in NuttX are POSIX and ANSI
standards. Additional standard APIs from Unix and other common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such as fork()).</p>
-<p>Last Updated: 14 August 24 at 00:11</p>
+<p>Last Updated: 15 August 24 at 00:11</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/10.1.0/searchindex.js
b/content/docs/10.1.0/searchindex.js
index 03cd19b15..7bdaf7b46 100644
--- a/content/docs/10.1.0/searchindex.js
+++ b/content/docs/10.1.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "components/binfmt",
"components/drivers/block/index", "components/drivers/character/analog",
"components/drivers/character/can", "components/drivers/character/foc",
"components/drivers/character/index", "components [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "components/binfmt",
"components/drivers/block/index", "components/drivers/character/analog",
"components/drivers/character/can", "components/drivers/character/foc",
"components/drivers/character/index", "components [...]
\ No newline at end of file
diff --git a/content/docs/10.2.0/index.html b/content/docs/10.2.0/index.html
index d716352cb..44c967e81 100644
--- a/content/docs/10.2.0/index.html
+++ b/content/docs/10.2.0/index.html
@@ -159,7 +159,7 @@ by following these <a class="reference internal"
href="contributing/documentatio
<section id="nuttx-documentation">
<h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation"
title="Permalink to this heading"></a></h1>
<p>NuttX is a real-time operating system (RTOS) with an emphasis on standards
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller
environments, the primary governing standards in NuttX are POSIX and ANSI
standards. Additional standard APIs from Unix and other common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such as fork()).</p>
-<p>Last Updated: 14 August 24 at 00:12</p>
+<p>Last Updated: 15 August 24 at 00:11</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/10.2.0/searchindex.js
b/content/docs/10.2.0/searchindex.js
index 12f3bbb43..bd226feaa 100644
--- a/content/docs/10.2.0/searchindex.js
+++ b/content/docs/10.2.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "components/binfmt",
"components/drivers/block/index", "components/drivers/character/analog",
"components/drivers/character/can", "components/drivers/character/foc",
"components/drivers/character/index", "components [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "components/binfmt",
"components/drivers/block/index", "components/drivers/character/analog",
"components/drivers/character/can", "components/drivers/character/foc",
"components/drivers/character/index", "components [...]
\ No newline at end of file
diff --git a/content/docs/10.3.0/index.html b/content/docs/10.3.0/index.html
index d716352cb..cde497b93 100644
--- a/content/docs/10.3.0/index.html
+++ b/content/docs/10.3.0/index.html
@@ -159,7 +159,7 @@ by following these <a class="reference internal"
href="contributing/documentatio
<section id="nuttx-documentation">
<h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation"
title="Permalink to this heading"></a></h1>
<p>NuttX is a real-time operating system (RTOS) with an emphasis on standards
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller
environments, the primary governing standards in NuttX are POSIX and ANSI
standards. Additional standard APIs from Unix and other common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such as fork()).</p>
-<p>Last Updated: 14 August 24 at 00:12</p>
+<p>Last Updated: 15 August 24 at 00:12</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/10.3.0/searchindex.js
b/content/docs/10.3.0/searchindex.js
index 88058dd59..19c2ee39f 100644
--- a/content/docs/10.3.0/searchindex.js
+++ b/content/docs/10.3.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "components/binfmt",
"components/drivers/block/index", "components/drivers/character/analog",
"components/drivers/character/can", "components/drivers/character/foc",
"components/drivers/character/index", "components [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "components/binfmt",
"components/drivers/block/index", "components/drivers/character/analog",
"components/drivers/character/can", "components/drivers/character/foc",
"components/drivers/character/index", "components [...]
\ No newline at end of file
diff --git a/content/docs/11.0.0/index.html b/content/docs/11.0.0/index.html
index d716352cb..cde497b93 100644
--- a/content/docs/11.0.0/index.html
+++ b/content/docs/11.0.0/index.html
@@ -159,7 +159,7 @@ by following these <a class="reference internal"
href="contributing/documentatio
<section id="nuttx-documentation">
<h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation"
title="Permalink to this heading"></a></h1>
<p>NuttX is a real-time operating system (RTOS) with an emphasis on standards
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller
environments, the primary governing standards in NuttX are POSIX and ANSI
standards. Additional standard APIs from Unix and other common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such as fork()).</p>
-<p>Last Updated: 14 August 24 at 00:12</p>
+<p>Last Updated: 15 August 24 at 00:12</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/11.0.0/searchindex.js
b/content/docs/11.0.0/searchindex.js
index 2eda328ca..066d8de10 100644
--- a/content/docs/11.0.0/searchindex.js
+++ b/content/docs/11.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "components/binfmt",
"components/drivers/block/index", "components/drivers/character/analog",
"components/drivers/character/can", "components/drivers/character/foc",
"components/drivers/character/index", "components [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "components/binfmt",
"components/drivers/block/index", "components/drivers/character/analog",
"components/drivers/character/can", "components/drivers/character/foc",
"components/drivers/character/index", "components [...]
\ No newline at end of file
diff --git a/content/docs/12.0.0/index.html b/content/docs/12.0.0/index.html
index 24509a691..2781f7b91 100644
--- a/content/docs/12.0.0/index.html
+++ b/content/docs/12.0.0/index.html
@@ -159,7 +159,7 @@ by following these <a class="reference internal"
href="contributing/documentatio
<section id="nuttx-documentation">
<h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation"
title="Permalink to this heading"></a></h1>
<p>NuttX is a real-time operating system (RTOS) with an emphasis on standards
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller
environments, the primary governing standards in NuttX are POSIX and ANSI
standards. Additional standard APIs from Unix and other common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such as fork()).</p>
-<p>Last Updated: 14 August 24 at 00:12</p>
+<p>Last Updated: 15 August 24 at 00:12</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.0.0/searchindex.js
b/content/docs/12.0.0/searchindex.js
index 85d43142a..c83f47c4b 100644
--- a/content/docs/12.0.0/searchindex.js
+++ b/content/docs/12.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "components/binfmt",
"components/drivers/block/index", "components/drivers/character/analog",
"components/drivers/character/can", "components/drivers/character/foc",
"components/drivers/character/index", "components [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "components/binfmt",
"components/drivers/block/index", "components/drivers/character/analog",
"components/drivers/character/can", "components/drivers/character/foc",
"components/drivers/character/index", "components [...]
\ No newline at end of file
diff --git a/content/docs/12.1.0/index.html b/content/docs/12.1.0/index.html
index b28022036..3a8f0a48e 100644
--- a/content/docs/12.1.0/index.html
+++ b/content/docs/12.1.0/index.html
@@ -159,7 +159,7 @@ by following these <a class="reference internal"
href="contributing/documentatio
<section id="nuttx-documentation">
<h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation"
title="Permalink to this heading"></a></h1>
<p>NuttX is a real-time operating system (RTOS) with an emphasis on standards
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller
environments, the primary governing standards in NuttX are POSIX and ANSI
standards. Additional standard APIs from Unix and other common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such as fork()).</p>
-<p>Last Updated: 14 August 24 at 00:12</p>
+<p>Last Updated: 15 August 24 at 00:12</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.1.0/searchindex.js
b/content/docs/12.1.0/searchindex.js
index ef0c01250..7a4a4d4ab 100644
--- a/content/docs/12.1.0/searchindex.js
+++ b/content/docs/12.1.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "components/binfmt",
"components/drivers/block/index", "components/drivers/character/analog",
"components/drivers/character/can", "components/drivers/character/foc",
"components/drivers/character/index", "components [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "components/binfmt",
"components/drivers/block/index", "components/drivers/character/analog",
"components/drivers/character/can", "components/drivers/character/foc",
"components/drivers/character/index", "components [...]
\ No newline at end of file
diff --git a/content/docs/12.2.0/index.html b/content/docs/12.2.0/index.html
index 4588dd29c..182baebb7 100644
--- a/content/docs/12.2.0/index.html
+++ b/content/docs/12.2.0/index.html
@@ -162,7 +162,7 @@ by following these <a class="reference internal"
href="contributing/documentatio
<section id="nuttx-documentation">
<h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation"
title="Permalink to this heading"></a></h1>
<p>NuttX is a real-time operating system (RTOS) with an emphasis on standards
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller
environments, the primary governing standards in NuttX are POSIX and ANSI
standards. Additional standard APIs from Unix and other common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such as fork()).</p>
-<p>Last Updated: 14 August 24 at 00:13</p>
+<p>Last Updated: 15 August 24 at 00:13</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.2.0/searchindex.js
b/content/docs/12.2.0/searchindex.js
index a18441133..684a71086 100644
--- a/content/docs/12.2.0/searchindex.js
+++ b/content/docs/12.2.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config",
"applications/nxdiag/index", "applications/wapi/commands",
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt",
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config",
"applications/nxdiag/index", "applications/wapi/commands",
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt",
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
diff --git a/content/docs/12.2.1/index.html b/content/docs/12.2.1/index.html
index 4588dd29c..182baebb7 100644
--- a/content/docs/12.2.1/index.html
+++ b/content/docs/12.2.1/index.html
@@ -162,7 +162,7 @@ by following these <a class="reference internal"
href="contributing/documentatio
<section id="nuttx-documentation">
<h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation"
title="Permalink to this heading"></a></h1>
<p>NuttX is a real-time operating system (RTOS) with an emphasis on standards
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller
environments, the primary governing standards in NuttX are POSIX and ANSI
standards. Additional standard APIs from Unix and other common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such as fork()).</p>
-<p>Last Updated: 14 August 24 at 00:13</p>
+<p>Last Updated: 15 August 24 at 00:13</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.2.1/searchindex.js
b/content/docs/12.2.1/searchindex.js
index 1ed8c7193..0497a605b 100644
--- a/content/docs/12.2.1/searchindex.js
+++ b/content/docs/12.2.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config",
"applications/nxdiag/index", "applications/wapi/commands",
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt",
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config",
"applications/nxdiag/index", "applications/wapi/commands",
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt",
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
diff --git a/content/docs/12.3.0/index.html b/content/docs/12.3.0/index.html
index b6a7c8e15..ad7d47a53 100644
--- a/content/docs/12.3.0/index.html
+++ b/content/docs/12.3.0/index.html
@@ -162,7 +162,7 @@ by following these <a class="reference internal"
href="contributing/documentatio
<section id="nuttx-documentation">
<h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation"
title="Permalink to this heading"></a></h1>
<p>NuttX is a real-time operating system (RTOS) with an emphasis on standards
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller
environments, the primary governing standards in NuttX are POSIX and ANSI
standards. Additional standard APIs from Unix and other common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such as fork()).</p>
-<p>Last Updated: 14 August 24 at 00:13</p>
+<p>Last Updated: 15 August 24 at 00:13</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.3.0/searchindex.js
b/content/docs/12.3.0/searchindex.js
index 14b9917c2..67b865449 100644
--- a/content/docs/12.3.0/searchindex.js
+++ b/content/docs/12.3.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config",
"applications/nxdiag/index", "applications/wapi/commands",
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt",
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/index",
"applications/nsh/builtin", "applications/nsh/commands",
"applications/nsh/config", "applications/nsh/customizing",
"applications/nsh/index", "applications/nsh/installation",
"applications/nsh/login", "applications/nsh/nsh", "applications/nxdiag/config",
"applications/nxdiag/index", "applications/wapi/commands",
"applications/wapi/index", "applications/wapi/wireless", "components/binfmt",
"components/drivers/block/index", "components/dr [...]
\ No newline at end of file
diff --git a/content/docs/12.4.0/index.html b/content/docs/12.4.0/index.html
index aa6398bd4..a3571ce7d 100644
--- a/content/docs/12.4.0/index.html
+++ b/content/docs/12.4.0/index.html
@@ -169,7 +169,7 @@ standards. Additional standard APIs from Unix and other
common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such
as fork()).</p>
-<p>Last Updated: 14 August 24 at 00:14</p>
+<p>Last Updated: 15 August 24 at 00:14</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.4.0/searchindex.js
b/content/docs/12.4.0/searchindex.js
index 0cd22ab7d..cd958cbf7 100644
--- a/content/docs/12.4.0/searchindex.js
+++ b/content/docs/12.4.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/coremark/index", "applications/benchmarks/index",
"applications/boot/index", "applications/boot/mcuboot/index",
"applications/boot/miniboot/index", "applications/canutils/candump/index",
"applications/canutils/canlib/index", "applications/canutils/cansend/index",
"applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/coremark/index", "applications/benchmarks/index",
"applications/boot/index", "applications/boot/mcuboot/index",
"applications/boot/miniboot/index", "applications/canutils/candump/index",
"applications/canutils/canlib/index", "applications/canutils/cansend/index",
"applications/c [...]
\ No newline at end of file
diff --git a/content/docs/12.5.0/index.html b/content/docs/12.5.0/index.html
index 13d423c35..c8c874849 100644
--- a/content/docs/12.5.0/index.html
+++ b/content/docs/12.5.0/index.html
@@ -169,7 +169,7 @@ standards. Additional standard APIs from Unix and other
common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such
as fork()).</p>
-<p>Last Updated: 14 August 24 at 00:15</p>
+<p>Last Updated: 15 August 24 at 00:15</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.5.0/searchindex.js
b/content/docs/12.5.0/searchindex.js
index 37924023f..4d67199b7 100644
--- a/content/docs/12.5.0/searchindex.js
+++ b/content/docs/12.5.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/coremark/index", "applications/benchmarks/index",
"applications/boot/index", "applications/boot/mcuboot/index",
"applications/boot/miniboot/index", "applications/canutils/candump/index",
"applications/canutils/canlib/index", "applications/canutils/cansend/index",
"applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/coremark/index", "applications/benchmarks/index",
"applications/boot/index", "applications/boot/mcuboot/index",
"applications/boot/miniboot/index", "applications/canutils/candump/index",
"applications/canutils/canlib/index", "applications/canutils/cansend/index",
"applications/c [...]
\ No newline at end of file
diff --git a/content/docs/12.5.1/index.html b/content/docs/12.5.1/index.html
index 156f84e1f..5a63d91d4 100644
--- a/content/docs/12.5.1/index.html
+++ b/content/docs/12.5.1/index.html
@@ -169,7 +169,7 @@ standards. Additional standard APIs from Unix and other
common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such
as fork()).</p>
-<p>Last Updated: 14 August 24 at 00:16</p>
+<p>Last Updated: 15 August 24 at 00:16</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.5.1/searchindex.js
b/content/docs/12.5.1/searchindex.js
index 385e39251..d49c5f9ad 100644
--- a/content/docs/12.5.1/searchindex.js
+++ b/content/docs/12.5.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/coremark/index", "applications/benchmarks/index",
"applications/boot/index", "applications/boot/mcuboot/index",
"applications/boot/miniboot/index", "applications/canutils/candump/index",
"applications/canutils/canlib/index", "applications/canutils/cansend/index",
"applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/coremark/index", "applications/benchmarks/index",
"applications/boot/index", "applications/boot/mcuboot/index",
"applications/boot/miniboot/index", "applications/canutils/candump/index",
"applications/canutils/canlib/index", "applications/canutils/cansend/index",
"applications/c [...]
\ No newline at end of file
diff --git
a/content/docs/latest/_sources/platforms/risc-v/esp32c3-legacy/index.rst.txt
b/content/docs/latest/_sources/platforms/risc-v/esp32c3-legacy/index.rst.txt
index 074d86919..756c0925f 100644
--- a/content/docs/latest/_sources/platforms/risc-v/esp32c3-legacy/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/risc-v/esp32c3-legacy/index.rst.txt
@@ -110,35 +110,75 @@ Note that this step is required only one time. Once the
bootloader and partitio
table are flashed, we don't need to flash them again. So subsequent builds
would just require: ``make flash ESPTOOL_PORT=/dev/ttyUSBXX``
-Debugging with OpenOCD
-======================
+Debugging with ``openocd`` and ``gdb``
+======================================
-Download and build OpenOCD from Espressif, that can be found in
-https://github.com/espressif/openocd-esp32
+Espressif uses a specific version of OpenOCD to support ESP32-C3:
`openocd-esp32 <https://github.com/espressif/>`_.
-If you have an ESP32-C3 ECO3, no external JTAG is required to debug, the
ESP32-C3
-integrates a USB-to-JTAG adapter.
+Please check `Building OpenOCD from Sources
<https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32c3/api-guides/jtag-debugging/index.html#jtag-debugging-building-openocd>`_
+for more information on how to build OpenOCD for ESP32-C3.
+
+ESP32-C3 has a built-in JTAG circuitry and can be debugged without any
additional chip.
+Only an USB cable connected to the D+/D- pins is necessary:
+
+============ ==========
+ESP32-C3 Pin USB Signal
+============ ==========
+GPIO18 D-
+GPIO19 D+
+5V V_BUS
+GND Ground
+============ ==========
+
+.. note:: One must configure the USB drivers to enable JTAG communication.
Please check
+ `Configure USB Drivers
<https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32c3/api-guides/jtag-debugging/configure-builtin-jtag.html#configure-usb-drivers>`_
+ for more information.
OpenOCD can then be used::
openocd -c 'set ESP_RTOS none' -f board/esp32c3-builtin.cfg
-For versions prior to ESP32-C3 ECO3, an external JTAG adapter is needed.
-It can be connected as follows::
+If you want to debug with an external JTAG adapter it can
+be connected as follows:
- TMS -> GPIO4
- TDI -> GPIO5
- TCK -> GPIO6
- TDO -> GPIO7
+============ ===========
+ESP32-C6 Pin JTAG Signal
+============ ===========
+GPIO4 TMS
+GPIO5 TDI
+GPIO6 TCK
+GPIO7 TDO
+============ ===========
Furthermore, an efuse needs to be burnt to be able to debug::
espefuse.py -p <port> burn_efuse DIS_USB_JTAG
+.. warning:: Burning eFuses is an irreversible operation, so please
+ consider the above option before starting the process.
+
OpenOCD can then be used::
openocd -c 'set ESP_RTOS none' -f board/esp32c3-ftdi.cfg
+Once OpenOCD is running, you can use GDB to connect to it and debug your
application::
+
+ riscv-none-elf-gdb -x gdbinit nuttx
+
+whereas the content of the ``gdbinit`` file is::
+
+ target remote :3333
+ set remote hardware-watchpoint-limit 2
+ mon reset halt
+ flushregs
+ monitor reset halt
+ thb nsh_main
+ c
+
+.. note:: ``nuttx`` is the ELF file generated by the build process. Please
note that ``CONFIG_DEBUG_SYMBOLS`` must be enabled in the ``menuconfig``.
+
+Please refer to :doc:`/quickstart/debugging` for more information about
debugging techniques.
+
Peripheral Support
==================
diff --git
a/content/docs/latest/_sources/platforms/risc-v/esp32c3/index.rst.txt
b/content/docs/latest/_sources/platforms/risc-v/esp32c3/index.rst.txt
index c08d99075..e8c68758b 100644
--- a/content/docs/latest/_sources/platforms/risc-v/esp32c3/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/risc-v/esp32c3/index.rst.txt
@@ -120,35 +120,75 @@ Where ``<port>`` is typically ``/dev/ttyUSB0`` or similar
and ``./`` is
the path to the folder containing the externally-built 2nd stage bootloader for
the ESP32-C3 as explained above.
-Debugging with OpenOCD
-======================
+Debugging with ``openocd`` and ``gdb``
+======================================
+
+Espressif uses a specific version of OpenOCD to support ESP32-C3:
`openocd-esp32 <https://github.com/espressif/>`_.
Please check `Building OpenOCD from Sources
<https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32c3/api-guides/jtag-debugging/index.html#jtag-debugging-building-openocd>`_
for more information on how to build OpenOCD for ESP32-C3.
-If you have an ESP32-C3 ECO3, no external JTAG is required to debug, the
ESP32-C3
-integrates a USB-to-JTAG adapter.
+ESP32-C3 has a built-in JTAG circuitry and can be debugged without any
additional chip.
+Only an USB cable connected to the D+/D- pins is necessary:
+
+============ ==========
+ESP32-C3 Pin USB Signal
+============ ==========
+GPIO18 D-
+GPIO19 D+
+5V V_BUS
+GND Ground
+============ ==========
+
+.. note:: One must configure the USB drivers to enable JTAG communication.
Please check
+ `Configure USB Drivers
<https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32c3/api-guides/jtag-debugging/configure-builtin-jtag.html#configure-usb-drivers>`_
+ for more information.
OpenOCD can then be used::
openocd -c 'set ESP_RTOS hwthread; set ESP_FLASH_SIZE 0' -f
board/esp32c3-builtin.cfg
-For versions prior to ESP32-C3 ECO3, an external JTAG adapter is needed.
-It can be connected as follows::
+If you want to debug with an external JTAG adapter it can
+be connected as follows:
- TMS -> GPIO4
- TDI -> GPIO5
- TCK -> GPIO6
- TDO -> GPIO7
+============ ===========
+ESP32-C6 Pin JTAG Signal
+============ ===========
+GPIO4 TMS
+GPIO5 TDI
+GPIO6 TCK
+GPIO7 TDO
+============ ===========
Furthermore, an efuse needs to be burnt to be able to debug::
espefuse.py -p <port> burn_efuse DIS_USB_JTAG
+.. warning:: Burning eFuses is an irreversible operation, so please
+ consider the above option before starting the process.
+
OpenOCD can then be used::
openocd -c 'set ESP_RTOS hwthread; set ESP_FLASH_SIZE 0' -f
board/esp32c3-ftdi.cfg
+Once OpenOCD is running, you can use GDB to connect to it and debug your
application::
+
+ riscv-none-elf-gdb -x gdbinit nuttx
+
+whereas the content of the ``gdbinit`` file is::
+
+ target remote :3333
+ set remote hardware-watchpoint-limit 2
+ mon reset halt
+ flushregs
+ monitor reset halt
+ thb nsh_main
+ c
+
+.. note:: ``nuttx`` is the ELF file generated by the build process. Please
note that ``CONFIG_DEBUG_SYMBOLS`` must be enabled in the ``menuconfig``.
+
+Please refer to :doc:`/quickstart/debugging` for more information about
debugging techniques.
+
Peripheral Support
==================
diff --git
a/content/docs/latest/_sources/platforms/risc-v/esp32c6/index.rst.txt
b/content/docs/latest/_sources/platforms/risc-v/esp32c6/index.rst.txt
index 72891f568..6a51d3cf8 100644
--- a/content/docs/latest/_sources/platforms/risc-v/esp32c6/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/risc-v/esp32c6/index.rst.txt
@@ -119,35 +119,66 @@ Where ``<port>`` is typically ``/dev/ttyUSB0`` or similar
and ``./`` is
the path to the folder containing the externally-built 2nd stage bootloader for
the ESP32-C6 as explained above.
-Debugging with OpenOCD
-======================
+Debugging with ``openocd`` and ``gdb``
+======================================
-Download and build OpenOCD from Espressif, that can be found in
-https://github.com/espressif/openocd-esp32
+Espressif uses a specific version of OpenOCD to support ESP32-C6:
`openocd-esp32 <https://github.com/espressif/>`_.
+
+Please check `Building OpenOCD from Sources
<https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32c6/api-guides/jtag-debugging/index.html#jtag-debugging-building-openocd>`_
+for more information on how to build OpenOCD for ESP32-C6.
You do not need an external JTAG to debug, the ESP32-C6 integrates a
USB-to-JTAG adapter.
+.. note:: One must configure the USB drivers to enable JTAG communication.
Please check
+ `Configure USB Drivers
<https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32c6/api-guides/jtag-debugging/configure-builtin-jtag.html#configure-usb-drivers>`_
+ for more information.
+
OpenOCD can then be used::
openocd -c 'set ESP_RTOS hwthread; set ESP_FLASH_SIZE 0' -f
board/esp32c6-builtin.cfg
If you want to debug with an external JTAG adapter it can
-be connected as follows::
+be connected as follows:
- TMS -> GPIO4
- TDI -> GPIO5
- TCK -> GPIO6
- TDO -> GPIO7
+============ ===========
+ESP32-C6 Pin JTAG Signal
+============ ===========
+GPIO4 TMS
+GPIO5 TDI
+GPIO6 TCK
+GPIO7 TDO
+============ ===========
Furthermore, an efuse needs to be burnt to be able to debug::
espefuse.py -p <port> burn_efuse DIS_USB_JTAG
+.. warning:: Burning eFuses is an irreversible operation, so please
+ consider the above option before starting the process.
+
OpenOCD can then be used::
openocd -c 'set ESP_RTOS hwtread; set ESP_FLASH_SIZE 0' -f
board/esp32c6-ftdi.cfg
+Once OpenOCD is running, you can use GDB to connect to it and debug your
application::
+
+ riscv-none-elf-gdb -x gdbinit nuttx
+
+whereas the content of the ``gdbinit`` file is::
+
+ target remote :3333
+ set remote hardware-watchpoint-limit 2
+ mon reset halt
+ flushregs
+ monitor reset halt
+ thb nsh_main
+ c
+
+.. note:: ``nuttx`` is the ELF file generated by the build process. Please
note that ``CONFIG_DEBUG_SYMBOLS`` must be enabled in the ``menuconfig``.
+
+Please refer to :doc:`/quickstart/debugging` for more information about
debugging techniques.
+
Peripheral Support
==================
diff --git
a/content/docs/latest/_sources/platforms/risc-v/esp32h2/index.rst.txt
b/content/docs/latest/_sources/platforms/risc-v/esp32h2/index.rst.txt
index a06b036bb..38bff47fb 100644
--- a/content/docs/latest/_sources/platforms/risc-v/esp32h2/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/risc-v/esp32h2/index.rst.txt
@@ -119,35 +119,66 @@ Where ``<port>`` is typically ``/dev/ttyUSB0`` or similar
and ``./`` is
the path to the folder containing the externally-built 2nd stage bootloader for
the ESP32-H2 as explained above.
-Debugging with OpenOCD
-======================
+Debugging with ``openocd`` and ``gdb``
+======================================
-Download and build OpenOCD from Espressif, that can be found in
-https://github.com/espressif/openocd-esp32
+Espressif uses a specific version of OpenOCD to support ESP32-H2:
`openocd-esp32 <https://github.com/espressif/>`_.
-You don not need an external JTAG is to debug, the ESP32-H2 integrates a
+Please check `Building OpenOCD from Sources
<https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32h2/api-guides/jtag-debugging/index.html#jtag-debugging-building-openocd>`_
+for more information on how to build OpenOCD for ESP32-H2.
+
+You do not need an external JTAG to debug, the ESP32-H2 integrates a
USB-to-JTAG adapter.
+.. note:: One must configure the USB drivers to enable JTAG communication.
Please check
+ `Configure USB Drivers
<https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32h2/api-guides/jtag-debugging/configure-builtin-jtag.html#configure-usb-drivers>`_
+ for more information.
+
OpenOCD can then be used::
openocd -c 'set ESP_RTOS hwthread; set ESP_FLASH_SIZE 0' -f
board/esp32h2-builtin.cfg
If you want to debug with an external JTAG adapter it can
-be connected as follows::
+be connected as follows:
- TMS -> GPIO2
- TDI -> GPIO5
- TCK -> GPIO5
- TDO -> GPIO3
+============ ===========
+ESP32-H2 Pin JTAG Signal
+============ ===========
+GPIO2 TMS
+GPIO5 TDI
+GPIO4 TCK
+GPIO3 TDO
+============ ===========
Furthermore, an efuse needs to be burnt to be able to debug::
espefuse.py -p <port> burn_efuse DIS_USB_JTAG
+.. warning:: Burning eFuses is an irreversible operation, so please
+ consider the above option before starting the process.
+
OpenOCD can then be used::
openocd -c 'set ESP_RTOS hwthread; set ESP_FLASH_SIZE 0' -f
board/esp32h2-ftdi.cfg
+Once OpenOCD is running, you can use GDB to connect to it and debug your
application::
+
+ riscv-none-elf-gdb -x gdbinit nuttx
+
+whereas the content of the ``gdbinit`` file is::
+
+ target remote :3333
+ set remote hardware-watchpoint-limit 2
+ mon reset halt
+ flushregs
+ monitor reset halt
+ thb nsh_main
+ c
+
+.. note:: ``nuttx`` is the ELF file generated by the build process. Please
note that ``CONFIG_DEBUG_SYMBOLS`` must be enabled in the ``menuconfig``.
+
+Please refer to :doc:`/quickstart/debugging` for more information about
debugging techniques.
+
Peripheral Support
==================
diff --git a/content/docs/latest/_sources/platforms/xtensa/esp32/index.rst.txt
b/content/docs/latest/_sources/platforms/xtensa/esp32/index.rst.txt
index d8559a71b..115159d64 100644
--- a/content/docs/latest/_sources/platforms/xtensa/esp32/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/xtensa/esp32/index.rst.txt
@@ -142,8 +142,10 @@ externally-built 2nd stage bootloader and the partition
table (if applicable): w
``make bootloader``, these files are placed into ``nuttx`` folder.
``ESPTOOL_BAUD`` is able to
change the flash baud rate if desired.
-Debugging with OpenOCD
-======================
+Debugging with ``openocd`` and ``gdb``
+======================================
+
+Espressif uses a specific version of OpenOCD to support ESP32: `openocd-esp32
<https://github.com/espressif/>`_.
Please check `Building OpenOCD from Sources
<https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32/api-guides/jtag-debugging/index.html#jtag-debugging-building-openocd>`_
for more information on how to build OpenOCD for ESP32.
@@ -165,10 +167,33 @@ Some boards, like :ref:`ESP32-Ethernet-Kit V1.2
<platforms/xtensa/esp32/boards/e
Other boards that don't have any built-in JTAG debugger can be debugged using
an external JTAG debugger, like the one
described for the :ref:`ESP32-DevKitC
<platforms/xtensa/esp32/boards/esp32-devkitc/index:Debugging with OpenOCD>`.
+.. note:: One must configure the USB drivers to enable JTAG communication.
Please check
+ `Configure USB Drivers
<https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32/api-guides/jtag-debugging/configure-ft2232h-jtag.html#configure-usb-drivers>`_
+ for configuring the JTAG adapter of the :ref:`ESP32-Ethernet-Kit V1.2
<platforms/xtensa/esp32/boards/esp32-ethernet-kit/index:ESP32-Ethernet-Kit
V1.2>` and
+ :ref:`ESP-WROVER-KIT
<platforms/xtensa/esp32/boards/esp32-wrover-kit/index:ESP-WROVER-KIT>` boards
and other FT2232-based JTAG adapters.
+
OpenOCD can then be used::
openocd -c 'set ESP_RTOS hwthread; set ESP_FLASH_SIZE 0' -f
board/esp32-wrover-kit-1.8v.cfg
+Once OpenOCD is running, you can use GDB to connect to it and debug your
application::
+
+ xtensa-esp32-elf-gdb -x gdbinit nuttx
+
+whereas the content of the ``gdbinit`` file is::
+
+ target remote :3333
+ set remote hardware-watchpoint-limit 2
+ mon reset halt
+ flushregs
+ monitor reset halt
+ thb nsh_main
+ c
+
+.. note:: ``nuttx`` is the ELF file generated by the build process. Please
note that ``CONFIG_DEBUG_SYMBOLS`` must be enabled in the ``menuconfig``.
+
+Please refer to :doc:`/quickstart/debugging` for more information about
debugging techniques.
+
Peripheral Support
==================
diff --git
a/content/docs/latest/_sources/platforms/xtensa/esp32s2/index.rst.txt
b/content/docs/latest/_sources/platforms/xtensa/esp32s2/index.rst.txt
index 47037b72e..93aa992b4 100644
--- a/content/docs/latest/_sources/platforms/xtensa/esp32s2/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/xtensa/esp32s2/index.rst.txt
@@ -135,8 +135,10 @@ externally-built 2nd stage bootloader and the partition
table (if applicable): w
``make bootloader``, these files are placed into ``nuttx`` folder.
``ESPTOOL_BAUD`` is able to
change the flash baud rate if desired.
-Debugging with OpenOCD
-======================
+Debugging with ``openocd`` and ``gdb``
+======================================
+
+Espressif uses a specific version of OpenOCD to support ESP32-S2:
`openocd-esp32 <https://github.com/espressif/>`_.
Please check `Building OpenOCD from Sources
<https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32s2/api-guides/jtag-debugging/index.html#jtag-debugging-building-openocd>`_
for more information on how to build OpenOCD for ESP32-S2.
@@ -157,10 +159,33 @@ Some boards, like :ref:`ESP32-S2-Kaluga-1 Kit v1.3
<platforms/xtensa/esp32s2/boa
Other boards that don't have any built-in JTAG debugger can be debugged using
an external JTAG debugger being connected
directly to the ESP32-S2 JTAG pins.
+.. note:: One must configure the USB drivers to enable JTAG communication.
Please check
+ `Configure USB Drivers
<https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32s2/api-guides/jtag-debugging/configure-ft2232h-jtag.html?highlight=udev#configure-usb-drivers>`_
+ for configuring the JTAG adapter of the :ref:`ESP32-S2-Kaluga-1
<platforms/xtensa/esp32s2/boards/esp32s2-kaluga-1/index:ESP32-S2-Kaluga-1 Kit
v1.3>` board
+ and other FT2232-based JTAG adapters.
+
OpenOCD can then be used::
openocd -c 'set ESP_RTOS hwthread; set ESP_FLASH_SIZE 0' -f
board/esp32s2-kaluga-1.cfg
+Once OpenOCD is running, you can use GDB to connect to it and debug your
application::
+
+ xtensa-esp32s2-elf-gdb -x gdbinit nuttx
+
+whereas the content of the ``gdbinit`` file is::
+
+ target remote :3333
+ set remote hardware-watchpoint-limit 2
+ mon reset halt
+ flushregs
+ monitor reset halt
+ thb nsh_main
+ c
+
+.. note:: ``nuttx`` is the ELF file generated by the build process. Please
note that ``CONFIG_DEBUG_SYMBOLS`` must be enabled in the ``menuconfig``.
+
+Please refer to :doc:`/quickstart/debugging` for more information about
debugging techniques.
+
Peripheral Support
==================
diff --git
a/content/docs/latest/_sources/platforms/xtensa/esp32s3/index.rst.txt
b/content/docs/latest/_sources/platforms/xtensa/esp32s3/index.rst.txt
index a16c2659a..23d64b3a5 100644
--- a/content/docs/latest/_sources/platforms/xtensa/esp32s3/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/xtensa/esp32s3/index.rst.txt
@@ -142,8 +142,10 @@ externally-built 2nd stage bootloader and the partition
table (if applicable): w
``make bootloader``, these files are placed into ``nuttx`` folder.
``ESPTOOL_BAUD`` is able to
change the flash baud rate if desired.
-Debugging with OpenOCD
-======================
+Debugging with ``openocd`` and ``gdb``
+======================================
+
+Espressif uses a specific version of OpenOCD to support ESP32-S3:
`openocd-esp32 <https://github.com/espressif/>`_.
Please check `Building OpenOCD from Sources
<https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32s3/api-guides/jtag-debugging/index.html#jtag-debugging-building-openocd>`_
for more information on how to build OpenOCD for ESP32-S3.
@@ -154,10 +156,32 @@ extra wiring/cable to connect JTAG to ESP32-S3. Most of
the ESP32-S3 boards have
USB connector that can be used for JTAG debugging.
This is the case for the :ref:`ESP32-S3-DevKit
<platforms/xtensa/esp32s3/boards/esp32s3-devkit/index:ESP32S3-DevKit>` board.
+.. note:: One must configure the USB drivers to enable JTAG communication.
Please check
+ `Configure USB Drivers
<https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32s3/api-guides/jtag-debugging/configure-builtin-jtag.html?highlight=udev#configure-usb-drivers>`_
+ for more information.
+
OpenOCD can then be used::
openocd -c 'set ESP_RTOS hwthread; set ESP_FLASH_SIZE 0' -f
board/esp32s3-builtin.cfg
+Once OpenOCD is running, you can use GDB to connect to it and debug your
application::
+
+ xtensa-esp32s3-elf-gdb -x gdbinit nuttx
+
+whereas the content of the ``gdbinit`` file is::
+
+ target remote :3333
+ set remote hardware-watchpoint-limit 2
+ mon reset halt
+ flushregs
+ monitor reset halt
+ thb nsh_main
+ c
+
+.. note:: ``nuttx`` is the ELF file generated by the build process. Please
note that ``CONFIG_DEBUG_SYMBOLS`` must be enabled in the ``menuconfig``.
+
+Please refer to :doc:`/quickstart/debugging` for more information about
debugging techniques.
+
Peripheral Support
==================
diff --git a/content/docs/latest/index.html b/content/docs/latest/index.html
index adc35bbb0..62cd2e87c 100644
--- a/content/docs/latest/index.html
+++ b/content/docs/latest/index.html
@@ -170,7 +170,7 @@ standards. Additional standard APIs from Unix and other
common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such
as fork()).</p>
-<p>Last Updated: 14 August 24 at 00:17</p>
+<p>Last Updated: 15 August 24 at 00:17</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/latest/objects.inv b/content/docs/latest/objects.inv
index 2c3d0a4f0..1fbb8231a 100644
Binary files a/content/docs/latest/objects.inv and
b/content/docs/latest/objects.inv differ
diff --git
a/content/docs/latest/platforms/risc-v/esp32c3-legacy/boards/esp32c3-devkit-rust-1/index.html
b/content/docs/latest/platforms/risc-v/esp32c3-legacy/boards/esp32c3-devkit-rust-1/index.html
index d38b318c3..9739b3777 100644
---
a/content/docs/latest/platforms/risc-v/esp32c3-legacy/boards/esp32c3-devkit-rust-1/index.html
+++
b/content/docs/latest/platforms/risc-v/esp32c3-legacy/boards/esp32c3-devkit-rust-1/index.html
@@ -134,7 +134,7 @@
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-c3-toolchain">ESP32-C3 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#second-stage-bootloader-and-partition-table">Second
stage bootloader and partition table</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing">Building and flashing</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#secure-boot-and-flash-encryption">Secure Boot and Flash
Encryption</a></li>
<li class="toctree-l4 current"><a class="reference internal"
href="../../index.html#supported-boards">Supported Boards</a><ul
class="current">
diff --git
a/content/docs/latest/platforms/risc-v/esp32c3-legacy/boards/esp32c3-devkit/index.html
b/content/docs/latest/platforms/risc-v/esp32c3-legacy/boards/esp32c3-devkit/index.html
index c59908ff7..f57b32b89 100644
---
a/content/docs/latest/platforms/risc-v/esp32c3-legacy/boards/esp32c3-devkit/index.html
+++
b/content/docs/latest/platforms/risc-v/esp32c3-legacy/boards/esp32c3-devkit/index.html
@@ -134,7 +134,7 @@
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-c3-toolchain">ESP32-C3 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#second-stage-bootloader-and-partition-table">Second
stage bootloader and partition table</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing">Building and flashing</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#secure-boot-and-flash-encryption">Secure Boot and Flash
Encryption</a></li>
<li class="toctree-l4 current"><a class="reference internal"
href="../../index.html#supported-boards">Supported Boards</a><ul
class="current">
diff --git a/content/docs/latest/platforms/risc-v/esp32c3-legacy/index.html
b/content/docs/latest/platforms/risc-v/esp32c3-legacy/index.html
index 05c20162e..9828ec2c9 100644
--- a/content/docs/latest/platforms/risc-v/esp32c3-legacy/index.html
+++ b/content/docs/latest/platforms/risc-v/esp32c3-legacy/index.html
@@ -137,7 +137,7 @@
</li>
<li class="toctree-l4"><a class="reference internal"
href="#second-stage-bootloader-and-partition-table">Second stage bootloader and
partition table</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#building-and-flashing">Building and flashing</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="#debugging-with-openocd-and-gdb">Debugging with <code class="docutils
literal notranslate"><span class="pre">openocd</span></code> and <code
class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#secure-boot-and-flash-encryption">Secure Boot and Flash
Encryption</a><ul>
<li class="toctree-l5"><a class="reference internal"
href="#secure-boot">Secure Boot</a></li>
@@ -312,32 +312,99 @@ Note that this step is required only one time. Once the
bootloader and partitio
table are flashed, we don’t need to flash them again. So subsequent builds
would just require: <code class="docutils literal notranslate"><span
class="pre">make</span> <span class="pre">flash</span> <span
class="pre">ESPTOOL_PORT=/dev/ttyUSBXX</span></code></p>
</section>
-<section id="debugging-with-openocd">
-<h2>Debugging with OpenOCD<a class="headerlink" href="#debugging-with-openocd"
title="Permalink to this heading"></a></h2>
-<p>Download and build OpenOCD from Espressif, that can be found in
-<a class="reference external"
href="https://github.com/espressif/openocd-esp32">https://github.com/espressif/openocd-esp32</a></p>
-<p>If you have an ESP32-C3 ECO3, no external JTAG is required to debug, the
ESP32-C3
-integrates a USB-to-JTAG adapter.</p>
+<section id="debugging-with-openocd-and-gdb">
+<h2>Debugging with <code class="docutils literal notranslate"><span
class="pre">openocd</span></code> and <code class="docutils literal
notranslate"><span class="pre">gdb</span></code><a class="headerlink"
href="#debugging-with-openocd-and-gdb" title="Permalink to this
heading"></a></h2>
+<p>Espressif uses a specific version of OpenOCD to support ESP32-C3: <a
class="reference external"
href="https://github.com/espressif/">openocd-esp32</a>.</p>
+<p>Please check <a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32c3/api-guides/jtag-debugging/index.html#jtag-debugging-building-openocd">Building
OpenOCD from Sources</a>
+for more information on how to build OpenOCD for ESP32-C3.</p>
+<p>ESP32-C3 has a built-in JTAG circuitry and can be debugged without any
additional chip.
+Only an USB cable connected to the D+/D- pins is necessary:</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>ESP32-C3 Pin</p></th>
+<th class="head"><p>USB Signal</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>GPIO18</p></td>
+<td><p>D-</p></td>
+</tr>
+<tr class="row-odd"><td><p>GPIO19</p></td>
+<td><p>D+</p></td>
+</tr>
+<tr class="row-even"><td><p>5V</p></td>
+<td><p>V_BUS</p></td>
+</tr>
+<tr class="row-odd"><td><p>GND</p></td>
+<td><p>Ground</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>One must configure the USB drivers to enable JTAG communication. Please
check
+<a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32c3/api-guides/jtag-debugging/configure-builtin-jtag.html#configure-usb-drivers">Configure
USB Drivers</a>
+for more information.</p>
+</div>
<p>OpenOCD can then be used:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS none' -f
board/esp32c3-builtin.cfg
</pre></div>
</div>
-<p>For versions prior to ESP32-C3 ECO3, an external JTAG adapter is needed.
-It can be connected as follows:</p>
-<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>TMS -> GPIO4
-TDI -> GPIO5
-TCK -> GPIO6
-TDO -> GPIO7
-</pre></div>
-</div>
+<p>If you want to debug with an external JTAG adapter it can
+be connected as follows:</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>ESP32-C6 Pin</p></th>
+<th class="head"><p>JTAG Signal</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>GPIO4</p></td>
+<td><p>TMS</p></td>
+</tr>
+<tr class="row-odd"><td><p>GPIO5</p></td>
+<td><p>TDI</p></td>
+</tr>
+<tr class="row-even"><td><p>GPIO6</p></td>
+<td><p>TCK</p></td>
+</tr>
+<tr class="row-odd"><td><p>GPIO7</p></td>
+<td><p>TDO</p></td>
+</tr>
+</tbody>
+</table>
<p>Furthermore, an efuse needs to be burnt to be able to debug:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>espefuse.py -p <port> burn_efuse
DIS_USB_JTAG
</pre></div>
</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Burning eFuses is an irreversible operation, so please
+consider the above option before starting the process.</p>
+</div>
<p>OpenOCD can then be used:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS none' -f
board/esp32c3-ftdi.cfg
</pre></div>
</div>
+<p>Once OpenOCD is running, you can use GDB to connect to it and debug your
application:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>riscv-none-elf-gdb -x gdbinit nuttx
+</pre></div>
+</div>
+<p>whereas the content of the <code class="docutils literal notranslate"><span
class="pre">gdbinit</span></code> file is:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>target remote :3333
+set remote hardware-watchpoint-limit 2
+mon reset halt
+flushregs
+monitor reset halt
+thb nsh_main
+c
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><code class="docutils literal notranslate"><span
class="pre">nuttx</span></code> is the ELF file generated by the build process.
Please note that <code class="docutils literal notranslate"><span
class="pre">CONFIG_DEBUG_SYMBOLS</span></code> must be enabled in the <code
class="docutils literal notranslate"><span
class="pre">menuconfig</span></code>.</p>
+</div>
+<p>Please refer to <a class="reference internal"
href="../../../quickstart/debugging.html"><span
class="doc">Debugging</span></a> for more information about debugging
techniques.</p>
</section>
<section id="peripheral-support">
<h2>Peripheral Support<a class="headerlink" href="#peripheral-support"
title="Permalink to this heading"></a></h2>
diff --git
a/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.html
b/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.html
index 3e5d5efe0..b043719ae 100644
---
a/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.html
+++
b/content/docs/latest/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.html
@@ -134,7 +134,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32-C3</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-c3-toolchain">ESP32-C3 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#secure-boot-and-flash-encryption">Secure Boot and Flash
Encryption</a></li>
<li class="toctree-l4 current"><a class="reference internal"
href="../../index.html#supported-boards">Supported Boards</a><ul
class="current">
diff --git a/content/docs/latest/platforms/risc-v/esp32c3/index.html
b/content/docs/latest/platforms/risc-v/esp32c3/index.html
index 790c776aa..b05559629 100644
--- a/content/docs/latest/platforms/risc-v/esp32c3/index.html
+++ b/content/docs/latest/platforms/risc-v/esp32c3/index.html
@@ -141,7 +141,7 @@
<li class="toctree-l5"><a class="reference internal"
href="#building-and-flashing">Building and flashing</a></li>
</ul>
</li>
-<li class="toctree-l4"><a class="reference internal"
href="#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="#debugging-with-openocd-and-gdb">Debugging with <code class="docutils
literal notranslate"><span class="pre">openocd</span></code> and <code
class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#secure-boot-and-flash-encryption">Secure Boot and Flash
Encryption</a><ul>
<li class="toctree-l5"><a class="reference internal"
href="#secure-boot">Secure Boot</a></li>
@@ -324,32 +324,99 @@ the path to the folder containing the externally-built
2nd stage bootloader for
the ESP32-C3 as explained above.</p>
</section>
</section>
-<section id="debugging-with-openocd">
-<h2>Debugging with OpenOCD<a class="headerlink" href="#debugging-with-openocd"
title="Permalink to this heading"></a></h2>
+<section id="debugging-with-openocd-and-gdb">
+<h2>Debugging with <code class="docutils literal notranslate"><span
class="pre">openocd</span></code> and <code class="docutils literal
notranslate"><span class="pre">gdb</span></code><a class="headerlink"
href="#debugging-with-openocd-and-gdb" title="Permalink to this
heading"></a></h2>
+<p>Espressif uses a specific version of OpenOCD to support ESP32-C3: <a
class="reference external"
href="https://github.com/espressif/">openocd-esp32</a>.</p>
<p>Please check <a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32c3/api-guides/jtag-debugging/index.html#jtag-debugging-building-openocd">Building
OpenOCD from Sources</a>
for more information on how to build OpenOCD for ESP32-C3.</p>
-<p>If you have an ESP32-C3 ECO3, no external JTAG is required to debug, the
ESP32-C3
-integrates a USB-to-JTAG adapter.</p>
+<p>ESP32-C3 has a built-in JTAG circuitry and can be debugged without any
additional chip.
+Only an USB cable connected to the D+/D- pins is necessary:</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>ESP32-C3 Pin</p></th>
+<th class="head"><p>USB Signal</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>GPIO18</p></td>
+<td><p>D-</p></td>
+</tr>
+<tr class="row-odd"><td><p>GPIO19</p></td>
+<td><p>D+</p></td>
+</tr>
+<tr class="row-even"><td><p>5V</p></td>
+<td><p>V_BUS</p></td>
+</tr>
+<tr class="row-odd"><td><p>GND</p></td>
+<td><p>Ground</p></td>
+</tr>
+</tbody>
+</table>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>One must configure the USB drivers to enable JTAG communication. Please
check
+<a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32c3/api-guides/jtag-debugging/configure-builtin-jtag.html#configure-usb-drivers">Configure
USB Drivers</a>
+for more information.</p>
+</div>
<p>OpenOCD can then be used:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS hwthread; set
ESP_FLASH_SIZE 0' -f board/esp32c3-builtin.cfg
</pre></div>
</div>
-<p>For versions prior to ESP32-C3 ECO3, an external JTAG adapter is needed.
-It can be connected as follows:</p>
-<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>TMS -> GPIO4
-TDI -> GPIO5
-TCK -> GPIO6
-TDO -> GPIO7
-</pre></div>
-</div>
+<p>If you want to debug with an external JTAG adapter it can
+be connected as follows:</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>ESP32-C6 Pin</p></th>
+<th class="head"><p>JTAG Signal</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>GPIO4</p></td>
+<td><p>TMS</p></td>
+</tr>
+<tr class="row-odd"><td><p>GPIO5</p></td>
+<td><p>TDI</p></td>
+</tr>
+<tr class="row-even"><td><p>GPIO6</p></td>
+<td><p>TCK</p></td>
+</tr>
+<tr class="row-odd"><td><p>GPIO7</p></td>
+<td><p>TDO</p></td>
+</tr>
+</tbody>
+</table>
<p>Furthermore, an efuse needs to be burnt to be able to debug:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>espefuse.py -p <port> burn_efuse
DIS_USB_JTAG
</pre></div>
</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Burning eFuses is an irreversible operation, so please
+consider the above option before starting the process.</p>
+</div>
<p>OpenOCD can then be used:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS hwthread; set
ESP_FLASH_SIZE 0' -f board/esp32c3-ftdi.cfg
</pre></div>
</div>
+<p>Once OpenOCD is running, you can use GDB to connect to it and debug your
application:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>riscv-none-elf-gdb -x gdbinit nuttx
+</pre></div>
+</div>
+<p>whereas the content of the <code class="docutils literal notranslate"><span
class="pre">gdbinit</span></code> file is:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>target remote :3333
+set remote hardware-watchpoint-limit 2
+mon reset halt
+flushregs
+monitor reset halt
+thb nsh_main
+c
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><code class="docutils literal notranslate"><span
class="pre">nuttx</span></code> is the ELF file generated by the build process.
Please note that <code class="docutils literal notranslate"><span
class="pre">CONFIG_DEBUG_SYMBOLS</span></code> must be enabled in the <code
class="docutils literal notranslate"><span
class="pre">menuconfig</span></code>.</p>
+</div>
+<p>Please refer to <a class="reference internal"
href="../../../quickstart/debugging.html"><span
class="doc">Debugging</span></a> for more information about debugging
techniques.</p>
</section>
<section id="peripheral-support">
<h2>Peripheral Support<a class="headerlink" href="#peripheral-support"
title="Permalink to this heading"></a></h2>
diff --git
a/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.html
b/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.html
index d0752717a..c390bc6c0 100644
---
a/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.html
+++
b/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.html
@@ -135,7 +135,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32-C6</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-c6-toolchain">ESP32-C6 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4 current"><a class="reference internal"
href="../../index.html#supported-boards">Supported Boards</a><ul
class="current">
<li class="toctree-l5 current"><a class="current reference internal"
href="#">ESP32-C6-DevKitC-1</a></li>
diff --git
a/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitm/index.html
b/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitm/index.html
index 411b2a3a0..c9b315dca 100644
---
a/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitm/index.html
+++
b/content/docs/latest/platforms/risc-v/esp32c6/boards/esp32c6-devkitm/index.html
@@ -135,7 +135,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32-C6</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-c6-toolchain">ESP32-C6 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4 current"><a class="reference internal"
href="../../index.html#supported-boards">Supported Boards</a><ul
class="current">
<li class="toctree-l5"><a class="reference internal"
href="../esp32c6-devkitc/index.html">ESP32-C6-DevKitC-1</a></li>
diff --git a/content/docs/latest/platforms/risc-v/esp32c6/index.html
b/content/docs/latest/platforms/risc-v/esp32c6/index.html
index 774daa35b..117c7764c 100644
--- a/content/docs/latest/platforms/risc-v/esp32c6/index.html
+++ b/content/docs/latest/platforms/risc-v/esp32c6/index.html
@@ -142,7 +142,7 @@
<li class="toctree-l5"><a class="reference internal"
href="#building-and-flashing">Building and flashing</a></li>
</ul>
</li>
-<li class="toctree-l4"><a class="reference internal"
href="#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="#debugging-with-openocd-and-gdb">Debugging with <code class="docutils
literal notranslate"><span class="pre">openocd</span></code> and <code
class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#supported-boards">Supported Boards</a><ul>
<li class="toctree-l5"><a class="reference internal"
href="boards/esp32c6-devkitc/index.html">ESP32-C6-DevKitC-1</a></li>
@@ -319,32 +319,78 @@ the path to the folder containing the externally-built
2nd stage bootloader for
the ESP32-C6 as explained above.</p>
</section>
</section>
-<section id="debugging-with-openocd">
-<h2>Debugging with OpenOCD<a class="headerlink" href="#debugging-with-openocd"
title="Permalink to this heading"></a></h2>
-<p>Download and build OpenOCD from Espressif, that can be found in
-<a class="reference external"
href="https://github.com/espressif/openocd-esp32">https://github.com/espressif/openocd-esp32</a></p>
+<section id="debugging-with-openocd-and-gdb">
+<h2>Debugging with <code class="docutils literal notranslate"><span
class="pre">openocd</span></code> and <code class="docutils literal
notranslate"><span class="pre">gdb</span></code><a class="headerlink"
href="#debugging-with-openocd-and-gdb" title="Permalink to this
heading"></a></h2>
+<p>Espressif uses a specific version of OpenOCD to support ESP32-C6: <a
class="reference external"
href="https://github.com/espressif/">openocd-esp32</a>.</p>
+<p>Please check <a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32c6/api-guides/jtag-debugging/index.html#jtag-debugging-building-openocd">Building
OpenOCD from Sources</a>
+for more information on how to build OpenOCD for ESP32-C6.</p>
<p>You do not need an external JTAG to debug, the ESP32-C6 integrates a
USB-to-JTAG adapter.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>One must configure the USB drivers to enable JTAG communication. Please
check
+<a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32c6/api-guides/jtag-debugging/configure-builtin-jtag.html#configure-usb-drivers">Configure
USB Drivers</a>
+for more information.</p>
+</div>
<p>OpenOCD can then be used:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS hwthread; set
ESP_FLASH_SIZE 0' -f board/esp32c6-builtin.cfg
</pre></div>
</div>
<p>If you want to debug with an external JTAG adapter it can
be connected as follows:</p>
-<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>TMS -> GPIO4
-TDI -> GPIO5
-TCK -> GPIO6
-TDO -> GPIO7
-</pre></div>
-</div>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>ESP32-C6 Pin</p></th>
+<th class="head"><p>JTAG Signal</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>GPIO4</p></td>
+<td><p>TMS</p></td>
+</tr>
+<tr class="row-odd"><td><p>GPIO5</p></td>
+<td><p>TDI</p></td>
+</tr>
+<tr class="row-even"><td><p>GPIO6</p></td>
+<td><p>TCK</p></td>
+</tr>
+<tr class="row-odd"><td><p>GPIO7</p></td>
+<td><p>TDO</p></td>
+</tr>
+</tbody>
+</table>
<p>Furthermore, an efuse needs to be burnt to be able to debug:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>espefuse.py -p <port> burn_efuse
DIS_USB_JTAG
</pre></div>
</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Burning eFuses is an irreversible operation, so please
+consider the above option before starting the process.</p>
+</div>
<p>OpenOCD can then be used:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS hwtread; set
ESP_FLASH_SIZE 0' -f board/esp32c6-ftdi.cfg
</pre></div>
</div>
+<p>Once OpenOCD is running, you can use GDB to connect to it and debug your
application:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>riscv-none-elf-gdb -x gdbinit nuttx
+</pre></div>
+</div>
+<p>whereas the content of the <code class="docutils literal notranslate"><span
class="pre">gdbinit</span></code> file is:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>target remote :3333
+set remote hardware-watchpoint-limit 2
+mon reset halt
+flushregs
+monitor reset halt
+thb nsh_main
+c
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><code class="docutils literal notranslate"><span
class="pre">nuttx</span></code> is the ELF file generated by the build process.
Please note that <code class="docutils literal notranslate"><span
class="pre">CONFIG_DEBUG_SYMBOLS</span></code> must be enabled in the <code
class="docutils literal notranslate"><span
class="pre">menuconfig</span></code>.</p>
+</div>
+<p>Please refer to <a class="reference internal"
href="../../../quickstart/debugging.html"><span
class="doc">Debugging</span></a> for more information about debugging
techniques.</p>
</section>
<section id="peripheral-support">
<h2>Peripheral Support<a class="headerlink" href="#peripheral-support"
title="Permalink to this heading"></a></h2>
diff --git
a/content/docs/latest/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.html
b/content/docs/latest/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.html
index 3237ca3bf..a23098f4d 100644
---
a/content/docs/latest/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.html
+++
b/content/docs/latest/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.html
@@ -136,7 +136,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32-H2</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-h2-toolchain">ESP32-H2 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4 current"><a class="reference internal"
href="../../index.html#supported-boards">Supported Boards</a><ul
class="current">
<li class="toctree-l5 current"><a class="current reference internal"
href="#">ESP32-H2-DevKitM-1</a></li>
diff --git a/content/docs/latest/platforms/risc-v/esp32h2/index.html
b/content/docs/latest/platforms/risc-v/esp32h2/index.html
index 2ca1db1f8..74b278b8d 100644
--- a/content/docs/latest/platforms/risc-v/esp32h2/index.html
+++ b/content/docs/latest/platforms/risc-v/esp32h2/index.html
@@ -143,7 +143,7 @@
<li class="toctree-l5"><a class="reference internal"
href="#building-and-flashing">Building and flashing</a></li>
</ul>
</li>
-<li class="toctree-l4"><a class="reference internal"
href="#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="#debugging-with-openocd-and-gdb">Debugging with <code class="docutils
literal notranslate"><span class="pre">openocd</span></code> and <code
class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="#supported-boards">Supported Boards</a><ul>
<li class="toctree-l5"><a class="reference internal"
href="boards/esp32h2-devkit/index.html">ESP32-H2-DevKitM-1</a></li>
@@ -318,32 +318,78 @@ the path to the folder containing the externally-built
2nd stage bootloader for
the ESP32-H2 as explained above.</p>
</section>
</section>
-<section id="debugging-with-openocd">
-<h2>Debugging with OpenOCD<a class="headerlink" href="#debugging-with-openocd"
title="Permalink to this heading"></a></h2>
-<p>Download and build OpenOCD from Espressif, that can be found in
-<a class="reference external"
href="https://github.com/espressif/openocd-esp32">https://github.com/espressif/openocd-esp32</a></p>
-<p>You don not need an external JTAG is to debug, the ESP32-H2 integrates a
+<section id="debugging-with-openocd-and-gdb">
+<h2>Debugging with <code class="docutils literal notranslate"><span
class="pre">openocd</span></code> and <code class="docutils literal
notranslate"><span class="pre">gdb</span></code><a class="headerlink"
href="#debugging-with-openocd-and-gdb" title="Permalink to this
heading"></a></h2>
+<p>Espressif uses a specific version of OpenOCD to support ESP32-H2: <a
class="reference external"
href="https://github.com/espressif/">openocd-esp32</a>.</p>
+<p>Please check <a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32h2/api-guides/jtag-debugging/index.html#jtag-debugging-building-openocd">Building
OpenOCD from Sources</a>
+for more information on how to build OpenOCD for ESP32-H2.</p>
+<p>You do not need an external JTAG to debug, the ESP32-H2 integrates a
USB-to-JTAG adapter.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>One must configure the USB drivers to enable JTAG communication. Please
check
+<a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32h2/api-guides/jtag-debugging/configure-builtin-jtag.html#configure-usb-drivers">Configure
USB Drivers</a>
+for more information.</p>
+</div>
<p>OpenOCD can then be used:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS hwthread; set
ESP_FLASH_SIZE 0' -f board/esp32h2-builtin.cfg
</pre></div>
</div>
<p>If you want to debug with an external JTAG adapter it can
be connected as follows:</p>
-<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>TMS -> GPIO2
-TDI -> GPIO5
-TCK -> GPIO5
-TDO -> GPIO3
-</pre></div>
-</div>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>ESP32-H2 Pin</p></th>
+<th class="head"><p>JTAG Signal</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>GPIO2</p></td>
+<td><p>TMS</p></td>
+</tr>
+<tr class="row-odd"><td><p>GPIO5</p></td>
+<td><p>TDI</p></td>
+</tr>
+<tr class="row-even"><td><p>GPIO4</p></td>
+<td><p>TCK</p></td>
+</tr>
+<tr class="row-odd"><td><p>GPIO3</p></td>
+<td><p>TDO</p></td>
+</tr>
+</tbody>
+</table>
<p>Furthermore, an efuse needs to be burnt to be able to debug:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>espefuse.py -p <port> burn_efuse
DIS_USB_JTAG
</pre></div>
</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Burning eFuses is an irreversible operation, so please
+consider the above option before starting the process.</p>
+</div>
<p>OpenOCD can then be used:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS hwthread; set
ESP_FLASH_SIZE 0' -f board/esp32h2-ftdi.cfg
</pre></div>
</div>
+<p>Once OpenOCD is running, you can use GDB to connect to it and debug your
application:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>riscv-none-elf-gdb -x gdbinit nuttx
+</pre></div>
+</div>
+<p>whereas the content of the <code class="docutils literal notranslate"><span
class="pre">gdbinit</span></code> file is:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>target remote :3333
+set remote hardware-watchpoint-limit 2
+mon reset halt
+flushregs
+monitor reset halt
+thb nsh_main
+c
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><code class="docutils literal notranslate"><span
class="pre">nuttx</span></code> is the ELF file generated by the build process.
Please note that <code class="docutils literal notranslate"><span
class="pre">CONFIG_DEBUG_SYMBOLS</span></code> must be enabled in the <code
class="docutils literal notranslate"><span
class="pre">menuconfig</span></code>.</p>
+</div>
+<p>Please refer to <a class="reference internal"
href="../../../quickstart/debugging.html"><span
class="doc">Debugging</span></a> for more information about debugging
techniques.</p>
</section>
<section id="peripheral-support">
<h2>Peripheral Support<a class="headerlink" href="#peripheral-support"
title="Permalink to this heading"></a></h2>
diff --git
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-2432S028/index.html
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-2432S028/index.html
index 2a2b8a1fe..0b2d8603e 100644
---
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-2432S028/index.html
+++
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-2432S028/index.html
@@ -136,7 +136,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-toolchain">ESP32 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#memory-map">Memory Map</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#bit-timers">64-bit Timers</a></li>
diff --git
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
index 99763c7e2..cd0a7fe8a 100644
---
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
+++
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
@@ -136,7 +136,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-toolchain">ESP32 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#memory-map">Memory Map</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#bit-timers">64-bit Timers</a></li>
diff --git
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
index f91e78f49..ae8bc017e 100644
--- a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
+++ b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
@@ -136,7 +136,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-toolchain">ESP32 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#memory-map">Memory Map</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#bit-timers">64-bit Timers</a></li>
diff --git
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-ethernet-kit/index.html
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-ethernet-kit/index.html
index fac34e8ce..67480a8ea 100644
---
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-ethernet-kit/index.html
+++
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-ethernet-kit/index.html
@@ -136,7 +136,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-toolchain">ESP32 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#memory-map">Memory Map</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#bit-timers">64-bit Timers</a></li>
diff --git
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-lyrat/index.html
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-lyrat/index.html
index 2f9359580..b2e2e7b5e 100644
--- a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-lyrat/index.html
+++ b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-lyrat/index.html
@@ -136,7 +136,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-toolchain">ESP32 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#memory-map">Memory Map</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#bit-timers">64-bit Timers</a></li>
diff --git
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-pico-kit/index.html
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-pico-kit/index.html
index 94212b2a4..e88fe4ee8 100644
---
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-pico-kit/index.html
+++
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-pico-kit/index.html
@@ -136,7 +136,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-toolchain">ESP32 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#memory-map">Memory Map</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#bit-timers">64-bit Timers</a></li>
diff --git
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-wrover-kit/index.html
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-wrover-kit/index.html
index aff69710d..997f08d2c 100644
---
a/content/docs/latest/platforms/xtensa/esp32/boards/esp32-wrover-kit/index.html
+++
b/content/docs/latest/platforms/xtensa/esp32/boards/esp32-wrover-kit/index.html
@@ -136,7 +136,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-toolchain">ESP32 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#memory-map">Memory Map</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#bit-timers">64-bit Timers</a></li>
diff --git a/content/docs/latest/platforms/xtensa/esp32/index.html
b/content/docs/latest/platforms/xtensa/esp32/index.html
index 0018b581f..c79b60370 100644
--- a/content/docs/latest/platforms/xtensa/esp32/index.html
+++ b/content/docs/latest/platforms/xtensa/esp32/index.html
@@ -144,7 +144,7 @@
<li class="toctree-l5"><a class="reference internal"
href="#building-and-flashing">Building and Flashing</a></li>
</ul>
</li>
-<li class="toctree-l4"><a class="reference internal"
href="#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="#debugging-with-openocd-and-gdb">Debugging with <code class="docutils
literal notranslate"><span class="pre">openocd</span></code> and <code
class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal" href="#memory-map">Memory
Map</a><ul>
<li class="toctree-l5"><a class="reference internal"
href="#address-mapping">Address Mapping</a></li>
@@ -355,8 +355,9 @@ externally-built 2nd stage bootloader and the partition
table (if applicable): w
change the flash baud rate if desired.</p>
</section>
</section>
-<section id="debugging-with-openocd">
-<h2>Debugging with OpenOCD<a class="headerlink" href="#debugging-with-openocd"
title="Permalink to this heading"></a></h2>
+<section id="debugging-with-openocd-and-gdb">
+<h2>Debugging with <code class="docutils literal notranslate"><span
class="pre">openocd</span></code> and <code class="docutils literal
notranslate"><span class="pre">gdb</span></code><a class="headerlink"
href="#debugging-with-openocd-and-gdb" title="Permalink to this
heading"></a></h2>
+<p>Espressif uses a specific version of OpenOCD to support ESP32: <a
class="reference external"
href="https://github.com/espressif/">openocd-esp32</a>.</p>
<p>Please check <a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32/api-guides/jtag-debugging/index.html#jtag-debugging-building-openocd">Building
OpenOCD from Sources</a>
for more information on how to build OpenOCD for ESP32.</p>
<p>ESP32 has dedicated pins for JTAG debugging. The following pins are used
for JTAG debugging:</p>
@@ -385,10 +386,36 @@ for more information on how to build OpenOCD for
ESP32.</p>
<a class="reference internal"
href="boards/esp32-wrover-kit/index.html#esp-wrover-kit"><span class="std
std-ref">ESP-WROVER-KIT</span></a>, have a built-in JTAG debugger.</p>
<p>Other boards that don’t have any built-in JTAG debugger can be debugged
using an external JTAG debugger, like the one
described for the <a class="reference internal"
href="boards/esp32-devkitc/index.html#debugging-with-openocd"><span class="std
std-ref">ESP32-DevKitC</span></a>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>One must configure the USB drivers to enable JTAG communication. Please
check
+<a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32/api-guides/jtag-debugging/configure-ft2232h-jtag.html#configure-usb-drivers">Configure
USB Drivers</a>
+for configuring the JTAG adapter of the <a class="reference internal"
href="boards/esp32-ethernet-kit/index.html#esp32-ethernet-kit-v1-2"><span
class="std std-ref">ESP32-Ethernet-Kit V1.2</span></a> and
+<a class="reference internal"
href="boards/esp32-wrover-kit/index.html#esp-wrover-kit"><span class="std
std-ref">ESP-WROVER-KIT</span></a> boards and other FT2232-based JTAG
adapters.</p>
+</div>
<p>OpenOCD can then be used:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS hwthread; set
ESP_FLASH_SIZE 0' -f board/esp32-wrover-kit-1.8v.cfg
</pre></div>
</div>
+<p>Once OpenOCD is running, you can use GDB to connect to it and debug your
application:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>xtensa-esp32-elf-gdb -x gdbinit nuttx
+</pre></div>
+</div>
+<p>whereas the content of the <code class="docutils literal notranslate"><span
class="pre">gdbinit</span></code> file is:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>target remote :3333
+set remote hardware-watchpoint-limit 2
+mon reset halt
+flushregs
+monitor reset halt
+thb nsh_main
+c
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><code class="docutils literal notranslate"><span
class="pre">nuttx</span></code> is the ELF file generated by the build process.
Please note that <code class="docutils literal notranslate"><span
class="pre">CONFIG_DEBUG_SYMBOLS</span></code> must be enabled in the <code
class="docutils literal notranslate"><span
class="pre">menuconfig</span></code>.</p>
+</div>
+<p>Please refer to <a class="reference internal"
href="../../../quickstart/debugging.html"><span
class="doc">Debugging</span></a> for more information about debugging
techniques.</p>
</section>
<section id="peripheral-support">
<h2>Peripheral Support<a class="headerlink" href="#peripheral-support"
title="Permalink to this heading"></a></h2>
diff --git
a/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-kaluga-1/index.html
b/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-kaluga-1/index.html
index e0f782143..7a39c113f 100644
---
a/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-kaluga-1/index.html
+++
b/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-kaluga-1/index.html
@@ -137,7 +137,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32-S2</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-s2-toolchain">ESP32-S2 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#memory-map">Memory Map</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#bit-timers">64-bit Timers</a></li>
diff --git
a/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.html
b/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.html
index d94d12f4d..022703c3e 100644
---
a/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.html
+++
b/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.html
@@ -137,7 +137,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32-S2</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-s2-toolchain">ESP32-S2 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#memory-map">Memory Map</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#bit-timers">64-bit Timers</a></li>
diff --git a/content/docs/latest/platforms/xtensa/esp32s2/index.html
b/content/docs/latest/platforms/xtensa/esp32s2/index.html
index 507652812..b32bfb4aa 100644
--- a/content/docs/latest/platforms/xtensa/esp32s2/index.html
+++ b/content/docs/latest/platforms/xtensa/esp32s2/index.html
@@ -145,7 +145,7 @@
<li class="toctree-l5"><a class="reference internal"
href="#building-and-flashing">Building and Flashing</a></li>
</ul>
</li>
-<li class="toctree-l4"><a class="reference internal"
href="#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="#debugging-with-openocd-and-gdb">Debugging with <code class="docutils
literal notranslate"><span class="pre">openocd</span></code> and <code
class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4"><a class="reference internal" href="#memory-map">Memory
Map</a><ul>
<li class="toctree-l5"><a class="reference internal"
href="#address-mapping">Address Mapping</a></li>
@@ -335,8 +335,9 @@ externally-built 2nd stage bootloader and the partition
table (if applicable): w
change the flash baud rate if desired.</p>
</section>
</section>
-<section id="debugging-with-openocd">
-<h2>Debugging with OpenOCD<a class="headerlink" href="#debugging-with-openocd"
title="Permalink to this heading"></a></h2>
+<section id="debugging-with-openocd-and-gdb">
+<h2>Debugging with <code class="docutils literal notranslate"><span
class="pre">openocd</span></code> and <code class="docutils literal
notranslate"><span class="pre">gdb</span></code><a class="headerlink"
href="#debugging-with-openocd-and-gdb" title="Permalink to this
heading"></a></h2>
+<p>Espressif uses a specific version of OpenOCD to support ESP32-S2: <a
class="reference external"
href="https://github.com/espressif/">openocd-esp32</a>.</p>
<p>Please check <a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32s2/api-guides/jtag-debugging/index.html#jtag-debugging-building-openocd">Building
OpenOCD from Sources</a>
for more information on how to build OpenOCD for ESP32-S2.</p>
<p>ESP32-S2 has dedicated pins for JTAG debugging. The following pins are used
for JTAG debugging:</p>
@@ -364,10 +365,36 @@ for more information on how to build OpenOCD for
ESP32-S2.</p>
<p>Some boards, like <a class="reference internal"
href="boards/esp32s2-kaluga-1/index.html#esp32-s2-kaluga-1-kit-v1-3"><span
class="std std-ref">ESP32-S2-Kaluga-1 Kit v1.3</span></a> have a built-in JTAG
debugger.</p>
<p>Other boards that don’t have any built-in JTAG debugger can be debugged
using an external JTAG debugger being connected
directly to the ESP32-S2 JTAG pins.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>One must configure the USB drivers to enable JTAG communication. Please
check
+<a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32s2/api-guides/jtag-debugging/configure-ft2232h-jtag.html?highlight=udev#configure-usb-drivers">Configure
USB Drivers</a>
+for configuring the JTAG adapter of the <a class="reference internal"
href="boards/esp32s2-kaluga-1/index.html#esp32-s2-kaluga-1-kit-v1-3"><span
class="std std-ref">ESP32-S2-Kaluga-1</span></a> board
+and other FT2232-based JTAG adapters.</p>
+</div>
<p>OpenOCD can then be used:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS hwthread; set
ESP_FLASH_SIZE 0' -f board/esp32s2-kaluga-1.cfg
</pre></div>
</div>
+<p>Once OpenOCD is running, you can use GDB to connect to it and debug your
application:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>xtensa-esp32s2-elf-gdb -x gdbinit nuttx
+</pre></div>
+</div>
+<p>whereas the content of the <code class="docutils literal notranslate"><span
class="pre">gdbinit</span></code> file is:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>target remote :3333
+set remote hardware-watchpoint-limit 2
+mon reset halt
+flushregs
+monitor reset halt
+thb nsh_main
+c
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><code class="docutils literal notranslate"><span
class="pre">nuttx</span></code> is the ELF file generated by the build process.
Please note that <code class="docutils literal notranslate"><span
class="pre">CONFIG_DEBUG_SYMBOLS</span></code> must be enabled in the <code
class="docutils literal notranslate"><span
class="pre">menuconfig</span></code>.</p>
+</div>
+<p>Please refer to <a class="reference internal"
href="../../../quickstart/debugging.html"><span
class="doc">Debugging</span></a> for more information about debugging
techniques.</p>
</section>
<section id="peripheral-support">
<h2>Peripheral Support<a class="headerlink" href="#peripheral-support"
title="Permalink to this heading"></a></h2>
diff --git
a/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.html
b/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.html
index b19e98b90..f4e635e6b 100644
---
a/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.html
+++
b/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.html
@@ -138,7 +138,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32-S3</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-s3-toolchain">ESP32-S3 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4 current"><a class="reference internal"
href="../../index.html#supported-boards">Supported Boards</a><ul
class="current">
<li class="toctree-l5 current"><a class="current reference internal"
href="#">ESP32S3-DevKit</a></li>
diff --git
a/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-eye/index.html
b/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-eye/index.html
index e920d424e..acad329e4 100644
--- a/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-eye/index.html
+++ b/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-eye/index.html
@@ -138,7 +138,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32-S3</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-s3-toolchain">ESP32-S3 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4 current"><a class="reference internal"
href="../../index.html#supported-boards">Supported Boards</a><ul
class="current">
<li class="toctree-l5"><a class="reference internal"
href="../esp32s3-devkit/index.html">ESP32S3-DevKit</a></li>
diff --git
a/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-korvo-2/index.html
b/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-korvo-2/index.html
index 75bf80ea9..c0c7877ea 100644
---
a/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-korvo-2/index.html
+++
b/content/docs/latest/platforms/xtensa/esp32s3/boards/esp32s3-korvo-2/index.html
@@ -138,7 +138,7 @@
<li class="toctree-l3 current"><a class="reference internal"
href="../../index.html">Espressif ESP32-S3</a><ul class="current">
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#esp32-s3-toolchain">ESP32-S3 Toolchain</a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#building-and-flashing-nuttx">Building and flashing
NuttX</a></li>
-<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="../../index.html#debugging-with-openocd-and-gdb">Debugging with <code
class="docutils literal notranslate"><span class="pre">openocd</span></code>
and <code class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="../../index.html#peripheral-support">Peripheral Support</a></li>
<li class="toctree-l4 current"><a class="reference internal"
href="../../index.html#supported-boards">Supported Boards</a><ul
class="current">
<li class="toctree-l5"><a class="reference internal"
href="../esp32s3-devkit/index.html">ESP32S3-DevKit</a></li>
diff --git a/content/docs/latest/platforms/xtensa/esp32s3/index.html
b/content/docs/latest/platforms/xtensa/esp32s3/index.html
index 3d5dd1552..e352b4495 100644
--- a/content/docs/latest/platforms/xtensa/esp32s3/index.html
+++ b/content/docs/latest/platforms/xtensa/esp32s3/index.html
@@ -146,7 +146,7 @@
<li class="toctree-l5"><a class="reference internal"
href="#building-and-flashing">Building and Flashing</a></li>
</ul>
</li>
-<li class="toctree-l4"><a class="reference internal"
href="#debugging-with-openocd">Debugging with OpenOCD</a></li>
+<li class="toctree-l4"><a class="reference internal"
href="#debugging-with-openocd-and-gdb">Debugging with <code class="docutils
literal notranslate"><span class="pre">openocd</span></code> and <code
class="docutils literal notranslate"><span
class="pre">gdb</span></code></a></li>
<li class="toctree-l4"><a class="reference internal"
href="#peripheral-support">Peripheral Support</a><ul>
<li class="toctree-l5"><a class="reference internal"
href="#wi-fi">Wi-Fi</a></li>
<li class="toctree-l5"><a class="reference internal"
href="#wi-fi-softap">Wi-Fi SoftAP</a></li>
@@ -327,8 +327,9 @@ externally-built 2nd stage bootloader and the partition
table (if applicable): w
change the flash baud rate if desired.</p>
</section>
</section>
-<section id="debugging-with-openocd">
-<h2>Debugging with OpenOCD<a class="headerlink" href="#debugging-with-openocd"
title="Permalink to this heading"></a></h2>
+<section id="debugging-with-openocd-and-gdb">
+<h2>Debugging with <code class="docutils literal notranslate"><span
class="pre">openocd</span></code> and <code class="docutils literal
notranslate"><span class="pre">gdb</span></code><a class="headerlink"
href="#debugging-with-openocd-and-gdb" title="Permalink to this
heading"></a></h2>
+<p>Espressif uses a specific version of OpenOCD to support ESP32-S3: <a
class="reference external"
href="https://github.com/espressif/">openocd-esp32</a>.</p>
<p>Please check <a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32s3/api-guides/jtag-debugging/index.html#jtag-debugging-building-openocd">Building
OpenOCD from Sources</a>
for more information on how to build OpenOCD for ESP32-S3.</p>
<p>The quickest and most convenient way to start with JTAG debugging is
through a USB cable
@@ -336,10 +337,35 @@ connected to the D+/D- USB pins of ESP32-S3. No need for
an external JTAG adapte
extra wiring/cable to connect JTAG to ESP32-S3. Most of the ESP32-S3 boards
have a
USB connector that can be used for JTAG debugging.
This is the case for the <a class="reference internal"
href="boards/esp32s3-devkit/index.html#esp32s3-devkit"><span class="std
std-ref">ESP32-S3-DevKit</span></a> board.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>One must configure the USB drivers to enable JTAG communication. Please
check
+<a class="reference external"
href="https://docs.espressif.com/projects/esp-idf/en/release-v5.1/esp32s3/api-guides/jtag-debugging/configure-builtin-jtag.html?highlight=udev#configure-usb-drivers">Configure
USB Drivers</a>
+for more information.</p>
+</div>
<p>OpenOCD can then be used:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>openocd -c 'set ESP_RTOS hwthread; set
ESP_FLASH_SIZE 0' -f board/esp32s3-builtin.cfg
</pre></div>
</div>
+<p>Once OpenOCD is running, you can use GDB to connect to it and debug your
application:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>xtensa-esp32s3-elf-gdb -x gdbinit nuttx
+</pre></div>
+</div>
+<p>whereas the content of the <code class="docutils literal notranslate"><span
class="pre">gdbinit</span></code> file is:</p>
+<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>target remote :3333
+set remote hardware-watchpoint-limit 2
+mon reset halt
+flushregs
+monitor reset halt
+thb nsh_main
+c
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><code class="docutils literal notranslate"><span
class="pre">nuttx</span></code> is the ELF file generated by the build process.
Please note that <code class="docutils literal notranslate"><span
class="pre">CONFIG_DEBUG_SYMBOLS</span></code> must be enabled in the <code
class="docutils literal notranslate"><span
class="pre">menuconfig</span></code>.</p>
+</div>
+<p>Please refer to <a class="reference internal"
href="../../../quickstart/debugging.html"><span
class="doc">Debugging</span></a> for more information about debugging
techniques.</p>
</section>
<section id="peripheral-support">
<h2>Peripheral Support<a class="headerlink" href="#peripheral-support"
title="Permalink to this heading"></a></h2>
diff --git a/content/docs/latest/searchindex.js
b/content/docs/latest/searchindex.js
index 1f8e3e32f..4cc4b391f 100644
--- a/content/docs/latest/searchindex.js
+++ b/content/docs/latest/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/benchmarks/iozone/index",
"applications/bench [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/benchmarks/iozone/index",
"applications/bench [...]
\ No newline at end of file
diff --git a/content/feed.xml b/content/feed.xml
index d7f0181a5..8427f6227 100644
--- a/content/feed.xml
+++ b/content/feed.xml
@@ -5,8 +5,8 @@
<description></description>
<link>/</link>
<atom:link href="/feed.xml" rel="self" type="application/rss+xml"/>
- <pubDate>Wed, 14 Aug 2024 00:19:10 +0000</pubDate>
- <lastBuildDate>Wed, 14 Aug 2024 00:19:10 +0000</lastBuildDate>
+ <pubDate>Thu, 15 Aug 2024 00:19:17 +0000</pubDate>
+ <lastBuildDate>Thu, 15 Aug 2024 00:19:17 +0000</lastBuildDate>
<generator>Jekyll v4.3.2</generator>
<item>