You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gi...@apache.org on 2026/03/18 00:43:57 UTC

(nuttx-website) branch asf-site updated: Publishing web: 996a476878b0fdf6bea181c31cdcf607aa247bc3 docs: f7614f640f80447418d46e52adc148c4f33ab5e8

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 04c1cbddbd Publishing web: 996a476878b0fdf6bea181c31cdcf607aa247bc3 docs: f7614f640f80447418d46e52adc148c4f33ab5e8
04c1cbddbd is described below

commit 04c1cbddbd8586581882c85bee8978a76308b49e
Author: Abhishek Mishra <mi...@gmail.com>
AuthorDate: Wed Mar 18 00:42:48 2026 +0000

    Publishing web: 996a476878b0fdf6bea181c31cdcf607aa247bc3 docs: f7614f640f80447418d46e52adc148c4f33ab5e8
---
 content/docs/10.0.0/index.html                     |   2 +-
 content/docs/10.0.1/index.html                     |   2 +-
 content/docs/10.1.0/index.html                     |   2 +-
 content/docs/10.2.0/index.html                     |   2 +-
 content/docs/10.3.0/index.html                     |   2 +-
 content/docs/11.0.0/index.html                     |   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.10.0/index.html                    |   2 +-
 content/docs/12.10.0/searchindex.js                |   2 +-
 content/docs/12.11.0/guides/fully_linked_elf.html  |   2 +-
 .../docs/12.11.0/guides/partially_linked_elf.html  |   2 +-
 content/docs/12.11.0/index.html                    |   2 +-
 content/docs/12.11.0/searchindex.js                |   2 +-
 content/docs/12.12.0/guides/fully_linked_elf.html  |   2 +-
 .../docs/12.12.0/guides/partially_linked_elf.html  |   2 +-
 content/docs/12.12.0/index.html                    |   2 +-
 content/docs/12.12.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 +-
 content/docs/12.6.0/index.html                     |   2 +-
 content/docs/12.6.0/searchindex.js                 |   2 +-
 content/docs/12.7.0/index.html                     |   2 +-
 content/docs/12.7.0/searchindex.js                 |   2 +-
 content/docs/12.8.0/index.html                     |   2 +-
 content/docs/12.8.0/searchindex.js                 |   2 +-
 content/docs/12.9.0/index.html                     |   2 +-
 content/docs/12.9.0/searchindex.js                 |   2 +-
 .../components/drivers/special/mmcsd.rst.txt       |   4 +
 .../components/drivers/special/sdio.rst.txt        |  42 +++
 .../docs/latest/_sources/debugging/index.rst.txt   |   1 +
 .../latest/_sources/debugging/stackusage.rst.txt   | 159 ++++++++
 .../platforms/risc-v/esp32c3/index.rst.txt         |   2 +-
 .../platforms/risc-v/esp32c6/index.rst.txt         |   2 +-
 .../platforms/risc-v/esp32h2/index.rst.txt         |   2 +-
 .../platforms/risc-v/esp32p4/index.rst.txt         |   2 +-
 .../platforms/xtensa/esp32s2/index.rst.txt         |   2 +-
 .../latest/components/drivers/special/index.html   |   9 +-
 .../latest/components/drivers/special/mmcsd.html   |   3 +
 .../latest/components/drivers/special/sdio.html    |  42 ++-
 content/docs/latest/debugging/coredump.html        |   1 +
 content/docs/latest/debugging/coresight.html       |   1 +
 .../docs/latest/debugging/cortexmhardfaults.html   |   1 +
 .../debugging/debugging_elf_loadable_modules.html  |   1 +
 .../debugging/debuggingflash_nuttxonarm.html       |   1 +
 .../latest/debugging/disabling_stackdumpdebug.html |   5 +-
 content/docs/latest/debugging/gdb/irqinfo.html     |   1 +
 content/docs/latest/debugging/gdbserver.html       |   1 +
 content/docs/latest/debugging/gdbwithpython.html   |   1 +
 content/docs/latest/debugging/gprof.html           |   1 +
 content/docs/latest/debugging/index.html           |  12 +
 content/docs/latest/debugging/kasan.html           |   1 +
 content/docs/latest/debugging/mte.html             |   1 +
 content/docs/latest/debugging/qemugdb.html         |   1 +
 content/docs/latest/debugging/stackcheck.html      |   1 +
 content/docs/latest/debugging/stackrecord.html     |   5 +-
 content/docs/latest/debugging/stackusage.html      | 410 +++++++++++++++++++++
 content/docs/latest/debugging/tasktrace.html       |   1 +
 .../docs/latest/debugging/tasktraceinternal.html   |   1 +
 content/docs/latest/debugging/tasktraceuser.html   |   1 +
 content/docs/latest/guides/fully_linked_elf.html   |   2 +-
 .../docs/latest/guides/partially_linked_elf.html   |   2 +-
 content/docs/latest/index.html                     |   3 +-
 content/docs/latest/objects.inv                    | Bin 192069 -> 192418 bytes
 .../latest/platforms/risc-v/esp32c3/index.html     |   2 +-
 .../latest/platforms/risc-v/esp32c6/index.html     |   2 +-
 .../latest/platforms/risc-v/esp32h2/index.html     |   2 +-
 .../latest/platforms/risc-v/esp32p4/index.html     |   2 +-
 .../latest/platforms/xtensa/esp32s2/index.html     |   2 +-
 content/docs/latest/searchindex.js                 |   2 +-
 content/feed.xml                                   |   4 +-
 83 files changed, 759 insertions(+), 62 deletions(-)

diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html
index 47a9a906e2..ed74e779d4 100644
--- a/content/docs/10.0.0/index.html
+++ b/content/docs/10.0.0/index.html
@@ -207,7 +207,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline">¶</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: 17 March 26 at 00:22</p>
+<p>Last Updated: 18 March 26 at 00:23</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.0.1/index.html b/content/docs/10.0.1/index.html
index 49b6d10104..1dc3d05252 100644
--- a/content/docs/10.0.1/index.html
+++ b/content/docs/10.0.1/index.html
@@ -249,7 +249,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline">¶</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: 17 March 26 at 00:22</p>
+<p>Last Updated: 18 March 26 at 00:23</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.1.0/index.html b/content/docs/10.1.0/index.html
index f9e5c2410d..bb61b23b76 100644
--- a/content/docs/10.1.0/index.html
+++ b/content/docs/10.1.0/index.html
@@ -249,7 +249,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline">¶</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: 17 March 26 at 00:22</p>
+<p>Last Updated: 18 March 26 at 00:23</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.2.0/index.html b/content/docs/10.2.0/index.html
index 25dd6d3a3a..35f0a09baf 100644
--- a/content/docs/10.2.0/index.html
+++ b/content/docs/10.2.0/index.html
@@ -250,7 +250,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline">¶</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: 17 March 26 at 00:22</p>
+<p>Last Updated: 18 March 26 at 00:23</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/10.3.0/index.html b/content/docs/10.3.0/index.html
index 25dd6d3a3a..35f0a09baf 100644
--- a/content/docs/10.3.0/index.html
+++ b/content/docs/10.3.0/index.html
@@ -250,7 +250,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline">¶</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: 17 March 26 at 00:22</p>
+<p>Last Updated: 18 March 26 at 00:23</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/11.0.0/index.html b/content/docs/11.0.0/index.html
index 0520411369..35f0a09baf 100644
--- a/content/docs/11.0.0/index.html
+++ b/content/docs/11.0.0/index.html
@@ -250,7 +250,7 @@ by following these <a class="reference internal" href="contributing/documentatio
 <div class="section" id="nuttx-documentation">
 <h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation" title="Permalink to this headline">¶</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: 17 March 26 at 00:23</p>
+<p>Last Updated: 18 March 26 at 00:23</p>
 <div class="toctree-wrapper compound">
 <p class="caption"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
diff --git a/content/docs/12.0.0/index.html b/content/docs/12.0.0/index.html
index b847befed4..3d6acdc6ce 100644
--- a/content/docs/12.0.0/index.html
+++ b/content/docs/12.0.0/index.html
@@ -175,7 +175,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 headline"></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: 17 March 26 at 00:23</p>
+<p>Last Updated: 18 March 26 at 00:24</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 6951107fb0..c1aa04e6fd 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/drivers/character [...]
\ 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/drivers/character [...]
\ 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 54532653b3..80c0b2b81c 100644
--- a/content/docs/12.1.0/index.html
+++ b/content/docs/12.1.0/index.html
@@ -175,7 +175,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 headline"></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: 17 March 26 at 00:23</p>
+<p>Last Updated: 18 March 26 at 00:24</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 bcf63a0823..4ba2dc18c6 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/drivers/character [...]
\ 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/drivers/character [...]
\ No newline at end of file
diff --git a/content/docs/12.10.0/index.html b/content/docs/12.10.0/index.html
index 8e39b81c13..97d8d9d989 100644
--- a/content/docs/12.10.0/index.html
+++ b/content/docs/12.10.0/index.html
@@ -187,7 +187,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: 17 March 26 at 00:34</p>
+<p>Last Updated: 18 March 26 at 00:35</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.10.0/searchindex.js b/content/docs/12.10.0/searchindex.js
index b379193cfd..d1d8bbb305 100644
--- a/content/docs/12.10.0/searchindex.js
+++ b/content/docs/12.10.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", "_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64", "_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560", "_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", "_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", "_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example", "_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-nrf52", "_tags/ [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", "_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64", "_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560", "_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", "_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", "_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example", "_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-nrf52", "_tags/ [...]
\ No newline at end of file
diff --git a/content/docs/12.11.0/guides/fully_linked_elf.html b/content/docs/12.11.0/guides/fully_linked_elf.html
index 6f1ec6fde3..be5a3086f6 100644
--- a/content/docs/12.11.0/guides/fully_linked_elf.html
+++ b/content/docs/12.11.0/guides/fully_linked_elf.html
@@ -479,7 +479,7 @@ NuttX package: <code class="docutils literal notranslate"><span class="pre">nutt
 <div class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" id="0e506279-ad37-4154-b065-9a446e504620" name="0e506279-ad37-4154-b065-9a446e504620" type="checkbox"><label class="sphinx_collapse__label" for="0e506279-ad37-4154-b065-9a446e504620"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" id="3f80228a-b908-48df-b551-8a52d105b84c" name="3f80228a-b908-48df-b551-8a52d105b84c" type="checkbox"><label class="sphinx_collapse__label" for="3f80228a-b908-48df-b551-8a52d105b84c"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/12.11.0/guides/partially_linked_elf.html b/content/docs/12.11.0/guides/partially_linked_elf.html
index 5ab67f5ff6..9a0cca7ed7 100644
--- a/content/docs/12.11.0/guides/partially_linked_elf.html
+++ b/content/docs/12.11.0/guides/partially_linked_elf.html
@@ -505,7 +505,7 @@ NuttX package: <code class="docutils literal notranslate"><span class="pre">nutt
 <div class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" id="fd79b7d5-6cf9-4268-ae47-86b2bd2a1eba" name="fd79b7d5-6cf9-4268-ae47-86b2bd2a1eba" type="checkbox"><label class="sphinx_collapse__label" for="fd79b7d5-6cf9-4268-ae47-86b2bd2a1eba"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" id="1b6fa8ad-d13c-46a6-8db6-bb9318dc8780" name="1b6fa8ad-d13c-46a6-8db6-bb9318dc8780" type="checkbox"><label class="sphinx_collapse__label" for="1b6fa8ad-d13c-46a6-8db6-bb9318dc8780"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/12.11.0/index.html b/content/docs/12.11.0/index.html
index ac8cc7f241..4462da8694 100644
--- a/content/docs/12.11.0/index.html
+++ b/content/docs/12.11.0/index.html
@@ -189,7 +189,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: 17 March 26 at 00:36</p>
+<p>Last Updated: 18 March 26 at 00:36</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.11.0/searchindex.js b/content/docs/12.11.0/searchindex.js
index aec40bbeff..d14e107b78 100644
--- a/content/docs/12.11.0/searchindex.js
+++ b/content/docs/12.11.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", "_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64", "_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560", "_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", "_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", "_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example", "_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-imx95", "_tags/ [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", "_tags/arch-example", "_tags/chip-a527", "_tags/chip-a64", "_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega2560", "_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", "_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", "_tags/chip-esp32wroom32", "_tags/chip-esp32wrover32", "_tags/chip-example", "_tags/chip-fpga", "_tags/chip-imx8", "_tags/chip-imx93", "_tags/chip-imx95", "_tags/ [...]
\ No newline at end of file
diff --git a/content/docs/12.12.0/guides/fully_linked_elf.html b/content/docs/12.12.0/guides/fully_linked_elf.html
index 569503be35..95d641b066 100644
--- a/content/docs/12.12.0/guides/fully_linked_elf.html
+++ b/content/docs/12.12.0/guides/fully_linked_elf.html
@@ -479,7 +479,7 @@ NuttX package: <code class="docutils literal notranslate"><span class="pre">nutt
 <div class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" id="5a760c14-b7ee-427c-b370-8834bf462858" name="5a760c14-b7ee-427c-b370-8834bf462858" type="checkbox"><label class="sphinx_collapse__label" for="5a760c14-b7ee-427c-b370-8834bf462858"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" id="7451e51c-99ad-4d1d-aac2-3f89f231302a" name="7451e51c-99ad-4d1d-aac2-3f89f231302a" type="checkbox"><label class="sphinx_collapse__label" for="7451e51c-99ad-4d1d-aac2-3f89f231302a"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/12.12.0/guides/partially_linked_elf.html b/content/docs/12.12.0/guides/partially_linked_elf.html
index 1d33fd626a..ade7ed901f 100644
--- a/content/docs/12.12.0/guides/partially_linked_elf.html
+++ b/content/docs/12.12.0/guides/partially_linked_elf.html
@@ -505,7 +505,7 @@ NuttX package: <code class="docutils literal notranslate"><span class="pre">nutt
 <div class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" id="7ca05c57-fc19-4f29-a238-a9dc32762d79" name="7ca05c57-fc19-4f29-a238-a9dc32762d79" type="checkbox"><label class="sphinx_collapse__label" for="7ca05c57-fc19-4f29-a238-a9dc32762d79"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" id="687dafc5-5a66-468e-a025-52fa94e20e1b" name="687dafc5-5a66-468e-a025-52fa94e20e1b" type="checkbox"><label class="sphinx_collapse__label" for="687dafc5-5a66-468e-a025-52fa94e20e1b"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/12.12.0/index.html b/content/docs/12.12.0/index.html
index 234b04b275..0295dc8d02 100644
--- a/content/docs/12.12.0/index.html
+++ b/content/docs/12.12.0/index.html
@@ -189,7 +189,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: 17 March 26 at 00:38</p>
+<p>Last Updated: 18 March 26 at 00:38</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.12.0/searchindex.js b/content/docs/12.12.0/searchindex.js
index 8fe0157915..b48686f4b1 100644
--- a/content/docs/12.12.0/searchindex.js
+++ b/content/docs/12.12.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", "_tags/arch-example", "_tags/arch-renesas", "_tags/arch-risc-v", "_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64", "_tags/chip-at32uc3", "_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega128", "_tags/chip-atmega1284p", "_tags/chip-atmega2560", "_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", "_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", "_tags/ch [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm64", "_tags/arch-avr", "_tags/arch-example", "_tags/arch-renesas", "_tags/arch-risc-v", "_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64", "_tags/chip-at32uc3", "_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega128", "_tags/chip-atmega1284p", "_tags/chip-atmega2560", "_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32a1s", "_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/chip-esp32s3", "_tags/ch [...]
\ 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 b2d7aae106..41cc377f5c 100644
--- a/content/docs/12.2.0/index.html
+++ b/content/docs/12.2.0/index.html
@@ -176,7 +176,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: 17 March 26 at 00:23</p>
+<p>Last Updated: 18 March 26 at 00:24</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 020a85f606..6c8c25703f 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 dd6e355916..7172ae7395 100644
--- a/content/docs/12.2.1/index.html
+++ b/content/docs/12.2.1/index.html
@@ -176,7 +176,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: 17 March 26 at 00:24</p>
+<p>Last Updated: 18 March 26 at 00:25</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 52943614f3..024d21fe2c 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 2b365ce895..91627f9de7 100644
--- a/content/docs/12.3.0/index.html
+++ b/content/docs/12.3.0/index.html
@@ -176,7 +176,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: 17 March 26 at 00:24</p>
+<p>Last Updated: 18 March 26 at 00:25</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 091807067a..316aea6e74 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 13fe17131d..c4471cc1db 100644
--- a/content/docs/12.4.0/index.html
+++ b/content/docs/12.4.0/index.html
@@ -183,7 +183,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: 17 March 26 at 00:24</p>
+<p>Last Updated: 18 March 26 at 00:25</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 f6f46e552f..468aa0305b 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 907ab0e279..785dd4fd12 100644
--- a/content/docs/12.5.0/index.html
+++ b/content/docs/12.5.0/index.html
@@ -183,7 +183,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: 17 March 26 at 00:26</p>
+<p>Last Updated: 18 March 26 at 00:27</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 2879d1ae2c..1242f837d3 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 4a9250e357..112afb08d9 100644
--- a/content/docs/12.5.1/index.html
+++ b/content/docs/12.5.1/index.html
@@ -183,7 +183,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: 17 March 26 at 00:27</p>
+<p>Last Updated: 18 March 26 at 00:28</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 49c9a4ec6d..89152744ee 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/12.6.0/index.html b/content/docs/12.6.0/index.html
index 3f798c8c83..633bd9564c 100644
--- a/content/docs/12.6.0/index.html
+++ b/content/docs/12.6.0/index.html
@@ -184,7 +184,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: 17 March 26 at 00:28</p>
+<p>Last Updated: 18 March 26 at 00:29</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.6.0/searchindex.js b/content/docs/12.6.0/searchindex.js
index f32f73d583..d53238d32c 100644
--- a/content/docs/12.6.0/searchindex.js
+++ b/content/docs/12.6.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/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/docs/12.7.0/index.html b/content/docs/12.7.0/index.html
index 9491960fee..231d61a756 100644
--- a/content/docs/12.7.0/index.html
+++ b/content/docs/12.7.0/index.html
@@ -183,7 +183,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: 17 March 26 at 00:30</p>
+<p>Last Updated: 18 March 26 at 00:30</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.7.0/searchindex.js b/content/docs/12.7.0/searchindex.js
index 87f6f9467c..a444364bb4 100644
--- a/content/docs/12.7.0/searchindex.js
+++ b/content/docs/12.7.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/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/docs/12.8.0/index.html b/content/docs/12.8.0/index.html
index 3f1b9ebcc4..4e2a14c74e 100644
--- a/content/docs/12.8.0/index.html
+++ b/content/docs/12.8.0/index.html
@@ -183,7 +183,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: 17 March 26 at 00:31</p>
+<p>Last Updated: 18 March 26 at 00:32</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.8.0/searchindex.js b/content/docs/12.8.0/searchindex.js
index 1f37aa6cf5..81dbbdb3b4 100644
--- a/content/docs/12.8.0/searchindex.js
+++ b/content/docs/12.8.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/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/docs/12.9.0/index.html b/content/docs/12.9.0/index.html
index aa496b5e27..11d223a464 100644
--- a/content/docs/12.9.0/index.html
+++ b/content/docs/12.9.0/index.html
@@ -183,7 +183,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: 17 March 26 at 00:33</p>
+<p>Last Updated: 18 March 26 at 00:33</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.9.0/searchindex.js b/content/docs/12.9.0/searchindex.js
index 62ea9fefcc..a92c897fc2 100644
--- a/content/docs/12.9.0/searchindex.js
+++ b/content/docs/12.9.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/cachespeed/index", "applications/benchmarks/coremark-pro/index", "applications/benchmarks/coremark/index", "applications/benchmarks/cyclictest/index", "applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", "applications/benchmarks/index", "applications/b [...]
\ 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/cyclictest/index", "applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", "applications/benchmarks/index", "applications/b [...]
\ No newline at end of file
diff --git a/content/docs/latest/_sources/components/drivers/special/mmcsd.rst.txt b/content/docs/latest/_sources/components/drivers/special/mmcsd.rst.txt
index 5ba08b325b..2cd2b5d9d0 100644
--- a/content/docs/latest/_sources/components/drivers/special/mmcsd.rst.txt
+++ b/content/docs/latest/_sources/components/drivers/special/mmcsd.rst.txt
@@ -4,3 +4,7 @@ MMCSD Device Drivers
 
 -  ``include/nuttx/mmcsd.h``. All structures and APIs needed to
    work with MMCSD drivers are provided in this header file.
+
+Implementers of SDIO lower-half drivers should refer to the
+:doc:`SDIO Driver Documentation <sdio>` for details on R2/CSD response
+handling and correctly implementing the lower-half interface.
diff --git a/content/docs/latest/_sources/components/drivers/special/sdio.rst.txt b/content/docs/latest/_sources/components/drivers/special/sdio.rst.txt
index d03f8ecedc..6822b82d38 100644
--- a/content/docs/latest/_sources/components/drivers/special/sdio.rst.txt
+++ b/content/docs/latest/_sources/components/drivers/special/sdio.rst.txt
@@ -31,3 +31,45 @@ SDIO Device Drivers
 
 -  **Examples**: ``arch/arm/src/stm32/stm32_sdio.c`` and
    ``drivers/mmcsd/mmcsd_sdio.c``
+
+Implementing an SDIO lower-half
+===============================
+
+When implementing a new SDMMC controller driver (SDIO lower-half), it must
+provide the interface defined in ``struct sdio_dev_s``.
+
+Call-flow (simplified example)
+------------------------------
+
+The full SDIO/MMCSD call-flow for card identification and initialization
+is more complex and includes additional commands (e.g., CMD0, CMD8,
+ACMD41 / CMD1, CMD2, CMD3, error handling, retries, etc.).  For the
+purposes of documenting the R2/CID/CSD handling expected from the
+lower-half, a simplified interaction around CMD9 looks like this:
+
+1. ``SDIO_SENDCMD``: Send the command that yields an R2 response
+   (e.g., CMD2 for CID, CMD9 for CSD).
+2. ``SDIO_WAITRESPONSE``: Poll for the hardware to complete the command.
+3. ``SDIO_RECVR2``: Retrieve the 136-bit response and provide the
+   decoded 128-bit CID/CSD payload to the MMCSD upper-half.
+
+For the complete card initialization and command sequence, refer to the
+card initialization flowchart in the MMC/SD physical layer
+specification.
+
+R2 (136-bit) response and CSD/CID
+---------------------------------
+
+The standard R2 response format includes a 7-bit CRC that many hardware
+controllers automatically verify and strip. The MMCSD upper-half expects the
+provided 128-bit buffer to contain the CID or CSD payload in its standard
+layout (bits 127-0).
+
+If the controller strips the CRC byte, the remaining bits in the hardware
+registers are often misaligned (shifted). The lower-half MUST shift the four
+32-bit words left by one byte (8 bits) before returning them via ``recv_r2``
+if the CRC is not included in the registers.
+
+Refer to ``arch/arm64/src/bcm2711/bcm2711_sdio.c`` or
+``arch/arm64/src/imx9/imx9_usdhc.c`` for reference implementations of this
+shifting logic.
diff --git a/content/docs/latest/_sources/debugging/index.rst.txt b/content/docs/latest/_sources/debugging/index.rst.txt
index 50bc1c6e5a..0f65ebe3a6 100644
--- a/content/docs/latest/_sources/debugging/index.rst.txt
+++ b/content/docs/latest/_sources/debugging/index.rst.txt
@@ -16,6 +16,7 @@ This page contains a collection of guides on how to debug problems with NuttX.
   coresight.rst
   stackcheck.rst
   stackrecord.rst
+  stackusage.rst
   disabling_stackdumpdebug.rst
   debuggingflash_nuttxonarm.rst
   cortexmhardfaults.rst
diff --git a/content/docs/latest/_sources/debugging/stackusage.rst.txt b/content/docs/latest/_sources/debugging/stackusage.rst.txt
new file mode 100644
index 0000000000..9a024aadc4
--- /dev/null
+++ b/content/docs/latest/_sources/debugging/stackusage.rst.txt
@@ -0,0 +1,159 @@
+===========================
+Static Stack Usage Analysis
+===========================
+
+Overview
+========
+
+``tools/stackusage.py`` performs static stack usage analysis by reading
+DWARF ``.debug_frame`` data from an ELF file.  It extracts per-function
+stack sizes from CFA (Canonical Frame Address) offsets and optionally
+builds a call graph via disassembly to compute worst-case total stack
+depth.
+
+- **Self** – stack bytes used by the function itself (max CFA offset).
+- **Total** – worst-case stack depth through the deepest call chain
+  (self + callees).  A marker prefix flags uncertain values.
+
+Dependencies
+============
+
+The tool invokes standard toolchain binaries:
+
+- **readelf** – symbol table and DWARF frame info
+- **objdump** – disassembly for call graph analysis
+- **addr2line** – source file and line resolution
+
+Both GNU and LLVM toolchains are supported.  Use ``-p`` to set the
+toolchain prefix (e.g. ``-p arm-none-eabi-`` for GCC,
+``-p llvm-`` for LLVM).
+
+The ELF must contain DWARF debug info (``-g`` or ``-gdwarf``).
+No special Kconfig option is needed.
+
+Usage
+=====
+
+Analyze a native ELF (no prefix needed)::
+
+   python3 tools/stackusage.py nuttx
+
+Cross-compiled ELF with GCC toolchain::
+
+   python3 tools/stackusage.py -p arm-none-eabi- nuttx
+
+Cross-compiled ELF with LLVM toolchain::
+
+   python3 tools/stackusage.py -p llvm- nuttx
+
+Show top 20 functions::
+
+   python3 tools/stackusage.py -p arm-none-eabi- -n 20 nuttx
+
+Estimate recursion depth of 10::
+
+   python3 tools/stackusage.py -p arm-none-eabi- -r 10 nuttx
+
+Command Line Options
+====================
+
+.. code-block:: text
+
+   positional arguments:
+     elf                   path to ELF file with DWARF debug info
+
+   options:
+     -p, --prefix PREFIX   toolchain prefix (e.g. arm-none-eabi- or llvm-)
+     -n, --rank N          show top N functions (default: 0 = all)
+     -r, --recursion-depth N
+                           assumed recursion depth (default: 0)
+
+Text Output
+===========
+
+The default output is an aligned table.  Each function's deepest
+backtrace is shown with one frame per row.  The ``Self`` column shows
+each frame's own stack cost.  The ``Backtrace`` column shows the
+function name followed by its code size in parentheses (when available
+from the symbol table), e.g. ``main(128)``.  The entry point of each
+call chain is suffixed with ``~``.
+
+Example (``nucleo-f429zi:trace``, ``-n 3``)::
+
+   Total  Self  Backtrace                    File:Line
+   -----  ----  ---------------------------  -------------------------------------------
+   @2344    56  telnetd_main(236)~           apps/system/telnetd/telnetd.c:42
+           ^24  nsh_telnetmain(128)          apps/nshlib/nsh_telnetd.c:48
+           ^48  nsh_session(400)             apps/nshlib/nsh_session.c:73
+                ...
+          @224  nsh_parse_cmdparm(1024)      apps/nshlib/nsh_parse.c:2362
+           @96  nsh_execute(512)             apps/nshlib/nsh_parse.c:510
+           ^56  nsh_builtin(320)             apps/nshlib/nsh_builtin.c:76
+            88  exec_builtin(256)            apps/builtin/exec_builtin.c:61
+                ...
+           ^64  file_vopen(192)              nuttx/fs/vfs/fs_open.c:124
+                ...
+   @2328    16  sh_main(64)~                 apps/system/nsh/sh_main.c:40
+            16  nsh_system_ctty(96)          apps/nshlib/nsh_system.c:105
+           ^32  nsh_system_(160)             apps/nshlib/nsh_system.c:41
+           ^48  nsh_session(400)             apps/nshlib/nsh_session.c:73
+                ...
+   @2312    24  nsh_main(80)~                apps/system/nsh/nsh_main.c:54
+           ^24  nsh_consolemain(48)          apps/nshlib/nsh_consolemain.c:65
+           ^48  nsh_session(400)             apps/nshlib/nsh_session.c:73
+                ...
+
+Uncertainty markers on both Total and Self columns indicate the most
+significant reason:
+
+=======  ==========================================
+Marker   Meaning
+=======  ==========================================
+``~``    entry point of the call chain (suffix)
+``?``    no DWARF data (self counted as zero)
+``*``    dynamic stack (alloca or VLA)
+``@``    recursion detected
+``^``    indirect call (function pointer)
+=======  ==========================================
+
+Uncertainty Reasons
+===================
+
+======================================  =========================================
+Reason                                  Description
+======================================  =========================================
+recursion: A->B->...->A                 Recursive cycle detected.  Use ``-r N``
+                                        to estimate.
+indirect call (function pointer)        Callee unknown at compile time.
+no DWARF data                           No ``.debug_frame`` entry; self counted
+                                        as zero.
+dynamic stack (alloca/VLA)              Function uses ``alloca()`` or
+                                        variable-length arrays; self is a
+                                        minimum.
+======================================  =========================================
+
+Uncertainty propagates upward: if any callee in the deepest path is
+uncertain the caller is also marked uncertain.
+
+Recursion Depth Estimation
+==========================
+
+By default (``-r 0``) recursive back-edges contribute zero stack.
+With ``-r N`` (N > 0) the tool estimates::
+
+   cycle_body_cost × N
+
+For example ``A(64) -> B(32) -> A``::
+
+   cycle_body_cost = 64 + 32 = 96
+   -r 10 → 96 × 10 = 960 bytes
+
+The result is still marked uncertain.
+
+Supported Architectures
+=======================
+
+Any architecture supported by the toolchain's ``readelf``,
+``objdump``, and ``addr2line`` is supported.  This includes
+ARM, AArch64, x86, x86_64, MIPS, RISC-V, Xtensa, PowerPC, SPARC,
+TriCore, SuperH, and others.
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 4e6f911e63..24ac4e407f 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
@@ -350,7 +350,7 @@ The following list indicates the state of peripherals' support in NuttX:
 Peripheral  Support NOTES
 =========== ======= ====================
 ADC          Yes    Oneshot
-AES          No
+AES          Yes
 Bluetooth    Yes
 CAN/TWAI     Yes
 DMA          No
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 04970c47cc..7a58a99390 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
@@ -340,7 +340,7 @@ The following list indicates the state of peripherals' support in NuttX:
 Peripheral      Support NOTES
 ==============  ======= ====================
 ADC              Yes     Oneshot and internal temperature sensor
-AES              No
+AES              Yes
 Bluetooth        No
 CAN/TWAI         Yes
 DMA              Yes
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 2cfecc9207..8b8936a441 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
@@ -339,7 +339,7 @@ The following list indicates the state of peripherals' support in NuttX:
 Peripheral      Support NOTES
 ==============  ======= ====================
 ADC              Yes     Oneshot and internal temperature sensor
-AES              No
+AES              Yes
 Bluetooth        No
 CAN/TWAI         Yes
 DMA              Yes
diff --git a/content/docs/latest/_sources/platforms/risc-v/esp32p4/index.rst.txt b/content/docs/latest/_sources/platforms/risc-v/esp32p4/index.rst.txt
index f8bac1e743..42d92d5452 100644
--- a/content/docs/latest/_sources/platforms/risc-v/esp32p4/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/risc-v/esp32p4/index.rst.txt
@@ -306,7 +306,7 @@ TRNG               No
 ECDSA              No
 TEE                No
 APM                No
-AES                No
+AES                Yes
 Digital Signature  No
 Secure Boot        No
 XTS_AES            No
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 ca1be4f5b0..1b34b84357 100644
--- a/content/docs/latest/_sources/platforms/xtensa/esp32s2/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/xtensa/esp32s2/index.rst.txt
@@ -376,7 +376,7 @@ The following list indicates the state of peripherals' support in NuttX:
 Peripheral Support NOTES
 ========== ======= =====
 ADC          Yes   Oneshot
-AES          No
+AES          Yes
 CAN/TWAI     Yes
 DAC          No
 DMA          Yes
diff --git a/content/docs/latest/components/drivers/special/index.html b/content/docs/latest/components/drivers/special/index.html
index b85a40a018..43b9f78744 100644
--- a/content/docs/latest/components/drivers/special/index.html
+++ b/content/docs/latest/components/drivers/special/index.html
@@ -767,7 +767,14 @@ and thus expose them to applications.</p>
 </li>
 </ul>
 </li>
-<li class="toctree-l1"><a class="reference internal" href="sdio.html">SDIO Device Drivers</a></li>
+<li class="toctree-l1"><a class="reference internal" href="sdio.html">SDIO Device Drivers</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="sdio.html#implementing-an-sdio-lower-half">Implementing an SDIO lower-half</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="sdio.html#call-flow-simplified-example">Call-flow (simplified example)</a></li>
+<li class="toctree-l3"><a class="reference internal" href="sdio.html#r2-136-bit-response-and-csd-cid">R2 (136-bit) response and CSD/CID</a></li>
+</ul>
+</li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="usbdev.html">USB Device-Side Drivers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="usbhost.html">USB Host-Side Drivers</a></li>
 <li class="toctree-l1"><a class="reference internal" href="usbmisc.html">USB Miscellaneous Drivers</a></li>
diff --git a/content/docs/latest/components/drivers/special/mmcsd.html b/content/docs/latest/components/drivers/special/mmcsd.html
index 3cee3b419c..70d061550c 100644
--- a/content/docs/latest/components/drivers/special/mmcsd.html
+++ b/content/docs/latest/components/drivers/special/mmcsd.html
@@ -254,6 +254,9 @@
 <li><p><code class="docutils literal notranslate"><span class="pre">include/nuttx/mmcsd.h</span></code>. All structures and APIs needed to
 work with MMCSD drivers are provided in this header file.</p></li>
 </ul>
+<p>Implementers of SDIO lower-half drivers should refer to the
+<a class="reference internal" href="sdio.html"><span class="doc">SDIO Driver Documentation</span></a> for details on R2/CSD response
+handling and correctly implementing the lower-half interface.</p>
 </section>
 
 
diff --git a/content/docs/latest/components/drivers/special/sdio.html b/content/docs/latest/components/drivers/special/sdio.html
index 05df6d5b6b..77c3be2b33 100644
--- a/content/docs/latest/components/drivers/special/sdio.html
+++ b/content/docs/latest/components/drivers/special/sdio.html
@@ -162,7 +162,10 @@
 <li class="toctree-l4"><a class="reference internal" href="segger.html">Segger RTT drivers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="spi.html">SPI Device Drivers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="syslog.html">SYSLOG</a></li>
-<li class="toctree-l4 current"><a class="current reference internal" href="#">SDIO Device Drivers</a></li>
+<li class="toctree-l4 current"><a class="current reference internal" href="#">SDIO Device Drivers</a><ul>
+<li class="toctree-l5"><a class="reference internal" href="#implementing-an-sdio-lower-half">Implementing an SDIO lower-half</a></li>
+</ul>
+</li>
 <li class="toctree-l4"><a class="reference internal" href="usbdev.html">USB Device-Side Drivers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="usbhost.html">USB Host-Side Drivers</a></li>
 <li class="toctree-l4"><a class="reference internal" href="usbmisc.html">USB Miscellaneous Drivers</a></li>
@@ -276,6 +279,43 @@ higher level device driver.</p></li>
 <li><p><strong>Examples</strong>: <code class="docutils literal notranslate"><span class="pre">arch/arm/src/stm32/stm32_sdio.c</span></code> and
 <code class="docutils literal notranslate"><span class="pre">drivers/mmcsd/mmcsd_sdio.c</span></code></p></li>
 </ul>
+<section id="implementing-an-sdio-lower-half">
+<h2>Implementing an SDIO lower-half<a class="headerlink" href="#implementing-an-sdio-lower-half" title="Permalink to this heading"></a></h2>
+<p>When implementing a new SDMMC controller driver (SDIO lower-half), it must
+provide the interface defined in <code class="docutils literal notranslate"><span class="pre">struct</span> <span class="pre">sdio_dev_s</span></code>.</p>
+<section id="call-flow-simplified-example">
+<h3>Call-flow (simplified example)<a class="headerlink" href="#call-flow-simplified-example" title="Permalink to this heading"></a></h3>
+<p>The full SDIO/MMCSD call-flow for card identification and initialization
+is more complex and includes additional commands (e.g., CMD0, CMD8,
+ACMD41 / CMD1, CMD2, CMD3, error handling, retries, etc.).  For the
+purposes of documenting the R2/CID/CSD handling expected from the
+lower-half, a simplified interaction around CMD9 looks like this:</p>
+<ol class="arabic simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">SDIO_SENDCMD</span></code>: Send the command that yields an R2 response
+(e.g., CMD2 for CID, CMD9 for CSD).</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">SDIO_WAITRESPONSE</span></code>: Poll for the hardware to complete the command.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">SDIO_RECVR2</span></code>: Retrieve the 136-bit response and provide the
+decoded 128-bit CID/CSD payload to the MMCSD upper-half.</p></li>
+</ol>
+<p>For the complete card initialization and command sequence, refer to the
+card initialization flowchart in the MMC/SD physical layer
+specification.</p>
+</section>
+<section id="r2-136-bit-response-and-csd-cid">
+<h3>R2 (136-bit) response and CSD/CID<a class="headerlink" href="#r2-136-bit-response-and-csd-cid" title="Permalink to this heading"></a></h3>
+<p>The standard R2 response format includes a 7-bit CRC that many hardware
+controllers automatically verify and strip. The MMCSD upper-half expects the
+provided 128-bit buffer to contain the CID or CSD payload in its standard
+layout (bits 127-0).</p>
+<p>If the controller strips the CRC byte, the remaining bits in the hardware
+registers are often misaligned (shifted). The lower-half MUST shift the four
+32-bit words left by one byte (8 bits) before returning them via <code class="docutils literal notranslate"><span class="pre">recv_r2</span></code>
+if the CRC is not included in the registers.</p>
+<p>Refer to <code class="docutils literal notranslate"><span class="pre">arch/arm64/src/bcm2711/bcm2711_sdio.c</span></code> or
+<code class="docutils literal notranslate"><span class="pre">arch/arm64/src/imx9/imx9_usdhc.c</span></code> for reference implementations of this
+shifting logic.</p>
+</section>
+</section>
 </section>
 
 
diff --git a/content/docs/latest/debugging/coredump.html b/content/docs/latest/debugging/coredump.html
index 3b6071c533..4d40338747 100644
--- a/content/docs/latest/debugging/coredump.html
+++ b/content/docs/latest/debugging/coredump.html
@@ -156,6 +156,7 @@
 <li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
diff --git a/content/docs/latest/debugging/coresight.html b/content/docs/latest/debugging/coresight.html
index c45b4914a6..0ec0fc5281 100644
--- a/content/docs/latest/debugging/coresight.html
+++ b/content/docs/latest/debugging/coresight.html
@@ -155,6 +155,7 @@
 </li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
diff --git a/content/docs/latest/debugging/cortexmhardfaults.html b/content/docs/latest/debugging/cortexmhardfaults.html
index de2892ded4..70b745f21c 100644
--- a/content/docs/latest/debugging/cortexmhardfaults.html
+++ b/content/docs/latest/debugging/cortexmhardfaults.html
@@ -150,6 +150,7 @@
 <li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2 current"><a class="current reference internal" href="#">Analyzing Cortex-M Hardfaults</a><ul>
diff --git a/content/docs/latest/debugging/debugging_elf_loadable_modules.html b/content/docs/latest/debugging/debugging_elf_loadable_modules.html
index d3a69fc8ed..5d02de3e12 100644
--- a/content/docs/latest/debugging/debugging_elf_loadable_modules.html
+++ b/content/docs/latest/debugging/debugging_elf_loadable_modules.html
@@ -158,6 +158,7 @@
 <li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
diff --git a/content/docs/latest/debugging/debuggingflash_nuttxonarm.html b/content/docs/latest/debugging/debuggingflash_nuttxonarm.html
index a841436efa..5efa4f3641 100644
--- a/content/docs/latest/debugging/debuggingflash_nuttxonarm.html
+++ b/content/docs/latest/debugging/debuggingflash_nuttxonarm.html
@@ -150,6 +150,7 @@
 <li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2 current"><a class="current reference internal" href="#">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="#what-s-the-problem">What’s the problem?</a></li>
diff --git a/content/docs/latest/debugging/disabling_stackdumpdebug.html b/content/docs/latest/debugging/disabling_stackdumpdebug.html
index 9fbc5ba971..8bf1ae397a 100644
--- a/content/docs/latest/debugging/disabling_stackdumpdebug.html
+++ b/content/docs/latest/debugging/disabling_stackdumpdebug.html
@@ -47,7 +47,7 @@
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
     <link rel="next" title="Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)" href="debuggingflash_nuttxonarm.html" />
-    <link rel="prev" title="Run time stack statistics" href="stackrecord.html" /> 
+    <link rel="prev" title="Static Stack Usage Analysis" href="stackusage.html" /> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -150,6 +150,7 @@
 <li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2 current"><a class="current reference internal" href="#">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
@@ -209,7 +210,7 @@ the board configuration:</p>
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="stackrecord.html" class="btn btn-neutral float-left" title="Run time stack statistics" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="stackusage.html" class="btn btn-neutral float-left" title="Static Stack Usage Analysis" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="debuggingflash_nuttxonarm.html" class="btn btn-neutral float-right" title="Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
diff --git a/content/docs/latest/debugging/gdb/irqinfo.html b/content/docs/latest/debugging/gdb/irqinfo.html
index d54f011674..3ed2822116 100644
--- a/content/docs/latest/debugging/gdb/irqinfo.html
+++ b/content/docs/latest/debugging/gdb/irqinfo.html
@@ -163,6 +163,7 @@
 <li class="toctree-l2"><a class="reference internal" href="../coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
diff --git a/content/docs/latest/debugging/gdbserver.html b/content/docs/latest/debugging/gdbserver.html
index 7bf90f010d..8690720a3f 100644
--- a/content/docs/latest/debugging/gdbserver.html
+++ b/content/docs/latest/debugging/gdbserver.html
@@ -159,6 +159,7 @@
 <li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
diff --git a/content/docs/latest/debugging/gdbwithpython.html b/content/docs/latest/debugging/gdbwithpython.html
index 8a714c31b3..daabb5677a 100644
--- a/content/docs/latest/debugging/gdbwithpython.html
+++ b/content/docs/latest/debugging/gdbwithpython.html
@@ -159,6 +159,7 @@
 <li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
diff --git a/content/docs/latest/debugging/gprof.html b/content/docs/latest/debugging/gprof.html
index 16e017d020..f9b900201a 100644
--- a/content/docs/latest/debugging/gprof.html
+++ b/content/docs/latest/debugging/gprof.html
@@ -174,6 +174,7 @@
 <li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
diff --git a/content/docs/latest/debugging/index.html b/content/docs/latest/debugging/index.html
index 1b9a10f64d..d477115217 100644
--- a/content/docs/latest/debugging/index.html
+++ b/content/docs/latest/debugging/index.html
@@ -150,6 +150,7 @@
 <li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
@@ -352,6 +353,17 @@
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html#notice">Notice</a></li>
 </ul>
 </li>
+<li class="toctree-l1"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html#overview">Overview</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html#dependencies">Dependencies</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html#usage">Usage</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html#command-line-options">Command Line Options</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html#text-output">Text Output</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html#uncertainty-reasons">Uncertainty Reasons</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html#recursion-depth-estimation">Recursion Depth Estimation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html#supported-architectures">Supported Architectures</a></li>
+</ul>
+</li>
 <li class="toctree-l1"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l1"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a><ul>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html#what-s-the-problem">What’s the problem?</a></li>
diff --git a/content/docs/latest/debugging/kasan.html b/content/docs/latest/debugging/kasan.html
index ec4579dd71..2b896590d3 100644
--- a/content/docs/latest/debugging/kasan.html
+++ b/content/docs/latest/debugging/kasan.html
@@ -163,6 +163,7 @@
 <li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
diff --git a/content/docs/latest/debugging/mte.html b/content/docs/latest/debugging/mte.html
index 9557ed2f6e..7af346dd23 100644
--- a/content/docs/latest/debugging/mte.html
+++ b/content/docs/latest/debugging/mte.html
@@ -150,6 +150,7 @@
 <li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
diff --git a/content/docs/latest/debugging/qemugdb.html b/content/docs/latest/debugging/qemugdb.html
index a7563a8de9..ecd31b2bf2 100644
--- a/content/docs/latest/debugging/qemugdb.html
+++ b/content/docs/latest/debugging/qemugdb.html
@@ -155,6 +155,7 @@
 <li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
diff --git a/content/docs/latest/debugging/stackcheck.html b/content/docs/latest/debugging/stackcheck.html
index af08cfa812..0303b982d7 100644
--- a/content/docs/latest/debugging/stackcheck.html
+++ b/content/docs/latest/debugging/stackcheck.html
@@ -158,6 +158,7 @@
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
diff --git a/content/docs/latest/debugging/stackrecord.html b/content/docs/latest/debugging/stackrecord.html
index 02b2803c73..26e192afc8 100644
--- a/content/docs/latest/debugging/stackrecord.html
+++ b/content/docs/latest/debugging/stackrecord.html
@@ -46,7 +46,7 @@
     <script src="../_static/js/theme.js"></script>
     <link rel="index" title="Index" href="../genindex.html" />
     <link rel="search" title="Search" href="../search.html" />
-    <link rel="next" title="Disabling the Stack Dump During Debugging" href="disabling_stackdumpdebug.html" />
+    <link rel="next" title="Static Stack Usage Analysis" href="stackusage.html" />
     <link rel="prev" title="Stack Overflow Check" href="stackcheck.html" /> 
 </head>
 
@@ -157,6 +157,7 @@
 <li class="toctree-l3"><a class="reference internal" href="#notice">Notice</a></li>
 </ul>
 </li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
@@ -280,7 +281,7 @@ the entry function with the noinstrument_function flag to prevent instrumentatio
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
         <a href="stackcheck.html" class="btn btn-neutral float-left" title="Stack Overflow Check" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="disabling_stackdumpdebug.html" class="btn btn-neutral float-right" title="Disabling the Stack Dump During Debugging" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="stackusage.html" class="btn btn-neutral float-right" title="Static Stack Usage Analysis" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
   <hr/>
diff --git a/content/docs/latest/debugging/stackusage.html b/content/docs/latest/debugging/stackusage.html
new file mode 100644
index 0000000000..56a743e03b
--- /dev/null
+++ b/content/docs/latest/debugging/stackusage.html
@@ -0,0 +1,410 @@
+<!--
+ Documentation/_templates/layout.html
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.  The
+ ASF licenses this file to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance with the
+ License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
+ License for the specific language governing permissions and limitations
+ under the License.
+-->
+
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en">
+<head>
+  <meta charset="utf-8" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
+
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  <title>Static Stack Usage Analysis &mdash; NuttX latest documentation</title>
+      <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
+      <link rel="stylesheet" type="text/css" href="../_static/css/theme.css" />
+      <link rel="stylesheet" type="text/css" href="../_static/copybutton.css" />
+      <link rel="stylesheet" type="text/css" href="../_static/sphinx_collapse.css" />
+      <link rel="stylesheet" type="text/css" href="../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" />
+      <link rel="stylesheet" type="text/css" href="../_static/custom.css" />
+
+  
+    <link rel="shortcut icon" href="../_static/favicon.ico"/>
+      <script src="../_static/jquery.js"></script>
+      <script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
+      <script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
+      <script src="../_static/doctools.js"></script>
+      <script src="../_static/sphinx_highlight.js"></script>
+      <script src="../_static/clipboard.min.js"></script>
+      <script src="../_static/copybutton.js"></script>
+      <script src="../_static/design-tabs.js"></script>
+    <script src="../_static/js/theme.js"></script>
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Disabling the Stack Dump During Debugging" href="disabling_stackdumpdebug.html" />
+    <link rel="prev" title="Run time stack statistics" href="stackrecord.html" /> 
+</head>
+
+<body class="wy-body-for-nav"> 
+  <div class="wy-grid-for-nav">
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+  
+    <a href="../index.html" class="icon icon-home"> NuttX
+  
+
+  
+  </a>
+
+  <!-- this version selector is quite ugly, should be probably replaced by something
+       more modern -->
+
+  <div class="version-selector">
+    <select onchange="javascript:location.href = this.value;">
+    
+    <option value="../../latest" selected="selected">latest</option>
+    
+    <option value="../../10.0.0" >10.0.0</option>
+    
+    <option value="../../10.0.1" >10.0.1</option>
+    
+    <option value="../../10.1.0" >10.1.0</option>
+    
+    <option value="../../10.2.0" >10.2.0</option>
+    
+    <option value="../../10.3.0" >10.3.0</option>
+    
+    <option value="../../11.0.0" >11.0.0</option>
+    
+    <option value="../../12.0.0" >12.0.0</option>
+    
+    <option value="../../12.1.0" >12.1.0</option>
+    
+    <option value="../../12.2.0" >12.2.0</option>
+    
+    <option value="../../12.2.1" >12.2.1</option>
+    
+    <option value="../../12.3.0" >12.3.0</option>
+    
+    <option value="../../12.4.0" >12.4.0</option>
+    
+    <option value="../../12.5.0" >12.5.0</option>
+    
+    <option value="../../12.5.1" >12.5.1</option>
+    
+    <option value="../../12.6.0" >12.6.0</option>
+    
+    <option value="../../12.7.0" >12.7.0</option>
+    
+    <option value="../../12.8.0" >12.8.0</option>
+    
+    <option value="../../12.9.0" >12.9.0</option>
+    
+    <option value="../../12.10.0" >12.10.0</option>
+    
+    <option value="../../12.11.0" >12.11.0</option>
+    
+    <option value="../../12.12.0" >12.12.0</option>
+    
+    </select>
+  </div>
+
+  
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" aria-label="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+        </div><div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="Navigation menu">
+              <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
+<ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../index.html">Home</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../introduction/index.html">Introduction</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../quickstart/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../contributing/index.html">Contributing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../introduction/inviolables.html">The Inviolable Principles of NuttX</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../platforms/index.html">Supported Platforms</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../components/index.html">OS Components</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../applications/index.html">Applications</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../implementation/index.html">Implementation Details</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../reference/index.html">API Reference</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">FAQ</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Debugging</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="gdbwithpython.html">GDB with Python</a></li>
+<li class="toctree-l2"><a class="reference internal" href="qemugdb.html">How to debug NuttX using QEMU and GDB</a></li>
+<li class="toctree-l2"><a class="reference internal" href="gdbserver.html">gdbserver</a></li>
+<li class="toctree-l2"><a class="reference internal" href="debugging_elf_loadable_modules.html">Debugging ELF Loadable Modules</a></li>
+<li class="toctree-l2"><a class="reference internal" href="tasktrace.html">Task Trace</a></li>
+<li class="toctree-l2"><a class="reference internal" href="kasan.html">The Kernel Address Sanitizer (KASAN)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="gprof.html">GNU gprof Profiling Tool</a></li>
+<li class="toctree-l2"><a class="reference internal" href="coredump.html">Core Dump</a></li>
+<li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Static Stack Usage Analysis</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#overview">Overview</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#dependencies">Dependencies</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#usage">Usage</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#command-line-options">Command Line Options</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#text-output">Text Output</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#uncertainty-reasons">Uncertainty Reasons</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#recursion-depth-estimation">Recursion Depth Estimation</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#supported-architectures">Supported Architectures</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
+<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
+<li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
+<li class="toctree-l2"><a class="reference internal" href="mte.html">ATM64 MTE extension</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../testing/index.html">Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../guides/index.html">Guides</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../standards/index.html">Standards</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../security.html">Security</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../logos/index.html">NuttX Logos</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../_tags/tagsindex.html">Tags</a></li>
+</ul>
+
+        </div>
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap"><nav class="wy-nav-top" aria-label="Mobile navigation menu" >
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">NuttX</a>
+      </nav>
+
+      <div class="wy-nav-content">
+        <div class="rst-content">
+          <div role="navigation" aria-label="Page navigation">
+  <ul class="wy-breadcrumbs">
+      <li><a href="../index.html" class="icon icon-home" aria-label="Home"></a></li>
+          <li class="breadcrumb-item"><a href="index.html">Debugging</a></li>
+      <li class="breadcrumb-item active">Static Stack Usage Analysis</li>
+      <li class="wy-breadcrumbs-aside">
+              <a href="https://github.com/apache/nuttx/blob/master/Documentation/debugging/stackusage.rst" class="fa fa-github"> Edit on GitHub</a>
+      </li>
+  </ul>
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+             
+  <section id="static-stack-usage-analysis">
+<h1>Static Stack Usage Analysis<a class="headerlink" href="#static-stack-usage-analysis" title="Permalink to this heading"></a></h1>
+<section id="overview">
+<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this heading"></a></h2>
+<p><code class="docutils literal notranslate"><span class="pre">tools/stackusage.py</span></code> performs static stack usage analysis by reading
+DWARF <code class="docutils literal notranslate"><span class="pre">.debug_frame</span></code> data from an ELF file.  It extracts per-function
+stack sizes from CFA (Canonical Frame Address) offsets and optionally
+builds a call graph via disassembly to compute worst-case total stack
+depth.</p>
+<ul class="simple">
+<li><p><strong>Self</strong> – stack bytes used by the function itself (max CFA offset).</p></li>
+<li><p><strong>Total</strong> – worst-case stack depth through the deepest call chain
+(self + callees).  A marker prefix flags uncertain values.</p></li>
+</ul>
+</section>
+<section id="dependencies">
+<h2>Dependencies<a class="headerlink" href="#dependencies" title="Permalink to this heading"></a></h2>
+<p>The tool invokes standard toolchain binaries:</p>
+<ul class="simple">
+<li><p><strong>readelf</strong> – symbol table and DWARF frame info</p></li>
+<li><p><strong>objdump</strong> – disassembly for call graph analysis</p></li>
+<li><p><strong>addr2line</strong> – source file and line resolution</p></li>
+</ul>
+<p>Both GNU and LLVM toolchains are supported.  Use <code class="docutils literal notranslate"><span class="pre">-p</span></code> to set the
+toolchain prefix (e.g. <code class="docutils literal notranslate"><span class="pre">-p</span> <span class="pre">arm-none-eabi-</span></code> for GCC,
+<code class="docutils literal notranslate"><span class="pre">-p</span> <span class="pre">llvm-</span></code> for LLVM).</p>
+<p>The ELF must contain DWARF debug info (<code class="docutils literal notranslate"><span class="pre">-g</span></code> or <code class="docutils literal notranslate"><span class="pre">-gdwarf</span></code>).
+No special Kconfig option is needed.</p>
+</section>
+<section id="usage">
+<h2>Usage<a class="headerlink" href="#usage" title="Permalink to this heading"></a></h2>
+<p>Analyze a native ELF (no prefix needed):</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>python3 tools/stackusage.py nuttx
+</pre></div>
+</div>
+<p>Cross-compiled ELF with GCC toolchain:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>python3 tools/stackusage.py -p arm-none-eabi- nuttx
+</pre></div>
+</div>
+<p>Cross-compiled ELF with LLVM toolchain:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>python3 tools/stackusage.py -p llvm- nuttx
+</pre></div>
+</div>
+<p>Show top 20 functions:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>python3 tools/stackusage.py -p arm-none-eabi- -n 20 nuttx
+</pre></div>
+</div>
+<p>Estimate recursion depth of 10:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>python3 tools/stackusage.py -p arm-none-eabi- -r 10 nuttx
+</pre></div>
+</div>
+</section>
+<section id="command-line-options">
+<h2>Command Line Options<a class="headerlink" href="#command-line-options" title="Permalink to this heading"></a></h2>
+<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>positional arguments:
+  elf                   path to ELF file with DWARF debug info
+
+options:
+  -p, --prefix PREFIX   toolchain prefix (e.g. arm-none-eabi- or llvm-)
+  -n, --rank N          show top N functions (default: 0 = all)
+  -r, --recursion-depth N
+                        assumed recursion depth (default: 0)
+</pre></div>
+</div>
+</section>
+<section id="text-output">
+<h2>Text Output<a class="headerlink" href="#text-output" title="Permalink to this heading"></a></h2>
+<p>The default output is an aligned table.  Each function’s deepest
+backtrace is shown with one frame per row.  The <code class="docutils literal notranslate"><span class="pre">Self</span></code> column shows
+each frame’s own stack cost.  The <code class="docutils literal notranslate"><span class="pre">Backtrace</span></code> column shows the
+function name followed by its code size in parentheses (when available
+from the symbol table), e.g. <code class="docutils literal notranslate"><span class="pre">main(128)</span></code>.  The entry point of each
+call chain is suffixed with <code class="docutils literal notranslate"><span class="pre">~</span></code>.</p>
+<p>Example (<code class="docutils literal notranslate"><span class="pre">nucleo-f429zi:trace</span></code>, <code class="docutils literal notranslate"><span class="pre">-n</span> <span class="pre">3</span></code>):</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>Total  Self  Backtrace                    File:Line
+-----  ----  ---------------------------  -------------------------------------------
+@2344    56  telnetd_main(236)~           apps/system/telnetd/telnetd.c:42
+        ^24  nsh_telnetmain(128)          apps/nshlib/nsh_telnetd.c:48
+        ^48  nsh_session(400)             apps/nshlib/nsh_session.c:73
+             ...
+       @224  nsh_parse_cmdparm(1024)      apps/nshlib/nsh_parse.c:2362
+        @96  nsh_execute(512)             apps/nshlib/nsh_parse.c:510
+        ^56  nsh_builtin(320)             apps/nshlib/nsh_builtin.c:76
+         88  exec_builtin(256)            apps/builtin/exec_builtin.c:61
+             ...
+        ^64  file_vopen(192)              nuttx/fs/vfs/fs_open.c:124
+             ...
+@2328    16  sh_main(64)~                 apps/system/nsh/sh_main.c:40
+         16  nsh_system_ctty(96)          apps/nshlib/nsh_system.c:105
+        ^32  nsh_system_(160)             apps/nshlib/nsh_system.c:41
+        ^48  nsh_session(400)             apps/nshlib/nsh_session.c:73
+             ...
+@2312    24  nsh_main(80)~                apps/system/nsh/nsh_main.c:54
+        ^24  nsh_consolemain(48)          apps/nshlib/nsh_consolemain.c:65
+        ^48  nsh_session(400)             apps/nshlib/nsh_session.c:73
+             ...
+</pre></div>
+</div>
+<p>Uncertainty markers on both Total and Self columns indicate the most
+significant reason:</p>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Marker</p></th>
+<th class="head"><p>Meaning</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">~</span></code></p></td>
+<td><p>entry point of the call chain (suffix)</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">?</span></code></p></td>
+<td><p>no DWARF data (self counted as zero)</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">*</span></code></p></td>
+<td><p>dynamic stack (alloca or VLA)</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">&#64;</span></code></p></td>
+<td><p>recursion detected</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">^</span></code></p></td>
+<td><p>indirect call (function pointer)</p></td>
+</tr>
+</tbody>
+</table>
+</section>
+<section id="uncertainty-reasons">
+<h2>Uncertainty Reasons<a class="headerlink" href="#uncertainty-reasons" title="Permalink to this heading"></a></h2>
+<table class="docutils align-default">
+<thead>
+<tr class="row-odd"><th class="head"><p>Reason</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>recursion: A-&gt;B-&gt;…-&gt;A</p></td>
+<td><p>Recursive cycle detected.  Use <code class="docutils literal notranslate"><span class="pre">-r</span> <span class="pre">N</span></code>
+to estimate.</p></td>
+</tr>
+<tr class="row-odd"><td><p>indirect call (function pointer)</p></td>
+<td><p>Callee unknown at compile time.</p></td>
+</tr>
+<tr class="row-even"><td><p>no DWARF data</p></td>
+<td><p>No <code class="docutils literal notranslate"><span class="pre">.debug_frame</span></code> entry; self counted
+as zero.</p></td>
+</tr>
+<tr class="row-odd"><td><p>dynamic stack (alloca/VLA)</p></td>
+<td><p>Function uses <code class="docutils literal notranslate"><span class="pre">alloca()</span></code> or
+variable-length arrays; self is a
+minimum.</p></td>
+</tr>
+</tbody>
+</table>
+<p>Uncertainty propagates upward: if any callee in the deepest path is
+uncertain the caller is also marked uncertain.</p>
+</section>
+<section id="recursion-depth-estimation">
+<h2>Recursion Depth Estimation<a class="headerlink" href="#recursion-depth-estimation" title="Permalink to this heading"></a></h2>
+<p>By default (<code class="docutils literal notranslate"><span class="pre">-r</span> <span class="pre">0</span></code>) recursive back-edges contribute zero stack.
+With <code class="docutils literal notranslate"><span class="pre">-r</span> <span class="pre">N</span></code> (N &gt; 0) the tool estimates:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>cycle_body_cost × N
+</pre></div>
+</div>
+<p>For example <code class="docutils literal notranslate"><span class="pre">A(64)</span> <span class="pre">-&gt;</span> <span class="pre">B(32)</span> <span class="pre">-&gt;</span> <span class="pre">A</span></code>:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>cycle_body_cost = 64 + 32 = 96
+-r 10 → 96 × 10 = 960 bytes
+</pre></div>
+</div>
+<p>The result is still marked uncertain.</p>
+</section>
+<section id="supported-architectures">
+<h2>Supported Architectures<a class="headerlink" href="#supported-architectures" title="Permalink to this heading"></a></h2>
+<p>Any architecture supported by the toolchain’s <code class="docutils literal notranslate"><span class="pre">readelf</span></code>,
+<code class="docutils literal notranslate"><span class="pre">objdump</span></code>, and <code class="docutils literal notranslate"><span class="pre">addr2line</span></code> is supported.  This includes
+ARM, AArch64, x86, x86_64, MIPS, RISC-V, Xtensa, PowerPC, SPARC,
+TriCore, SuperH, and others.</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="stackrecord.html" class="btn btn-neutral float-left" title="Run time stack statistics" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="disabling_stackdumpdebug.html" class="btn btn-neutral float-right" title="Disabling the Stack Dump During Debugging" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>&#169; Copyright 2023, The Apache Software Foundation.</p>
+  </div>
+
+   
+
+</footer>
+        </div>
+      </div>
+    </section>
+  </div>
+  <script>
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script> 
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/docs/latest/debugging/tasktrace.html b/content/docs/latest/debugging/tasktrace.html
index 4b29716887..e6168db5d2 100644
--- a/content/docs/latest/debugging/tasktrace.html
+++ b/content/docs/latest/debugging/tasktrace.html
@@ -154,6 +154,7 @@
 <li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
diff --git a/content/docs/latest/debugging/tasktraceinternal.html b/content/docs/latest/debugging/tasktraceinternal.html
index b712c79667..e4656f5fe2 100644
--- a/content/docs/latest/debugging/tasktraceinternal.html
+++ b/content/docs/latest/debugging/tasktraceinternal.html
@@ -169,6 +169,7 @@
 <li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
diff --git a/content/docs/latest/debugging/tasktraceuser.html b/content/docs/latest/debugging/tasktraceuser.html
index d12add053d..290cf1e948 100644
--- a/content/docs/latest/debugging/tasktraceuser.html
+++ b/content/docs/latest/debugging/tasktraceuser.html
@@ -180,6 +180,7 @@
 <li class="toctree-l2"><a class="reference internal" href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
diff --git a/content/docs/latest/guides/fully_linked_elf.html b/content/docs/latest/guides/fully_linked_elf.html
index 2a99fd87c8..6cf0b01e01 100644
--- a/content/docs/latest/guides/fully_linked_elf.html
+++ b/content/docs/latest/guides/fully_linked_elf.html
@@ -482,7 +482,7 @@ NuttX package: <code class="docutils literal notranslate"><span class="pre">nutt
 <div class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" id="d624922c-536a-4372-88fe-ef201d789ec6" name="d624922c-536a-4372-88fe-ef201d789ec6" type="checkbox"><label class="sphinx_collapse__label" for="d624922c-536a-4372-88fe-ef201d789ec6"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" id="3f343dc8-54f5-46f2-bc72-5f5608ab5d3f" name="3f343dc8-54f5-46f2-bc72-5f5608ab5d3f" type="checkbox"><label class="sphinx_collapse__label" for="3f343dc8-54f5-46f2-bc72-5f5608ab5d3f"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/latest/guides/partially_linked_elf.html b/content/docs/latest/guides/partially_linked_elf.html
index 614b47436f..84cad391bd 100644
--- a/content/docs/latest/guides/partially_linked_elf.html
+++ b/content/docs/latest/guides/partially_linked_elf.html
@@ -508,7 +508,7 @@ NuttX package: <code class="docutils literal notranslate"><span class="pre">nutt
 <div class="admonition-here-is-an-alternative-minimal-and-possibly-outdated-version admonition">
 <p class="admonition-title">Here is an alternative minimal (and possibly outdated) version</p>
 <div class="sphinx_collapse docutils">
-<input class="sphinx_collapse__input" id="0e3fe4cb-75a3-40a8-8610-0bf5b0d09040" name="0e3fe4cb-75a3-40a8-8610-0bf5b0d09040" type="checkbox"><label class="sphinx_collapse__label" for="0e3fe4cb-75a3-40a8-8610-0bf5b0d09040"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" id="1bb54797-50be-4ef9-957d-7c4c81da50ac" name="1bb54797-50be-4ef9-957d-7c4c81da50ac" type="checkbox"><label class="sphinx_collapse__label" for="1bb54797-50be-4ef9-957d-7c4c81da50ac"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
 <div class="highlight-text notranslate"><div class="highlight"><pre><span></span>SECTIONS
 {
 .text 0x00000000 :
diff --git a/content/docs/latest/index.html b/content/docs/latest/index.html
index a3ca8343a0..6e55891b86 100644
--- a/content/docs/latest/index.html
+++ b/content/docs/latest/index.html
@@ -191,7 +191,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: 17 March 26 at 00:40</p>
+<p>Last Updated: 18 March 26 at 00:40</p>
 <div class="toctree-wrapper compound">
 <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p>
 <ul class="current">
@@ -342,6 +342,7 @@ as fork()).</p>
 <li class="toctree-l2"><a class="reference internal" href="debugging/coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debugging/stackcheck.html">Stack Overflow Check</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debugging/stackrecord.html">Run time stack statistics</a></li>
+<li class="toctree-l2"><a class="reference internal" href="debugging/stackusage.html">Static Stack Usage Analysis</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debugging/disabling_stackdumpdebug.html">Disabling the Stack Dump During Debugging</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debugging/debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li>
 <li class="toctree-l2"><a class="reference internal" href="debugging/cortexmhardfaults.html">Analyzing Cortex-M Hardfaults</a></li>
diff --git a/content/docs/latest/objects.inv b/content/docs/latest/objects.inv
index 63d733011d..9bdbe1b31f 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/index.html b/content/docs/latest/platforms/risc-v/esp32c3/index.html
index a48c93f09c..ce231ee2e8 100644
--- a/content/docs/latest/platforms/risc-v/esp32c3/index.html
+++ b/content/docs/latest/platforms/risc-v/esp32c3/index.html
@@ -629,7 +629,7 @@ functions that were being executed when the crash occurred.</p>
 <td><p>Oneshot</p></td>
 </tr>
 <tr class="row-odd"><td><p>AES</p></td>
-<td><p>No</p></td>
+<td><p>Yes</p></td>
 <td></td>
 </tr>
 <tr class="row-even"><td><p>Bluetooth</p></td>
diff --git a/content/docs/latest/platforms/risc-v/esp32c6/index.html b/content/docs/latest/platforms/risc-v/esp32c6/index.html
index bb986eb145..55a017cdb9 100644
--- a/content/docs/latest/platforms/risc-v/esp32c6/index.html
+++ b/content/docs/latest/platforms/risc-v/esp32c6/index.html
@@ -616,7 +616,7 @@ Backtrace for task 0:
 <td><p>Oneshot and internal temperature sensor</p></td>
 </tr>
 <tr class="row-odd"><td><p>AES</p></td>
-<td><p>No</p></td>
+<td><p>Yes</p></td>
 <td></td>
 </tr>
 <tr class="row-even"><td><p>Bluetooth</p></td>
diff --git a/content/docs/latest/platforms/risc-v/esp32h2/index.html b/content/docs/latest/platforms/risc-v/esp32h2/index.html
index ebf2225f7d..ecbd5cca92 100644
--- a/content/docs/latest/platforms/risc-v/esp32h2/index.html
+++ b/content/docs/latest/platforms/risc-v/esp32h2/index.html
@@ -605,7 +605,7 @@ Backtrace for task 0:
 <td><p>Oneshot and internal temperature sensor</p></td>
 </tr>
 <tr class="row-odd"><td><p>AES</p></td>
-<td><p>No</p></td>
+<td><p>Yes</p></td>
 <td></td>
 </tr>
 <tr class="row-even"><td><p>Bluetooth</p></td>
diff --git a/content/docs/latest/platforms/risc-v/esp32p4/index.html b/content/docs/latest/platforms/risc-v/esp32p4/index.html
index ca4712daf8..3adadc4c64 100644
--- a/content/docs/latest/platforms/risc-v/esp32p4/index.html
+++ b/content/docs/latest/platforms/risc-v/esp32p4/index.html
@@ -699,7 +699,7 @@ board documentation for what is enabled by default.</p>
 <td></td>
 </tr>
 <tr class="row-even"><td><p>AES</p></td>
-<td><p>No</p></td>
+<td><p>Yes</p></td>
 <td></td>
 </tr>
 <tr class="row-odd"><td><p>Digital Signature</p></td>
diff --git a/content/docs/latest/platforms/xtensa/esp32s2/index.html b/content/docs/latest/platforms/xtensa/esp32s2/index.html
index d0be2e67cf..3f188238df 100644
--- a/content/docs/latest/platforms/xtensa/esp32s2/index.html
+++ b/content/docs/latest/platforms/xtensa/esp32s2/index.html
@@ -636,7 +636,7 @@ functions that were being executed when the crash occurred.</p>
 <td><p>Oneshot</p></td>
 </tr>
 <tr class="row-odd"><td><p>AES</p></td>
-<td><p>No</p></td>
+<td><p>Yes</p></td>
 <td></td>
 </tr>
 <tr class="row-even"><td><p>CAN/TWAI</p></td>
diff --git a/content/docs/latest/searchindex.js b/content/docs/latest/searchindex.js
index 2a0d45265b..aaae604f31 100644
--- a/content/docs/latest/searchindex.js
+++ b/content/docs/latest/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["_tags/arch-arm", "_tags/arch-arm64", "_tags/arch-armv8m", "_tags/arch-avr", "_tags/arch-cm33", "_tags/arch-example", "_tags/arch-mips", "_tags/arch-renesas", "_tags/arch-risc-v", "_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64", "_tags/chip-at32uc3", "_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega128", "_tags/chip-atmega1284p", "_tags/chip-atmega2560", "_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32-c3", "_ [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["_tags/arch-arm", "_tags/arch-arm64", "_tags/arch-armv8m", "_tags/arch-avr", "_tags/arch-cm33", "_tags/arch-example", "_tags/arch-mips", "_tags/arch-renesas", "_tags/arch-risc-v", "_tags/arch-riscv", "_tags/arch-sim", "_tags/chip-a527", "_tags/chip-a64", "_tags/chip-at32uc3", "_tags/chip-at90usb", "_tags/chip-atmega", "_tags/chip-atmega128", "_tags/chip-atmega1284p", "_tags/chip-atmega2560", "_tags/chip-bcm2711", "_tags/chip-esp32", "_tags/chip-esp32-c3", "_ [...]
\ No newline at end of file
diff --git a/content/feed.xml b/content/feed.xml
index b12792198d..fd0586830d 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>Tue, 17 Mar 2026 00:41:54 +0000</pubDate>
-    <lastBuildDate>Tue, 17 Mar 2026 00:41:54 +0000</lastBuildDate>
+    <pubDate>Wed, 18 Mar 2026 00:42:25 +0000</pubDate>
+    <lastBuildDate>Wed, 18 Mar 2026 00:42:25 +0000</lastBuildDate>
     <generator>Jekyll v4.4.1</generator>
     
       <item>