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/01/27 00:39:22 UTC

(nuttx-website) branch asf-site updated: Publishing web: 31ab6eb45e7903daced4cf8f07660e86e8a79bb7 docs: 9bda244be89ecfdcd4adfe2c4907dd032ea4f130

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 54ad5b98e7 Publishing web: 31ab6eb45e7903daced4cf8f07660e86e8a79bb7 docs: 9bda244be89ecfdcd4adfe2c4907dd032ea4f130
54ad5b98e7 is described below

commit 54ad5b98e7f239af414bb1763659959d59ec762f
Author: Tomasz 'CeDeROM' CEDRO <to...@cedro.info>
AuthorDate: Tue Jan 27 00:38:15 2026 +0000

    Publishing web: 31ab6eb45e7903daced4cf8f07660e86e8a79bb7 docs: 9bda244be89ecfdcd4adfe2c4907dd032ea4f130
---
 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 +-
 .../docs/latest/_images/hrtimer_state_machine.png  | Bin 357712 -> 0 bytes
 .../docs/latest/_sources/components/crypto.rst.txt |   8 +
 .../components/drivers/character/note.rst.txt      |  17 +
 .../components/drivers/special/syslog.rst.txt      |  67 ++++
 .../latest/_sources/components/tools/index.rst.txt |  10 +
 .../_sources/components/tools/parsetrace.rst.txt   |  75 +++++
 .../_sources/debugging/tasktraceuser.rst.txt       |  38 +++
 .../esp32s2/boards/esp32s2-saola-1/index.rst.txt   |  11 +
 .../_sources/reference/os/time_clock.rst.txt       | 165 ++++++++--
 .../reference/user/01_task_control.rst.txt         |  26 ++
 content/docs/latest/components/arch/index.html     |   4 +-
 content/docs/latest/components/crypto.html         |   8 +
 .../latest/components/drivers/character/note.html  |  29 ++
 .../latest/components/drivers/special/index.html   |   1 +
 .../latest/components/drivers/special/syslog.html  |  59 ++++
 content/docs/latest/components/index.html          |   2 +
 content/docs/latest/components/tools/index.html    |  22 +-
 .../docs/latest/components/tools/parsetrace.html   | 355 +++++++++++++++++++++
 content/docs/latest/debugging/index.html           |   5 +
 content/docs/latest/debugging/tasktraceuser.html   |  43 +++
 content/docs/latest/genindex.html                  |  16 +-
 content/docs/latest/guides/fully_linked_elf.html   |   2 +-
 .../docs/latest/guides/partially_linked_elf.html   |   2 +-
 content/docs/latest/index.html                     |   2 +-
 content/docs/latest/objects.inv                    | Bin 183475 -> 183839 bytes
 .../esp32s2/boards/esp32s2-saola-1/index.html      |  11 +
 content/docs/latest/reference/os/time_clock.html   | 169 ++++++++--
 .../latest/reference/user/01_task_control.html     |  42 +++
 content/docs/latest/searchindex.js                 |   2 +-
 content/feed.xml                                   |   4 +-
 70 files changed, 1181 insertions(+), 94 deletions(-)

diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html
index ba1e99d114..7a33fdc908 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: 26 January 26 at 00:17</p>
+<p>Last Updated: 27 January 26 at 00:18</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 2df422c23e..4cce0a904c 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: 26 January 26 at 00:17</p>
+<p>Last Updated: 27 January 26 at 00:18</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 ce82c25db5..bfd1744f66 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: 26 January 26 at 00:18</p>
+<p>Last Updated: 27 January 26 at 00:18</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 6a9b9461ec..4c4f6952bb 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: 26 January 26 at 00:18</p>
+<p>Last Updated: 27 January 26 at 00:18</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 6a9b9461ec..4c4f6952bb 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: 26 January 26 at 00:18</p>
+<p>Last Updated: 27 January 26 at 00:18</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 6a9b9461ec..4c4f6952bb 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: 26 January 26 at 00:18</p>
+<p>Last Updated: 27 January 26 at 00:18</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 96f2cd9ee1..1db8767fd6 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: 26 January 26 at 00:18</p>
+<p>Last Updated: 27 January 26 at 00:19</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 db44bf3992..0901e0ea0f 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 495806257e..427d1053fd 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: 26 January 26 at 00:19</p>
+<p>Last Updated: 27 January 26 at 00:19</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 541fa33167..e47dee4966 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 b37337926c..d73be0bc06 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: 26 January 26 at 00:28</p>
+<p>Last Updated: 27 January 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.10.0/searchindex.js b/content/docs/12.10.0/searchindex.js
index e67d23b18f..e6c0a74f82 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 de6097a044..c483729815 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="a2b6ccaa-50e5-4f11-9a38-9422c97b4258" name="a2b6ccaa-50e5-4f11-9a38-9422c97b4258" type="checkbox"><label class="sphinx_collapse__label" for="a2b6ccaa-50e5-4f11-9a38-9422c97b4258"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" id="ec147dfe-7f7a-4926-a65d-858f18ff6d18" name="ec147dfe-7f7a-4926-a65d-858f18ff6d18" type="checkbox"><label class="sphinx_collapse__label" for="ec147dfe-7f7a-4926-a65d-858f18ff6d18"><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 6f04e9fea3..9a4a5b4c16 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="d87ef815-fe51-4a58-9878-29d3d11787fe" name="d87ef815-fe51-4a58-9878-29d3d11787fe" type="checkbox"><label class="sphinx_collapse__label" for="d87ef815-fe51-4a58-9878-29d3d11787fe"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" id="45d16dc7-c8d7-4781-837a-19b0f3f00678" name="45d16dc7-c8d7-4781-837a-19b0f3f00678" type="checkbox"><label class="sphinx_collapse__label" for="45d16dc7-c8d7-4781-837a-19b0f3f00678"><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 f1d01557ab..e4df657e15 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: 26 January 26 at 00:30</p>
+<p>Last Updated: 27 January 26 at 00:31</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 559821a7a3..0994fce231 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 be26a21bfa..ad208dafef 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="53f7a027-8301-455b-abf3-7f0548d9e55b" name="53f7a027-8301-455b-abf3-7f0548d9e55b" type="checkbox"><label class="sphinx_collapse__label" for="53f7a027-8301-455b-abf3-7f0548d9e55b"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" id="5a7e6168-eaba-4145-a483-bc0d4b3a4a7a" name="5a7e6168-eaba-4145-a483-bc0d4b3a4a7a" type="checkbox"><label class="sphinx_collapse__label" for="5a7e6168-eaba-4145-a483-bc0d4b3a4a7a"><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 df5f0fc217..6869ef728e 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="7468cb3f-fc07-45d1-86d4-3216a7c5cafa" name="7468cb3f-fc07-45d1-86d4-3216a7c5cafa" type="checkbox"><label class="sphinx_collapse__label" for="7468cb3f-fc07-45d1-86d4-3216a7c5cafa"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" id="c071d2c2-0a44-459a-93f1-bda5be4295f9" name="c071d2c2-0a44-459a-93f1-bda5be4295f9" type="checkbox"><label class="sphinx_collapse__label" for="c071d2c2-0a44-459a-93f1-bda5be4295f9"><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 4857715c3c..15e102c895 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: 26 January 26 at 00:31</p>
+<p>Last Updated: 27 January 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.12.0/searchindex.js b/content/docs/12.12.0/searchindex.js
index ead85919b0..b77ba6e4e1 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 21f5937105..d5b9bbbb5e 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: 26 January 26 at 00:19</p>
+<p>Last Updated: 27 January 26 at 00:19</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 ff329c4713..0f4c13cabb 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 21f5937105..d5b9bbbb5e 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: 26 January 26 at 00:19</p>
+<p>Last Updated: 27 January 26 at 00:19</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 5519fed37b..0066ecc5c0 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 2c585aa563..2fed46e866 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: 26 January 26 at 00:19</p>
+<p>Last Updated: 27 January 26 at 00:20</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 ead0f41636..f7dcf80d7c 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 3bf6ee7707..b79b85f3a3 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: 26 January 26 at 00:20</p>
+<p>Last Updated: 27 January 26 at 00:20</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 d9d1528458..120de30563 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 ef0d24103d..c75e13a2f6 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: 26 January 26 at 00:21</p>
+<p>Last Updated: 27 January 26 at 00:21</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 ab7a239ba3..3daa906cf1 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 a10dabb428..d0b6a37a45 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: 26 January 26 at 00:22</p>
+<p>Last Updated: 27 January 26 at 00:23</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 99bde67806..184a2703d5 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 63d4eed8b1..97b9011661 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: 26 January 26 at 00:23</p>
+<p>Last Updated: 27 January 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.6.0/searchindex.js b/content/docs/12.6.0/searchindex.js
index f3dbce2172..99e775cc5d 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 1b3dd26373..433a5f5dbc 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: 26 January 26 at 00:24</p>
+<p>Last Updated: 27 January 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.7.0/searchindex.js b/content/docs/12.7.0/searchindex.js
index dac651cd42..3e9e33927f 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 76b21eb53a..73fe61db3c 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: 26 January 26 at 00:25</p>
+<p>Last Updated: 27 January 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.8.0/searchindex.js b/content/docs/12.8.0/searchindex.js
index 91c9f6e641..f441521d73 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 482c86b3a8..c63fa141e2 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: 26 January 26 at 00:27</p>
+<p>Last Updated: 27 January 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.9.0/searchindex.js b/content/docs/12.9.0/searchindex.js
index 6e59fa1906..8adcb10248 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/_images/hrtimer_state_machine.png b/content/docs/latest/_images/hrtimer_state_machine.png
deleted file mode 100644
index 27fa647471..0000000000
Binary files a/content/docs/latest/_images/hrtimer_state_machine.png and /dev/null differ
diff --git a/content/docs/latest/_sources/components/crypto.rst.txt b/content/docs/latest/_sources/components/crypto.rst.txt
index d2902239aa..252f18a2bd 100644
--- a/content/docs/latest/_sources/components/crypto.rst.txt
+++ b/content/docs/latest/_sources/components/crypto.rst.txt
@@ -153,6 +153,14 @@ Public Key Algorithms
 - ECDSA key pair generation for different curves
 - Digital signature generation and verification
 
+ECC / ECDSA (Software)
+----------------------
+
+NuttX also provides a lightweight ECC implementation and public API in
+``include/crypto/ecc.h``. It can be used for ECC key generation, ECDH shared
+secret computation, and ECDSA sign/verify. Public key export is available in
+compressed form (``ECC_BYTES + 1``) as well as X/Y uncompressed form.
+
 Key Management Operations
 --------------------------
 
diff --git a/content/docs/latest/_sources/components/drivers/character/note.rst.txt b/content/docs/latest/_sources/components/drivers/character/note.rst.txt
index 1521697430..31016f9f04 100644
--- a/content/docs/latest/_sources/components/drivers/character/note.rst.txt
+++ b/content/docs/latest/_sources/components/drivers/character/note.rst.txt
@@ -237,6 +237,23 @@ Noteram Device (``/dev/note``)
   :return: If success, 0 (``OK``) is returned and the given overwriter mode is set as the current settings.
     If failed, a negated ``errno`` is returned.
 
+.. c:macro:: FIONREAD
+
+  Get the number of unread bytes in the buffer
+
+  :argument: A writable pointer to ``unsigned int`` to receive the number of unread bytes.
+
+  :return: If success, 0 (``OK``) is returned and the number of unread bytes is stored into the given pointer.
+    If failed, a negated ``errno`` is returned.
+
+.. c:macro:: PIPEIOC_POLLINTHRD
+
+  Set the poll threshold for POLLIN event
+
+  :argument: An unsigned int value specifying the threshold in bytes. When the unread data in the buffer is greater than or equal to this value, POLLIN will be notified.
+
+  :return: If success, 0 (``OK``) is returned and the threshold is set. If failed, a negated ``errno`` is returned.
+
 Filter control APIs
 ===================
 
diff --git a/content/docs/latest/_sources/components/drivers/special/syslog.rst.txt b/content/docs/latest/_sources/components/drivers/special/syslog.rst.txt
index d53639bddf..23a558d1a4 100644
--- a/content/docs/latest/_sources/components/drivers/special/syslog.rst.txt
+++ b/content/docs/latest/_sources/components/drivers/special/syslog.rst.txt
@@ -539,6 +539,73 @@ Other miscellaneous settings
 -  ``CONFIG_RAMLOG_NPOLLWAITERS``: The maximum number of threads
    that may be waiting on the poll method.
 
+RAMLOG Rate Limiting
+--------------------
+
+The RAMLOG SYSLOG channel supports rate limiting to prevent log flooding.
+You can set or get the rate limit using the following IOCTLs:
+
+- ``SYSLOGIOC_SETRATELIMIT``: Set the rate limit.
+- ``SYSLOGIOC_GETRATELIMIT``: Get the current rate limit.
+
+The argument is a pointer to:
+
+.. code-block:: c
+
+   struct syslog_ratelimit_s
+   {
+     unsigned int interval; /* The interval in seconds */
+     unsigned int burst;    /* The max allowed log entries during interval */
+   };
+
+**Example (C code):**
+
+.. code-block:: c
+
+   struct syslog_ratelimit_s limit = { .interval = 1, .burst = 100 };
+   ioctl(fd, SYSLOGIOC_SETRATELIMIT, (unsigned long)&limit);
+
+**NSH Tool Example: setlograte**
+
+You can implement a simple NSH command to control the RAMLOG rate limit at runtime, similar to setlogmask:
+
+.. code-block:: c
+
+   int cmd_setlograte(int argc, char **argv)
+   {
+     int fd;
+     struct syslog_ratelimit_s limit;
+
+     if (argc != 3)
+       {
+         printf("Usage: setlograte <interval_sec> <burst>\n");
+         return -1;
+       }
+
+     limit.interval = atoi(argv[1]);
+     limit.burst = atoi(argv[2]);
+
+     fd = open("/dev/ramlog", O_RDWR);
+     if (fd < 0)
+       {
+         printf("Failed to open /dev/ramlog\n");
+         return -1;
+       }
+
+     if (ioctl(fd, SYSLOGIOC_SETRATELIMIT, (unsigned long)&limit) < 0)
+       {
+         printf("Failed to set rate limit\n");
+         close(fd);
+         return -1;
+       }
+
+     printf("Set RAMLOG rate limit: interval=%u sec, burst=%u\n", limit.interval, limit.burst);
+     close(fd);
+     return 0;
+   }
+
+This command allows you to set the maximum number of log entries (burst) allowed in a given interval (seconds) for the RAMLOG device at runtime.
+
 SYSLOG Protocol (RFC 5424)
 ==========================
 
diff --git a/content/docs/latest/_sources/components/tools/index.rst.txt b/content/docs/latest/_sources/components/tools/index.rst.txt
index 65ccb8e054..78874e4556 100644
--- a/content/docs/latest/_sources/components/tools/index.rst.txt
+++ b/content/docs/latest/_sources/components/tools/index.rst.txt
@@ -7,6 +7,11 @@ This page discusses the contents of the NuttX tools/ directory.
 The tools/ directory contains miscellaneous scripts and host C programs
 that are necessary parts of the NuttX build system.
 
+.. toctree::
+   :maxdepth: 2
+
+   parsetrace
+
 cmpconfig.c
 -----------
 
@@ -1225,6 +1230,11 @@ Binaries for both Windows and Linux are available at:
 
 See also indent.sh and nxstyle.c
 
+parsetrace.py
+-------------
+
+``parsetrace.py`` is a Python script for parsing and converting NuttX trace logs. See :doc:`parsetrace` for details.
+
 zds
 ---
 
diff --git a/content/docs/latest/_sources/components/tools/parsetrace.rst.txt b/content/docs/latest/_sources/components/tools/parsetrace.rst.txt
new file mode 100644
index 0000000000..e8d71e18d6
--- /dev/null
+++ b/content/docs/latest/_sources/components/tools/parsetrace.rst.txt
@@ -0,0 +1,75 @@
+parsetrace.py
+=============
+
+`parsetrace.py` is a trace log parsing tool for the NuttX RTOS. It supports converting binary or text trace logs into a human-readable systrace format, and can resolve symbols and type information from ELF files. The tool also supports real-time trace data parsing via serial port.
+
+Features
+--------
+- Supports parsing both binary and text trace log formats.
+- Integrates with ELF files to resolve symbols and type information for improved log readability.
+- Supports real-time trace data parsing from a serial device.
+- Outputs systrace-compatible format for performance analysis and debugging.
+
+Dependencies
+------------
+- Python 3
+- pyelftools
+- cxxfilt
+- pydantic
+- parse
+- pycstruct
+- colorlog
+- serial
+
+Install dependencies:
+
+.. code-block:: bash
+
+   pip install pyelftools cxxfilt pydantic parse pycstruct colorlog serial
+
+Usage
+-----
+
+.. code-block:: bash
+
+   python3 tools/parsetrace.py -t <trace_file> -e <elf_file> [-o <output_file>] [-v]
+
+Arguments:
+
+- ``-t, --trace``: Path to the original trace file (supports binary or text format)
+- ``-e, --elf``: Path to the NuttX ELF file (for symbol resolution)
+- ``-o, --output``: Output file path, default is ``trace.systrace``
+- ``-v, --verbose``: Enable verbose output
+- ``-d, --device``: Serial device name (for real-time trace parsing)
+- ``-b, --baudrate``: Serial baud rate, default is 115200
+
+Examples
+--------
+
+Parse a text trace log and output as systrace format:
+
+.. code-block:: bash
+
+   python3 tools/parsetrace.py -t trace.log -e nuttx.elf -o trace.systrace
+
+Parse a binary trace log:
+
+.. code-block:: bash
+
+   python3 tools/parsetrace.py -t trace.bin -e nuttx.elf
+
+Parse trace data from a serial device in real time:
+
+.. code-block:: bash
+
+   python3 tools/parsetrace.py -d /dev/ttyUSB0 -e nuttx.elf
+
+Main Classes and Functions
+--------------------------
+
+- ``SymbolTables``: Handles ELF symbol and type information parsing.
+- ``Trace``: Parses text trace logs.
+- ``ParseBinaryLogTool``: Parses binary trace logs.
+- ``TraceDecoder``: Parses real-time trace data from serial port.
+
+For more details, refer to the source code in ``tools/parsetrace.py``.
diff --git a/content/docs/latest/_sources/debugging/tasktraceuser.rst.txt b/content/docs/latest/_sources/debugging/tasktraceuser.rst.txt
index 06dd8b1351..6756366fc5 100644
--- a/content/docs/latest/_sources/debugging/tasktraceuser.rst.txt
+++ b/content/docs/latest/_sources/debugging/tasktraceuser.rst.txt
@@ -357,3 +357,41 @@ If no command parameters are specified, display the current filter settings as t
     11
     15
 
+System Startup and Board Initialization Trace
+=============================================
+
+NuttX has trace points during system startup and board initialization.
+
+These trace points include:
+- System startup phases (e.g., BOOT, TASKLISTS, MEMORY, HARDWARE, OSREADY, IDLELOOP)
+- Entry and exit of board_early_initialize() and board_late_initialize()
+- System RESET and PANIC events
+
+This information helps analyze the boot process and locate issues related to board initialization or early system failures.
+
+How to capture startup and board initialization trace
+-----------------------------------------------------
+1. **Ensure trace-related kernel configs are enabled** (see configuration section above).
+2. **Boot the system normally**; the trace driver will automatically record these early trace points.
+3. After boot, export the trace data with:
+
+.. code-block::
+
+   nsh> trace dump boot_trace.txt
+
+4. Open boot_trace.txt in Trace Compass. You will see the timeline of each phase, board early/late init boundaries, and RESET/PANIC events.
+
+Common trace events during the startup
+--------------------------------------
+- ``sched_trace_mark("BOOT")``        : Entering BOOT phase
+- ``sched_trace_mark("TASKLISTS")``   : Initializing task lists
+- ``sched_trace_mark("MEMORY")``      : Memory manager available
+- ``sched_trace_mark("HARDWARE")``    : Hardware resources initialized
+- ``sched_trace_mark("OSREADY")``     : Multitasking ready
+- ``sched_trace_mark("IDLELOOP")``    : Entering idle loop
+- ``boards_trace_begin/end()``         : Entry/exit of board_early_initialize/board_late_initialize
+- ``sched_trace_mark("RESET")``       : System reset
+- ``sched_trace_mark("PANIC")``       : System panic
+
+**Tip:** If you need to analyze boot or board initialization issues, always export and review the boot phase trace data first. This can help you quickly locate the problematic stage.
+
diff --git a/content/docs/latest/_sources/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst.txt b/content/docs/latest/_sources/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst.txt
index 8d2bc79896..3cd9b2ea88 100644
--- a/content/docs/latest/_sources/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst.txt
+++ b/content/docs/latest/_sources/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst.txt
@@ -653,6 +653,17 @@ For example, you can read a file and write to it::
     NuttX RTOS
     nsh>
 
+spi
+---
+
+This configuration enables the support for the SPI driver.
+You can test it by connecting MOSI and MISO pins which are GPIO11 and GPIO13
+by default to each other and running the ``spi`` example::
+
+    nsh> spi exch -b 2 "AB"
+    Sending:	AB
+    Received:	AB
+
 timer
 -----
 
diff --git a/content/docs/latest/_sources/reference/os/time_clock.rst.txt b/content/docs/latest/_sources/reference/os/time_clock.rst.txt
index f178f98075..7beb20824e 100644
--- a/content/docs/latest/_sources/reference/os/time_clock.rst.txt
+++ b/content/docs/latest/_sources/reference/os/time_clock.rst.txt
@@ -630,35 +630,134 @@ require nanosecond-level task timing, which tick-based timers
 like wdog cannot provide. Reducing the tick interval to micro-
 or nanoseconds is impractical, as it would overload the CPU with interrupts.
 
+High-resolution Timer (HRTimer) is a timer abstraction capable of achieving
+nanosecond-level timing resolution, primarily used in scenarios requiring
+high-resolution clock events. With the advancement of integrated circuit
+technology, modern high-resolution timer hardware, such as the typical x86
+HPET, can already meet sub-nanosecond timing requirements and offer
+femtosecond-level jitter control.
+
+Although the current hardware timer abstraction (`up_alarm/up_timer`)
+in the NuttX kernel already supports nanosecond-level timing, its software
+timer abstraction, wdog, and the timer timeout interrupt handling process
+remain at microsecond-level (tick) resolution, which falls short of
+high-resolution timing demands. 
+
 To address this, NuttX provides a high-resolution timer (hrtimer),
-which delivers true nanosecond-level precision. Unlike wdog’s list-based timers,
-hrtimer uses a red-black tree for efficient management of large numbers of timers,
-an important advantage in hard real-time systems like vehicle control.
+which delivers true nanosecond-level precision. HRTimer primarily provides
+the following functional interfaces:
+
+**Set a timer in nanoseconds**: Configure a software timer to trigger at
+                                a specified nanosecond time.
+
+**Cancel a timer**: Cancel the software timer.
+
+**Handle timer timeout**: Execute timeout processing after the timer event
+                          is triggered.
 
 A user can register an hrtimer callback to execute after a specified delay.
 The callback runs in the timer interrupt context, so only limited NuttX interfaces
 are available, such as ``mq_send()``, ``sigqueue()``, ``nxevent_post()``, or ``kill()``,
 to communicate with tasks.
 
-High-resolution timers (hrtimers) use a spinlock to protect internal timer data structures,
-allowing them to be safely accessed from interrupt context. This design makes hrtimers
-suitable for high-frequency timer operations.
-
-However, in SMP systems, a potential issue arises when a user cancels a timer that is currently
-executing: the timer instance may be freed prematurely while its callback is still running.
-To address this problem, a state machine is introduced in the hrtimer implementation:
-
-.. image:: hrtimer_state_machine.png
-   :alt: hrtimer state machine
-
-Users may call ``hrtimer_cancel_sync()`` to synchronously cancel a timer and wait until the
-timer becomes fully inactive. In contrast, ``hrtimer_cancel()`` is a non-blocking variant
-that returns immediately without waiting for the timer to stop executing.
+The hrtimer implementation mainly includes the following interfaces:
+
+**hrtimer_start(timer, func, arg, delay)**: Asynchronously starts a
+  timer that has completed or has been asynchronously canceled (its
+  callback function might still be executing).
+
+**hrtimer_cancel(timer)**: Asynchronously cancels a timer. Note that
+  the semantics of this interface are completely different from Linux's
+  `try_to_cancel`. It ensures that the timer can definitely be canceled
+  successfully, but may need to wait for its callback function to finish
+  execution.
+
+**hrtimer_cancel_sync(timer)**: Synchronously cancels a timer. If the timer's
+  callback function is still executing, this function will spin-wait until
+  the callback completes. It ensures that the user can always obtain
+  ownership of the timer.
+
+The state-machine diagram of the HRTimer is as follows:
+
+.. code-block:: text
+  
+  +------------------------------------------------------+
+  |                 HRTIMER State Diagram                |
+  +------------------------------------------------------+
+  |                                                      |
+  |     +----------------------+                         |
+  |     | HRTIMER_COMPLETED    |                         |
+  |     |      (private)       |                         |
+  |     +----------------------+                         |
+  |                |                                     |
+  |                | hrtimer_start                       |
+  |                |                                     |
+  |                |                                     |
+  |                v                                     |
+  |     +----------------------+                         |
+  |     | HRTIMER_PENDING      |---------------------+   |
+  | +-->|      (shared)        |<---+                |   |
+  | |   +----------------------+    |                |   |
+  | |            |                  |timer callback  |   |
+  | |            |hrtimer_expiry    |return non-zero |   |
+  | |            |                  |                |   |
+  | |            v                  |                |   |
+  | |   +----------------------+    |                |   |
+  | |   | HRTIMER_RUNNING      |----+                |   |
+  | |   |      (shared)        |                     |   |
+  | |   +----------------------+                     |   |
+  | |                    |                           |   |
+  | |                    |                           |   |
+  | |                    |timer return zero          |   |
+  | |                    |or                         |   |
+  | |                    |hrtimer_cancel             |   |
+  | |                    |                           |   |
+  | |                    v                           |   |
+  | |               +----------------------+         |   |
+  | |               | HRTIMER_CANCELED     |<--------+   |
+  | +---------------|    (half_shared)     |             |
+  | hrtimer_start   +----------------------+             |
+  |                        |                             |
+  |     hrtimer_cancel_sync|                             |
+  |         wait all cores |                             |
+  |                        v                             |
+  |     +----------------------+                         |
+  |     | HRTIMER_COMPLETED    |                         |
+  |     |      (private)       |                         |
+  |     +----------------------+                         |
+  |             ^  |                                     |
+  |             |  |                                     |
+  |             +--+                                     |
+  |            hrtimer_cancel                            |
+  +------------------------------------------------------+
+
+The specific definitions of the states are as follows:
+
+**HRTIMER_PENDING|shared**: `hrtimer->func != NULL`. That is, the hrtimer has
+been inserted into the hrtimer queue and is waiting to be executed.
+
+**HRTIMER_COMPLETED|private**: `hrtimer->func == NULL` ∧
+`∀c ∈ [0, CONFIG_SMP_NCPUS), (g_hrtimer_running[c] & ~(1u)) != hrtimer`
+That is, the hrtimer is not in a pending state, and no core is currently
+executing the hrtimer's callback function.  
+
+**HRTIMER_RUNNING|shared**: `hrtimer->func == NULL` ∧
+`∃c ∈ [0, CONFIG_SMP_NCPUS), g_hrtimer_running[c] == hrtimer`.
+That is, the hrtimer is not in a pending state, and there exists at least one
+core that is currently executing the hrtimer’s callback function.
+
+**HRTIMER_CANCELED|half_shared**: `hrtimer->func == NULL` ∧
+`∀c ∈ [0, CONFIG_SMP_NCPUS), g_hrtimer_running[c] != hrtimer`.
+That is, the hrtimer is not in a pending state, and all cores have lost
+ownership of the hrtimer—meaning they can no longer read from or write to the
+hrtimer—though its callback function may still be in the process of being
+executed.
 
 - :c:func:`hrtimer_init`
 - :c:func:`hrtimer_cancel`
 - :c:func:`hrtimer_cancel_sync`
 - :c:func:`hrtimer_start`
+- :c:func:`hrtimer_gettime`
 - High-resolution Timer Callback
 
 .. c:function:: void hrtimer_init(FAR hrtimer_t *hrtimer, hrtentry_t func)
@@ -676,6 +775,8 @@ that returns immediately without waiting for the timer to stop executing.
 
 .. c:function:: int hrtimer_cancel(FAR hrtimer_t *hrtimer)
 
+  Cancel a high-resolution timer asynchronously.
+
   If the timer is armed but has not yet expired, it will be removed from
   the timer queue and the callback will not be invoked.
 
@@ -683,8 +784,9 @@ that returns immediately without waiting for the timer to stop executing.
   the timer as canceled and return immediately. The running callback is
   allowed to complete, but it will not be invoked again.
 
-  This function is non-blocking and does not wait for a running callback
-  to finish.
+  After the function completes, the caller acquires limited ownership,
+  allowing timer restart but not freeing. Callback may still be executing
+  on another CPU. Use with caution to avoid concurrency issues.
 
   :param hrtimer: Timer instance to cancel
 
@@ -698,9 +800,9 @@ that returns immediately without waiting for the timer to stop executing.
   becomes inactive.
 
   This function first calls hrtimer_cancel() to request cancellation of
-  the timer.  If the timer callback is currently executing, this function
-  will wait until the callback has completed and the timer state has
-  transitioned to HRTIMER_STATE_INACTIVE.
+  the timer. It sets timer to canceled state and waits for all
+  references to be released. Caller acquires full ownership and can
+  safely deallocate the timer after this function returns.
 
   This function may sleep and must not be called from interrupt context.
 
@@ -726,8 +828,27 @@ that returns immediately without waiting for the timer to stop executing.
 
   **POSIX Compatibility:** This is a NON-POSIX interface.
 
+.. c:function:: uint64_t hrtimer_gettime(FAR hrtimer_t *timer)
+
+  Get the remaining time until timer expiration.
+
+  :param timer: Timer instance to query
+
+  :return: Remaining time in nanoseconds until next expiration.
+
+  **Assumptions:**
+    - Timer is not NULL.
+
+  **POSIX Compatibility:** This is a NON-POSIX interface.
+
 .. c:type:: uint64_t (*hrtimer_entry_t)(FAR hrtimer_t *hrtimer, \
                                         uint64_t expired)
 
   **High-resolution Timer Callback**: when a hrtimer expires,
   the callback function with this type is called.
+
+  :param timer: The hrtimer pointer passed to callback function,
+     do not modify the hrtimer when executing callback function.
+  :param expired: Time in nanoseconds when timer expired
+
+  :return: Next delay in nanoseconds until next expiration.
diff --git a/content/docs/latest/_sources/reference/user/01_task_control.rst.txt b/content/docs/latest/_sources/reference/user/01_task_control.rst.txt
index e673d71277..163030776c 100644
--- a/content/docs/latest/_sources/reference/user/01_task_control.rst.txt
+++ b/content/docs/latest/_sources/reference/user/01_task_control.rst.txt
@@ -78,10 +78,12 @@ Standard ``posix_spawn`` interfaces:
   - :c:func:`posix_spawnattr_getflags`
   - :c:func:`posix_spawnattr_getschedparam`
   - :c:func:`posix_spawnattr_getschedpolicy`
+  - :c:func:`posix_spawnattr_getpriority`
   - :c:func:`posix_spawnattr_getsigmask`
   - :c:func:`posix_spawnattr_setflags`
   - :c:func:`posix_spawnattr_setschedparam`
   - :c:func:`posix_spawnattr_setschedpolicy`
+  - :c:func:`posix_spawnattr_setpriority`
   - :c:func:`posix_spawnattr_setsigmask`
 
 Non-standard task control interfaces inspired by ``posix_spawn``:
@@ -735,6 +737,17 @@ Functions
   :return: On success, this function returns 0; on failure it
     will return an error number from ``<errno.h>``
 
+.. c:function:: uint8_t posix_spawnattr_getpriority(FAR posix_spawnattr_t *attr)
+
+  The ``posix_spawnattr_getpriority()`` function will obtain
+  the value of the *spawn-priority* attribute from the attributes object
+  referenced by ``attr``.
+
+  This is a non-standard helper API.
+
+  :param attr: The address spawn attributes to be queried.
+  :return: The priority value stored in the attributes object.
+
 .. c:function:: int posix_spawnattr_getsigmask(FAR const posix_spawnattr_t *attr, FAR sigset_t *sigmask)
 
   ``posix_spawnattr_getsigdefault()`` function will
@@ -779,6 +792,19 @@ Functions
   :return: On success, this function returns 0; on failure it
     will return an error number from ``<errno.h>``
 
+.. c:function:: int posix_spawnattr_setpriority(FAR posix_spawnattr_t *attr, uint8_t priority)
+
+  The ``posix_spawnattr_setpriority()`` function will set
+  the *spawn-priority* attribute in an initialized attributes object
+  referenced by ``attr``.
+
+  This is a non-standard helper API.
+
+  :param attr: The address spawn attributes to be used.
+  :param priority: The new priority value to set.
+  :return: On success, this function returns 0; on failure it
+    will return an error number from ``<errno.h>``
+
 .. c:function:: int posix_spawnattr_setsigmask(FAR posix_spawnattr_t *attr, FAR const sigset_t *sigmask)
 
   The ``posix_spawnattr_setsigmask()`` function will set
diff --git a/content/docs/latest/components/arch/index.html b/content/docs/latest/components/arch/index.html
index b21bc1bd3c..d77a6b9bbe 100644
--- a/content/docs/latest/components/arch/index.html
+++ b/content/docs/latest/components/arch/index.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="Boards Support" href="../boards.html" />
-    <link rel="prev" title="/tools Host Tools" href="../tools/index.html" /> 
+    <link rel="prev" title="parsetrace.py" href="../tools/parsetrace.html" /> 
 </head>
 
 <body class="wy-body-for-nav"> 
@@ -348,7 +348,7 @@ final executable.</p>
            </div>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
-        <a href="../tools/index.html" class="btn btn-neutral float-left" title="/tools Host Tools" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../tools/parsetrace.html" class="btn btn-neutral float-left" title="parsetrace.py" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
         <a href="../boards.html" class="btn btn-neutral float-right" title="Boards Support" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
     </div>
 
diff --git a/content/docs/latest/components/crypto.html b/content/docs/latest/components/crypto.html
index f7d9b38ead..08c4dec855 100644
--- a/content/docs/latest/components/crypto.html
+++ b/content/docs/latest/components/crypto.html
@@ -167,6 +167,7 @@
 </li>
 <li class="toctree-l3"><a class="reference internal" href="#asymmetric-cryptography-and-key-management">Asymmetric Cryptography and Key Management</a><ul>
 <li class="toctree-l4"><a class="reference internal" href="#public-key-algorithms">Public Key Algorithms</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#ecc-ecdsa-software">ECC / ECDSA (Software)</a></li>
 <li class="toctree-l4"><a class="reference internal" href="#key-management-operations">Key Management Operations</a></li>
 </ul>
 </li>
@@ -350,6 +351,13 @@
 <li><p>Digital signature generation and verification</p></li>
 </ul>
 </section>
+<section id="ecc-ecdsa-software">
+<h3>ECC / ECDSA (Software)<a class="headerlink" href="#ecc-ecdsa-software" title="Permalink to this heading"></a></h3>
+<p>NuttX also provides a lightweight ECC implementation and public API in
+<code class="docutils literal notranslate"><span class="pre">include/crypto/ecc.h</span></code>. It can be used for ECC key generation, ECDH shared
+secret computation, and ECDSA sign/verify. Public key export is available in
+compressed form (<code class="docutils literal notranslate"><span class="pre">ECC_BYTES</span> <span class="pre">+</span> <span class="pre">1</span></code>) as well as X/Y uncompressed form.</p>
+</section>
 <section id="key-management-operations">
 <h3>Key Management Operations<a class="headerlink" href="#key-management-operations" title="Permalink to this heading"></a></h3>
 <p>The cryptodev module provides comprehensive key management interfaces:</p>
diff --git a/content/docs/latest/components/drivers/character/note.html b/content/docs/latest/components/drivers/character/note.html
index b8bc86a15b..9e60c43b1f 100644
--- a/content/docs/latest/components/drivers/character/note.html
+++ b/content/docs/latest/components/drivers/character/note.html
@@ -570,6 +570,35 @@ If failed, a negated <code class="docutils literal notranslate"><span class="pre
 </dl>
 </dd></dl>
 
+<dl class="c macro">
+<dt class="sig sig-object c" id="c.FIONREAD">
+<span class="sig-name descname"><span class="n"><span class="pre">FIONREAD</span></span></span><a class="headerlink" href="#c.FIONREAD" title="Permalink to this definition"></a><br /></dt>
+<dd><p>Get the number of unread bytes in the buffer</p>
+<dl class="field-list simple">
+<dt class="field-odd">Argument<span class="colon">:</span></dt>
+<dd class="field-odd"><p>A writable pointer to <code class="docutils literal notranslate"><span class="pre">unsigned</span> <span class="pre">int</span></code> to receive the number of unread bytes.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>If success, 0 (<code class="docutils literal notranslate"><span class="pre">OK</span></code>) is returned and the number of unread bytes is stored into the given pointer.
+If failed, a negated <code class="docutils literal notranslate"><span class="pre">errno</span></code> is returned.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<dl class="c macro">
+<dt class="sig sig-object c" id="c.PIPEIOC_POLLINTHRD">
+<span class="sig-name descname"><span class="n"><span class="pre">PIPEIOC_POLLINTHRD</span></span></span><a class="headerlink" href="#c.PIPEIOC_POLLINTHRD" title="Permalink to this definition"></a><br /></dt>
+<dd><p>Set the poll threshold for POLLIN event</p>
+<dl class="field-list simple">
+<dt class="field-odd">Argument<span class="colon">:</span></dt>
+<dd class="field-odd"><p>An unsigned int value specifying the threshold in bytes. When the unread data in the buffer is greater than or equal to this value, POLLIN will be notified.</p>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>If success, 0 (<code class="docutils literal notranslate"><span class="pre">OK</span></code>) is returned and the threshold is set. If failed, a negated <code class="docutils literal notranslate"><span class="pre">errno</span></code> is returned.</p>
+</dd>
+</dl>
+</dd></dl>
+
 </section>
 </section>
 <section id="filter-control-apis">
diff --git a/content/docs/latest/components/drivers/special/index.html b/content/docs/latest/components/drivers/special/index.html
index fb354230cc..358784c011 100644
--- a/content/docs/latest/components/drivers/special/index.html
+++ b/content/docs/latest/components/drivers/special/index.html
@@ -660,6 +660,7 @@ and thus expose them to applications.</p>
 <li class="toctree-l2"><a class="reference internal" href="syslog.html#ram-logging-device">RAM Logging Device</a><ul>
 <li class="toctree-l3"><a class="reference internal" href="syslog.html#dmesg-command"><code class="docutils literal notranslate"><span class="pre">dmesg</span></code> command</a></li>
 <li class="toctree-l3"><a class="reference internal" href="syslog.html#ramlog-configuration-options">RAMLOG Configuration options</a></li>
+<li class="toctree-l3"><a class="reference internal" href="syslog.html#ramlog-rate-limiting">RAMLOG Rate Limiting</a></li>
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="syslog.html#syslog-protocol-rfc-5424">SYSLOG Protocol (RFC 5424)</a><ul>
diff --git a/content/docs/latest/components/drivers/special/syslog.html b/content/docs/latest/components/drivers/special/syslog.html
index fc678dd02c..e3305b8137 100644
--- a/content/docs/latest/components/drivers/special/syslog.html
+++ b/content/docs/latest/components/drivers/special/syslog.html
@@ -707,6 +707,65 @@ when called! So you probably do want this!</p></li>
 that may be waiting on the poll method.</p></li>
 </ul>
 </section>
+<section id="ramlog-rate-limiting">
+<h3>RAMLOG Rate Limiting<a class="headerlink" href="#ramlog-rate-limiting" title="Permalink to this heading"></a></h3>
+<p>The RAMLOG SYSLOG channel supports rate limiting to prevent log flooding.
+You can set or get the rate limit using the following IOCTLs:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">SYSLOGIOC_SETRATELIMIT</span></code>: Set the rate limit.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">SYSLOGIOC_GETRATELIMIT</span></code>: Get the current rate limit.</p></li>
+</ul>
+<p>The argument is a pointer to:</p>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span><span class="w"> </span><span class="nc">syslog_ratelimit_s</span>
+<span class="p">{</span>
+<span class="w">  </span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">interval</span><span class="p">;</span><span class="w"> </span><span class="cm">/* The interval in seconds */</span>
+<span class="w">  </span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">burst</span><span class="p">;</span><span class="w">    </span><span class="cm">/* The max allowed log entries during interval */</span>
+<span class="p">};</span>
+</pre></div>
+</div>
+<p><strong>Example (C code):</strong></p>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="k">struct</span><span class="w"> </span><span class="nc">syslog_ratelimit_s</span><span class="w"> </span><span class="n">limit</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="p">.</span><span class="n">interval</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</ [...]
+<span class="n">ioctl</span><span class="p">(</span><span class="n">fd</span><span class="p">,</span><span class="w"> </span><span class="n">SYSLOGIOC_SETRATELIMIT</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">long</span><span class="p">)</span><span class="o">&amp;</span><span class="n">limit</span><span class="p">);</span>
+</pre></div>
+</div>
+<p><strong>NSH Tool Example: setlograte</strong></p>
+<p>You can implement a simple NSH command to control the RAMLOG rate limit at runtime, similar to setlogmask:</p>
+<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span><span class="w"> </span><span class="nf">cmd_setlograte</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">argc</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">**</span><span class="n">argv</span><span class="p">)</span>
+<span class="p">{</span>
+<span class="w">  </span><span class="kt">int</span><span class="w"> </span><span class="n">fd</span><span class="p">;</span>
+<span class="w">  </span><span class="k">struct</span><span class="w"> </span><span class="nc">syslog_ratelimit_s</span><span class="w"> </span><span class="n">limit</span><span class="p">;</span>
+
+<span class="w">  </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">argc</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="mi">3</span><span class="p">)</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">      </span><span class="n">printf</span><span class="p">(</span><span class="s">&quot;Usage: setlograte &lt;interval_sec&gt; &lt;burst&gt;</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<span class="w">      </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span>
+<span class="w">    </span><span class="p">}</span>
+
+<span class="w">  </span><span class="n">limit</span><span class="p">.</span><span class="n">interval</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">atoi</span><span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">1</span><span class="p">]);</span>
+<span class="w">  </span><span class="n">limit</span><span class="p">.</span><span class="n">burst</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">atoi</span><span class="p">(</span><span class="n">argv</span><span class="p">[</span><span class="mi">2</span><span class="p">]);</span>
+
+<span class="w">  </span><span class="n">fd</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">open</span><span class="p">(</span><span class="s">&quot;/dev/ramlog&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">O_RDWR</span><span class="p">);</span>
+<span class="w">  </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">fd</span><span class="w"> </span><span class="o">&lt;</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span>
+<span class="w">    </span><span class="p">{</span>
+<span class="w">      </span><span class="n">printf</span><span class="p">(</span><span class="s">&quot;Failed to open /dev/ramlog</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<span class="w">      </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span>
+<span class="w">    </span><span class="p">}</span>
+
+<span class="w">  </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ioctl</span><span class="p">(</span><span class="n">fd</span><span class="p">,</span><span class="w"> </span><span class="n">SYSLOGIOC_SETRATELIMIT</span><span class="p">,</span><span class="w"> </span><span class="p">(</span><span class="kt">unsigned</span><span class="w"> </span><span class="kt">long</span><span class="p">)</span><span class="o">&amp;</span><span class="n"> [...]
+<span class="w">    </span><span class="p">{</span>
+<span class="w">      </span><span class="n">printf</span><span class="p">(</span><span class="s">&quot;Failed to set rate limit</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">);</span>
+<span class="w">      </span><span class="n">close</span><span class="p">(</span><span class="n">fd</span><span class="p">);</span>
+<span class="w">      </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span>
+<span class="w">    </span><span class="p">}</span>
+
+<span class="w">  </span><span class="n">printf</span><span class="p">(</span><span class="s">&quot;Set RAMLOG rate limit: interval=%u sec, burst=%u</span><span class="se">\n</span><span class="s">&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">limit</span><span class="p">.</span><span class="n">interval</span><span class="p">,</span><span class="w"> </span><span class="n">limit</span><span class="p">.</span><span class="n">burst</span><span class="p">);</span>
+<span class="w">  </span><span class="n">close</span><span class="p">(</span><span class="n">fd</span><span class="p">);</span>
+<span class="w">  </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>This command allows you to set the maximum number of log entries (burst) allowed in a given interval (seconds) for the RAMLOG device at runtime.</p>
+</section>
 </section>
 <section id="syslog-protocol-rfc-5424">
 <h2>SYSLOG Protocol (RFC 5424)<a class="headerlink" href="#syslog-protocol-rfc-5424" title="Permalink to this heading"></a></h2>
diff --git a/content/docs/latest/components/index.html b/content/docs/latest/components/index.html
index 6d4afde1d4..1bf4ca42f2 100644
--- a/content/docs/latest/components/index.html
+++ b/content/docs/latest/components/index.html
@@ -298,6 +298,7 @@ case, you can head to the <a class="reference internal" href="../reference/index
 </ul>
 </li>
 <li class="toctree-l1"><a class="reference internal" href="tools/index.html"><code class="docutils literal notranslate"><span class="pre">/tools</span></code> Host Tools</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="tools/parsetrace.html">parsetrace.py</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tools/index.html#cmpconfig-c">cmpconfig.c</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tools/index.html#checkkconfig-py">checkkconfig.py</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tools/index.html#checkpatch-sh">checkpatch.sh</a></li>
@@ -342,6 +343,7 @@ case, you can head to the <a class="reference internal" href="../reference/index
 <li class="toctree-l2"><a class="reference internal" href="tools/index.html#showsize-sh">showsize.sh</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tools/index.html#testbuild-sh">testbuild.sh</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tools/index.html#uncrustify-cfg">uncrustify.cfg</a></li>
+<li class="toctree-l2"><a class="reference internal" href="tools/index.html#parsetrace-py">parsetrace.py</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tools/index.html#zds">zds</a></li>
 <li class="toctree-l2"><a class="reference internal" href="tools/index.html#zipme-sh">zipme.sh</a></li>
 </ul>
diff --git a/content/docs/latest/components/tools/index.html b/content/docs/latest/components/tools/index.html
index 816bc3efec..5bbb43f380 100644
--- a/content/docs/latest/components/tools/index.html
+++ b/content/docs/latest/components/tools/index.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="Architecture-Specific Code" href="../arch/index.html" />
+    <link rel="next" title="parsetrace.py" href="parsetrace.html" />
     <link rel="prev" title="Syscall Layer" href="../syscall.html" /> 
 </head>
 
@@ -147,6 +147,7 @@
 <li class="toctree-l2"><a class="reference internal" href="../mm/index.html">Memory Management</a></li>
 <li class="toctree-l2"><a class="reference internal" href="../syscall.html">Syscall Layer</a></li>
 <li class="toctree-l2 current"><a class="current reference internal" href="#"><code class="docutils literal notranslate"><span class="pre">/tools</span></code> Host Tools</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="parsetrace.html">parsetrace.py</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#cmpconfig-c">cmpconfig.c</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#checkkconfig-py">checkkconfig.py</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#checkpatch-sh">checkpatch.sh</a></li>
@@ -191,6 +192,7 @@
 <li class="toctree-l3"><a class="reference internal" href="#showsize-sh">showsize.sh</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#testbuild-sh">testbuild.sh</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#uncrustify-cfg">uncrustify.cfg</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#parsetrace-py">parsetrace.py</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#zds">zds</a></li>
 <li class="toctree-l3"><a class="reference internal" href="#zipme-sh">zipme.sh</a></li>
 </ul>
@@ -248,6 +250,18 @@
 <p>This page discusses the contents of the NuttX tools/ directory.</p>
 <p>The tools/ directory contains miscellaneous scripts and host C programs
 that are necessary parts of the NuttX build system.</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="parsetrace.html">parsetrace.py</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="parsetrace.html#features">Features</a></li>
+<li class="toctree-l2"><a class="reference internal" href="parsetrace.html#dependencies">Dependencies</a></li>
+<li class="toctree-l2"><a class="reference internal" href="parsetrace.html#usage">Usage</a></li>
+<li class="toctree-l2"><a class="reference internal" href="parsetrace.html#examples">Examples</a></li>
+<li class="toctree-l2"><a class="reference internal" href="parsetrace.html#main-classes-and-functions">Main Classes and Functions</a></li>
+</ul>
+</li>
+</ul>
+</div>
 <section id="cmpconfig-c">
 <h2>cmpconfig.c<a class="headerlink" href="#cmpconfig-c" title="Permalink to this heading"></a></h2>
 <p>This C file can be used to build a utility for comparing two NuttX
@@ -1402,6 +1416,10 @@ Binaries for both Windows and Linux are available at:</p>
 </div></blockquote>
 <p>See also indent.sh and nxstyle.c</p>
 </section>
+<section id="parsetrace-py">
+<h2>parsetrace.py<a class="headerlink" href="#parsetrace-py" title="Permalink to this heading"></a></h2>
+<p><code class="docutils literal notranslate"><span class="pre">parsetrace.py</span></code> is a Python script for parsing and converting NuttX trace logs. See <a class="reference internal" href="parsetrace.html"><span class="doc">parsetrace.py</span></a> for details.</p>
+</section>
 <section id="zds">
 <h2>zds<a class="headerlink" href="#zds" title="Permalink to this heading"></a></h2>
 <p>This directory contains build tools used only with the ZDS-II
@@ -1436,7 +1454,7 @@ Any VCS files or directories are excluded from the final tarballs.</p>
           </div>
           <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
         <a href="../syscall.html" class="btn btn-neutral float-left" title="Syscall Layer" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
-        <a href="../arch/index.html" class="btn btn-neutral float-right" title="Architecture-Specific Code" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="parsetrace.html" class="btn btn-neutral float-right" title="parsetrace.py" 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/components/tools/parsetrace.html b/content/docs/latest/components/tools/parsetrace.html
new file mode 100644
index 0000000000..254ce8d0fd
--- /dev/null
+++ b/content/docs/latest/components/tools/parsetrace.html
@@ -0,0 +1,355 @@
+<!--
+ 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>parsetrace.py &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="Architecture-Specific Code" href="../arch/index.html" />
+    <link rel="prev" title="/tools Host Tools" href="index.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 current"><a class="reference internal" href="../index.html">OS Components</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="../binfmt.html">Binary Loader</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../concurrency/index.html">Concurrency</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../drivers/index.html">Device Drivers</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../nxflat.html">NXFLAT</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../nxgraphics/index.html">NX Graphics Subsystem</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../paging.html">On-Demand Paging</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../audio/index.html">Audio Subsystem</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../filesystem/index.html">NuttX File System</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../libs/index.html">NuttX libraries</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../net/index.html">Network Support</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../mm/index.html">Memory Management</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../syscall.html">Syscall Layer</a></li>
+<li class="toctree-l2 current"><a class="reference internal" href="index.html"><code class="docutils literal notranslate"><span class="pre">/tools</span></code> Host Tools</a><ul class="current">
+<li class="toctree-l3 current"><a class="current reference internal" href="#">parsetrace.py</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#features">Features</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#dependencies">Dependencies</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#usage">Usage</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#examples">Examples</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#main-classes-and-functions">Main Classes and Functions</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#cmpconfig-c">cmpconfig.c</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#checkkconfig-py">checkkconfig.py</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#checkpatch-sh">checkpatch.sh</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#configure-sh-configure-bat-configure-c-cfgparser-c-and-cfgparser-h">configure.sh configure.bat configure.c, cfgparser.c, and cfgparser.h</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#convert-comments-c">convert-comments.c</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#detab-c">detab.c</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#discover-py">discover.py</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#gencromfs-c">gencromfs.c</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#initialconfig-c">initialconfig.c</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#kconfig2html-c">kconfig2html.c</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#libraries-mk-flatlibs-mk-protectedlibs-mk-and-kernellib-mk">Libraries.mk, FlatLibs.mk, ProtectedLibs.mk, and KernelLib.mk</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#lowhex-c">lowhex.c</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#makefile-unix-win">Makefile.[unix|win]</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#mkconfig-c-cfgdefine-c-and-cfgdefine-h">mkconfig.c, cfgdefine.c, and cfgdefine.h</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#mkconfigvars-sh">mkconfigvars.sh</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#mkexport-sh-and-export-mk">mkexport.sh and Export.mk</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#mkfsdata-pl">mkfsdata.pl</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#mkversion-c-cfgdefine-c-and-cfgdefine-h">mkversion.c, cfgdefine.c, and cfgdefine.h</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#mksyscall-c-cvsparser-c-and-cvsparser-h">mksyscall.c, cvsparser.c, and cvsparser.h</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#mksymtab-c-cvsparser-c-and-cvsparser-h">mksymtab.c, cvsparser.c, and cvsparser.h</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#mkctags-sh">mkctags.sh</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#nxstyle-c">nxstyle.c</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#pic32mx">pic32mx</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#bdf-convert-c">bdf-convert.c</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#define-sh-and-define-bat">define.sh and define.bat</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#flash-writer-py">flash_writer.py</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#ide-exporter-py">ide_exporter.py</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#incdir-sh-incdir-bat-and-incdir-c">incdir.sh, incdir.bat, and incdir.c</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#indent-sh">indent.sh</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#kconfig-bat">kconfig.bat</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#link-sh-link-bat-copydir-sh-copydir-bat-unlink-sh-and-unlink-bat">link.sh, link.bat, copydir.sh, copydir.bat, unlink.sh, and unlink.bat</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#makefile-host">Makefile.host</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#mkromfsimg-sh">mkromfsimg.sh</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#mkdeps-c-cnvwindeps-c-mkwindeps-sh-and-mknulldeps-sh">mkdeps.c, cnvwindeps.c, mkwindeps.sh, and mknulldeps.sh</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#netusb-sh">netusb.sh</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#nxtagspkgsfetch-sh">nxtagspkgsfetch.sh</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#refresh-sh">refresh.sh</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#rmcr-c">rmcr.c</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#sethost-sh">sethost.sh</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#simhostroute-sh">simhostroute.sh</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#simbridge-sh">simbridge.sh</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#showsize-sh">showsize.sh</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#testbuild-sh">testbuild.sh</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#uncrustify-cfg">uncrustify.cfg</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#parsetrace-py">parsetrace.py</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#zds">zds</a></li>
+<li class="toctree-l3"><a class="reference internal" href="index.html#zipme-sh">zipme.sh</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="../arch/index.html">Architecture-Specific Code</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../boards.html">Boards Support</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../cmake.html">CMake Support</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../openamp.html">OpenAMP Support</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../video.html">Video Subsystem</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../crypto.html">Crypto API Subsystem</a></li>
+<li class="toctree-l2"><a class="reference internal" href="../wireless.html">Wireless Subsystem</a></li>
+</ul>
+</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"><a class="reference internal" href="../../debugging/index.html">Debugging</a></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">OS Components</a></li>
+          <li class="breadcrumb-item"><a href="index.html"><code class="docutils literal notranslate"><span class="pre">/tools</span></code> Host Tools</a></li>
+      <li class="breadcrumb-item active">parsetrace.py</li>
+      <li class="wy-breadcrumbs-aside">
+              <a href="https://github.com/apache/nuttx/blob/master/Documentation/components/tools/parsetrace.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="parsetrace-py">
+<h1>parsetrace.py<a class="headerlink" href="#parsetrace-py" title="Permalink to this heading"></a></h1>
+<p><cite>parsetrace.py</cite> is a trace log parsing tool for the NuttX RTOS. It supports converting binary or text trace logs into a human-readable systrace format, and can resolve symbols and type information from ELF files. The tool also supports real-time trace data parsing via serial port.</p>
+<section id="features">
+<h2>Features<a class="headerlink" href="#features" title="Permalink to this heading"></a></h2>
+<ul class="simple">
+<li><p>Supports parsing both binary and text trace log formats.</p></li>
+<li><p>Integrates with ELF files to resolve symbols and type information for improved log readability.</p></li>
+<li><p>Supports real-time trace data parsing from a serial device.</p></li>
+<li><p>Outputs systrace-compatible format for performance analysis and debugging.</p></li>
+</ul>
+</section>
+<section id="dependencies">
+<h2>Dependencies<a class="headerlink" href="#dependencies" title="Permalink to this heading"></a></h2>
+<ul class="simple">
+<li><p>Python 3</p></li>
+<li><p>pyelftools</p></li>
+<li><p>cxxfilt</p></li>
+<li><p>pydantic</p></li>
+<li><p>parse</p></li>
+<li><p>pycstruct</p></li>
+<li><p>colorlog</p></li>
+<li><p>serial</p></li>
+</ul>
+<p>Install dependencies:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>pip<span class="w"> </span>install<span class="w"> </span>pyelftools<span class="w"> </span>cxxfilt<span class="w"> </span>pydantic<span class="w"> </span>parse<span class="w"> </span>pycstruct<span class="w"> </span>colorlog<span class="w"> </span>serial
+</pre></div>
+</div>
+</section>
+<section id="usage">
+<h2>Usage<a class="headerlink" href="#usage" title="Permalink to this heading"></a></h2>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python3<span class="w"> </span>tools/parsetrace.py<span class="w"> </span>-t<span class="w"> </span>&lt;trace_file&gt;<span class="w"> </span>-e<span class="w"> </span>&lt;elf_file&gt;<span class="w"> </span><span class="o">[</span>-o<span class="w"> </span>&lt;output_file&gt;<span class="o">]</span><span class="w"> </span><span class="o">[</span>-v<span class="o">]</span>
+</pre></div>
+</div>
+<p>Arguments:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">-t,</span> <span class="pre">--trace</span></code>: Path to the original trace file (supports binary or text format)</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-e,</span> <span class="pre">--elf</span></code>: Path to the NuttX ELF file (for symbol resolution)</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-o,</span> <span class="pre">--output</span></code>: Output file path, default is <code class="docutils literal notranslate"><span class="pre">trace.systrace</span></code></p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-v,</span> <span class="pre">--verbose</span></code>: Enable verbose output</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-d,</span> <span class="pre">--device</span></code>: Serial device name (for real-time trace parsing)</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">-b,</span> <span class="pre">--baudrate</span></code>: Serial baud rate, default is 115200</p></li>
+</ul>
+</section>
+<section id="examples">
+<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this heading"></a></h2>
+<p>Parse a text trace log and output as systrace format:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python3<span class="w"> </span>tools/parsetrace.py<span class="w"> </span>-t<span class="w"> </span>trace.log<span class="w"> </span>-e<span class="w"> </span>nuttx.elf<span class="w"> </span>-o<span class="w"> </span>trace.systrace
+</pre></div>
+</div>
+<p>Parse a binary trace log:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python3<span class="w"> </span>tools/parsetrace.py<span class="w"> </span>-t<span class="w"> </span>trace.bin<span class="w"> </span>-e<span class="w"> </span>nuttx.elf
+</pre></div>
+</div>
+<p>Parse trace data from a serial device in real time:</p>
+<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python3<span class="w"> </span>tools/parsetrace.py<span class="w"> </span>-d<span class="w"> </span>/dev/ttyUSB0<span class="w"> </span>-e<span class="w"> </span>nuttx.elf
+</pre></div>
+</div>
+</section>
+<section id="main-classes-and-functions">
+<h2>Main Classes and Functions<a class="headerlink" href="#main-classes-and-functions" title="Permalink to this heading"></a></h2>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">SymbolTables</span></code>: Handles ELF symbol and type information parsing.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">Trace</span></code>: Parses text trace logs.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">ParseBinaryLogTool</span></code>: Parses binary trace logs.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">TraceDecoder</span></code>: Parses real-time trace data from serial port.</p></li>
+</ul>
+<p>For more details, refer to the source code in <code class="docutils literal notranslate"><span class="pre">tools/parsetrace.py</span></code>.</p>
+</section>
+</section>
+
+
+           </div>
+          </div>
+          <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
+        <a href="index.html" class="btn btn-neutral float-left" title="/tools Host Tools" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+        <a href="../arch/index.html" class="btn btn-neutral float-right" title="Architecture-Specific Code" 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/index.html b/content/docs/latest/debugging/index.html
index 935c445685..2e64fe6a7e 100644
--- a/content/docs/latest/debugging/index.html
+++ b/content/docs/latest/debugging/index.html
@@ -257,6 +257,11 @@
 <li class="toctree-l4"><a class="reference internal" href="tasktraceuser.html#trace-irq">trace irq</a></li>
 </ul>
 </li>
+<li class="toctree-l3"><a class="reference internal" href="tasktraceuser.html#system-startup-and-board-initialization-trace">System Startup and Board Initialization Trace</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="tasktraceuser.html#how-to-capture-startup-and-board-initialization-trace">How to capture startup and board initialization trace</a></li>
+<li class="toctree-l4"><a class="reference internal" href="tasktraceuser.html#common-trace-events-during-the-startup">Common trace events during the startup</a></li>
+</ul>
+</li>
 </ul>
 </li>
 <li class="toctree-l2"><a class="reference internal" href="tasktraceinternal.html">Task Trace Internals</a><ul>
diff --git a/content/docs/latest/debugging/tasktraceuser.html b/content/docs/latest/debugging/tasktraceuser.html
index e89cde019e..fcf8b98210 100644
--- a/content/docs/latest/debugging/tasktraceuser.html
+++ b/content/docs/latest/debugging/tasktraceuser.html
@@ -164,6 +164,11 @@
 <li class="toctree-l5"><a class="reference internal" href="#trace-irq">trace irq</a></li>
 </ul>
 </li>
+<li class="toctree-l4"><a class="reference internal" href="#system-startup-and-board-initialization-trace">System Startup and Board Initialization Trace</a><ul>
+<li class="toctree-l5"><a class="reference internal" href="#how-to-capture-startup-and-board-initialization-trace">How to capture startup and board initialization trace</a></li>
+<li class="toctree-l5"><a class="reference internal" href="#common-trace-events-during-the-startup">Common trace events during the startup</a></li>
+</ul>
+</li>
 </ul>
 </li>
 <li class="toctree-l3"><a class="reference internal" href="tasktraceinternal.html">Task Trace Internals</a></li>
@@ -504,6 +509,44 @@ The execution of the filtered IRQ handler is not recorded into the trace data.</
 </div>
 </section>
 </section>
+<section id="system-startup-and-board-initialization-trace">
+<h2>System Startup and Board Initialization Trace<a class="headerlink" href="#system-startup-and-board-initialization-trace" title="Permalink to this heading"></a></h2>
+<p>NuttX has trace points during system startup and board initialization.</p>
+<p>These trace points include:
+- System startup phases (e.g., BOOT, TASKLISTS, MEMORY, HARDWARE, OSREADY, IDLELOOP)
+- Entry and exit of board_early_initialize() and board_late_initialize()
+- System RESET and PANIC events</p>
+<p>This information helps analyze the boot process and locate issues related to board initialization or early system failures.</p>
+<section id="how-to-capture-startup-and-board-initialization-trace">
+<h3>How to capture startup and board initialization trace<a class="headerlink" href="#how-to-capture-startup-and-board-initialization-trace" title="Permalink to this heading"></a></h3>
+<ol class="arabic simple">
+<li><p><strong>Ensure trace-related kernel configs are enabled</strong> (see configuration section above).</p></li>
+<li><p><strong>Boot the system normally</strong>; the trace driver will automatically record these early trace points.</p></li>
+<li><p>After boot, export the trace data with:</p></li>
+</ol>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>nsh&gt; trace dump boot_trace.txt
+</pre></div>
+</div>
+<ol class="arabic simple" start="4">
+<li><p>Open boot_trace.txt in Trace Compass. You will see the timeline of each phase, board early/late init boundaries, and RESET/PANIC events.</p></li>
+</ol>
+</section>
+<section id="common-trace-events-during-the-startup">
+<h3>Common trace events during the startup<a class="headerlink" href="#common-trace-events-during-the-startup" title="Permalink to this heading"></a></h3>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">sched_trace_mark(&quot;BOOT&quot;)</span></code>        : Entering BOOT phase</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">sched_trace_mark(&quot;TASKLISTS&quot;)</span></code>   : Initializing task lists</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">sched_trace_mark(&quot;MEMORY&quot;)</span></code>      : Memory manager available</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">sched_trace_mark(&quot;HARDWARE&quot;)</span></code>    : Hardware resources initialized</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">sched_trace_mark(&quot;OSREADY&quot;)</span></code>     : Multitasking ready</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">sched_trace_mark(&quot;IDLELOOP&quot;)</span></code>    : Entering idle loop</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">boards_trace_begin/end()</span></code>         : Entry/exit of board_early_initialize/board_late_initialize</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">sched_trace_mark(&quot;RESET&quot;)</span></code>       : System reset</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">sched_trace_mark(&quot;PANIC&quot;)</span></code>       : System panic</p></li>
+</ul>
+<p><strong>Tip:</strong> If you need to analyze boot or board initialization issues, always export and review the boot phase trace data first. This can help you quickly locate the problematic stage.</p>
+</section>
+</section>
 </section>
 
 
diff --git a/content/docs/latest/genindex.html b/content/docs/latest/genindex.html
index 8330f70aa3..27361d148b 100644
--- a/content/docs/latest/genindex.html
+++ b/content/docs/latest/genindex.html
@@ -532,6 +532,8 @@
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
       <li><a href="reference/user/10_filesystem.html#c.fcntl">fcntl (C function)</a>
+</li>
+      <li><a href="components/drivers/character/note.html#c.FIONREAD">FIONREAD (C macro)</a>
 </li>
       <li><a href="glossary.html#term-FSMC"><strong>FSMC</strong></a>
 </li>
@@ -594,10 +596,12 @@
       <li><a href="reference/os/time_clock.html#c.hrtimer_cancel">hrtimer_cancel (C function)</a>
 </li>
       <li><a href="reference/os/time_clock.html#c.hrtimer_cancel_sync">hrtimer_cancel_sync (C function)</a>
+</li>
+      <li><a href="reference/os/time_clock.html#c.hrtimer_entry_t">hrtimer_entry_t (C type)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
-      <li><a href="reference/os/time_clock.html#c.hrtimer_entry_t">hrtimer_entry_t (C type)</a>
+      <li><a href="reference/os/time_clock.html#c.hrtimer_gettime">hrtimer_gettime (C function)</a>
 </li>
       <li><a href="reference/os/time_clock.html#c.hrtimer_init">hrtimer_init (C function)</a>
 </li>
@@ -1412,6 +1416,8 @@
       <li><a href="reference/user/structures.html#c.pid_t">pid_t (C type)</a>
 </li>
       <li><a href="reference/user/10_filesystem.html#c.pipe">pipe (C function)</a>
+</li>
+      <li><a href="components/drivers/character/note.html#c.PIPEIOC_POLLINTHRD">PIPEIOC_POLLINTHRD (C macro)</a>
 </li>
       <li><a href="glossary.html#term-PKT"><strong>PKT</strong></a>
 </li>
@@ -1462,6 +1468,8 @@
       <li><a href="reference/user/01_task_control.html#c.posix_spawn_file_actions_init">posix_spawn_file_actions_init (C function)</a>
 </li>
       <li><a href="reference/user/01_task_control.html#c.posix_spawnattr_getflags">posix_spawnattr_getflags (C function)</a>
+</li>
+      <li><a href="reference/user/01_task_control.html#c.posix_spawnattr_getpriority">posix_spawnattr_getpriority (C function)</a>
 </li>
       <li><a href="reference/user/01_task_control.html#c.posix_spawnattr_getschedparam">posix_spawnattr_getschedparam (C function)</a>
 </li>
@@ -1474,6 +1482,8 @@
       <li><a href="reference/user/01_task_control.html#c.posix_spawnattr_init">posix_spawnattr_init (C function)</a>
 </li>
       <li><a href="reference/user/01_task_control.html#c.posix_spawnattr_setflags">posix_spawnattr_setflags (C function)</a>
+</li>
+      <li><a href="reference/user/01_task_control.html#c.posix_spawnattr_setpriority">posix_spawnattr_setpriority (C function)</a>
 </li>
       <li><a href="reference/user/01_task_control.html#c.posix_spawnattr_setschedparam">posix_spawnattr_setschedparam (C function)</a>
 </li>
@@ -1514,11 +1524,11 @@
       <li><a href="reference/user/08_pthread.html#c.pthread_attr_setschedparam">pthread_attr_setschedparam (C function)</a>
 </li>
       <li><a href="reference/user/08_pthread.html#c.pthread_attr_setschedpolicy">pthread_attr_setschedpolicy (C function)</a>
-</li>
-      <li><a href="reference/user/08_pthread.html#c.pthread_attr_setstacksize">pthread_attr_setstacksize (C function)</a>
 </li>
   </ul></td>
   <td style="width: 33%; vertical-align: top;"><ul>
+      <li><a href="reference/user/08_pthread.html#c.pthread_attr_setstacksize">pthread_attr_setstacksize (C function)</a>
+</li>
       <li><a href="reference/user/08_pthread.html#c.pthread_barrier_destroy">pthread_barrier_destroy (C function)</a>
 </li>
       <li><a href="reference/user/08_pthread.html#c.pthread_barrier_init">pthread_barrier_init (C function)</a>
diff --git a/content/docs/latest/guides/fully_linked_elf.html b/content/docs/latest/guides/fully_linked_elf.html
index a1cabb23d0..08a6c4ac6d 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="f6f0cc54-4035-4cf5-b7f7-29c821b36397" name="f6f0cc54-4035-4cf5-b7f7-29c821b36397" type="checkbox"><label class="sphinx_collapse__label" for="f6f0cc54-4035-4cf5-b7f7-29c821b36397"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" id="9dbf6829-9f5a-4deb-a768-a88abebc9b50" name="9dbf6829-9f5a-4deb-a768-a88abebc9b50" type="checkbox"><label class="sphinx_collapse__label" for="9dbf6829-9f5a-4deb-a768-a88abebc9b50"><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 a7e07a5749..0865365c7f 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="35f705f7-bcc1-4093-8837-e81d3e8e0d71" name="35f705f7-bcc1-4093-8837-e81d3e8e0d71" type="checkbox"><label class="sphinx_collapse__label" for="35f705f7-bcc1-4093-8837-e81d3e8e0d71"><i class="sphinx_collapse__icon"></i>Show content:</label><div class="sphinx_collapse__content docutils">
+<input class="sphinx_collapse__input" id="0a8cb563-14be-4f5a-926a-6c3840428db1" name="0a8cb563-14be-4f5a-926a-6c3840428db1" type="checkbox"><label class="sphinx_collapse__label" for="0a8cb563-14be-4f5a-926a-6c3840428db1"><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 521f2544a9..9f92f9254c 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: 26 January 26 at 00:33</p>
+<p>Last Updated: 27 January 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/latest/objects.inv b/content/docs/latest/objects.inv
index dedc4c9aa4..510c0a87bc 100644
Binary files a/content/docs/latest/objects.inv and b/content/docs/latest/objects.inv differ
diff --git a/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.html b/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.html
index dfdf8e0d92..b35189f656 100644
--- a/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.html
+++ b/content/docs/latest/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.html
@@ -906,6 +906,17 @@ nsh&gt;
 </pre></div>
 </div>
 </section>
+<section id="spi">
+<h3>spi<a class="headerlink" href="#spi" title="Permalink to this heading"></a></h3>
+<p>This configuration enables the support for the SPI driver.
+You can test it by connecting MOSI and MISO pins which are GPIO11 and GPIO13
+by default to each other and running the <code class="docutils literal notranslate"><span class="pre">spi</span></code> example:</p>
+<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>nsh&gt; spi exch -b 2 &quot;AB&quot;
+Sending:    AB
+Received:   AB
+</pre></div>
+</div>
+</section>
 <section id="timer">
 <h3>timer<a class="headerlink" href="#timer" title="Permalink to this heading"></a></h3>
 <p>This config tests the general-use purpose timers. It includes the 4 timers,
diff --git a/content/docs/latest/reference/os/time_clock.html b/content/docs/latest/reference/os/time_clock.html
index 00623555fc..3c686ec9df 100644
--- a/content/docs/latest/reference/os/time_clock.html
+++ b/content/docs/latest/reference/os/time_clock.html
@@ -879,29 +879,123 @@ definition.</p>
 require nanosecond-level task timing, which tick-based timers
 like wdog cannot provide. Reducing the tick interval to micro-
 or nanoseconds is impractical, as it would overload the CPU with interrupts.</p>
+<p>High-resolution Timer (HRTimer) is a timer abstraction capable of achieving
+nanosecond-level timing resolution, primarily used in scenarios requiring
+high-resolution clock events. With the advancement of integrated circuit
+technology, modern high-resolution timer hardware, such as the typical x86
+HPET, can already meet sub-nanosecond timing requirements and offer
+femtosecond-level jitter control.</p>
+<p>Although the current hardware timer abstraction (<cite>up_alarm/up_timer</cite>)
+in the NuttX kernel already supports nanosecond-level timing, its software
+timer abstraction, wdog, and the timer timeout interrupt handling process
+remain at microsecond-level (tick) resolution, which falls short of
+high-resolution timing demands.</p>
 <p>To address this, NuttX provides a high-resolution timer (hrtimer),
-which delivers true nanosecond-level precision. Unlike wdog’s list-based timers,
-hrtimer uses a red-black tree for efficient management of large numbers of timers,
-an important advantage in hard real-time systems like vehicle control.</p>
+which delivers true nanosecond-level precision. HRTimer primarily provides
+the following functional interfaces:</p>
+<dl class="simple">
+<dt><strong>Set a timer in nanoseconds</strong>: Configure a software timer to trigger at</dt><dd><p>a specified nanosecond time.</p>
+</dd>
+</dl>
+<p><strong>Cancel a timer</strong>: Cancel the software timer.</p>
+<dl class="simple">
+<dt><strong>Handle timer timeout</strong>: Execute timeout processing after the timer event</dt><dd><p>is triggered.</p>
+</dd>
+</dl>
 <p>A user can register an hrtimer callback to execute after a specified delay.
 The callback runs in the timer interrupt context, so only limited NuttX interfaces
 are available, such as <code class="docutils literal notranslate"><span class="pre">mq_send()</span></code>, <code class="docutils literal notranslate"><span class="pre">sigqueue()</span></code>, <code class="docutils literal notranslate"><span class="pre">nxevent_post()</span></code>, or <code class="docutils literal notranslate"><span class="pre">kill()</span></code>,
 to communicate with tasks.</p>
-<p>High-resolution timers (hrtimers) use a spinlock to protect internal timer data structures,
-allowing them to be safely accessed from interrupt context. This design makes hrtimers
-suitable for high-frequency timer operations.</p>
-<p>However, in SMP systems, a potential issue arises when a user cancels a timer that is currently
-executing: the timer instance may be freed prematurely while its callback is still running.
-To address this problem, a state machine is introduced in the hrtimer implementation:</p>
-<img alt="hrtimer state machine" src="../../_images/hrtimer_state_machine.png" />
-<p>Users may call <code class="docutils literal notranslate"><span class="pre">hrtimer_cancel_sync()</span></code> to synchronously cancel a timer and wait until the
-timer becomes fully inactive. In contrast, <code class="docutils literal notranslate"><span class="pre">hrtimer_cancel()</span></code> is a non-blocking variant
-that returns immediately without waiting for the timer to stop executing.</p>
+<p>The hrtimer implementation mainly includes the following interfaces:</p>
+<dl class="simple">
+<dt><strong>hrtimer_start(timer, func, arg, delay)</strong>: Asynchronously starts a</dt><dd><p>timer that has completed or has been asynchronously canceled (its
+callback function might still be executing).</p>
+</dd>
+<dt><strong>hrtimer_cancel(timer)</strong>: Asynchronously cancels a timer. Note that</dt><dd><p>the semantics of this interface are completely different from Linux’s
+<cite>try_to_cancel</cite>. It ensures that the timer can definitely be canceled
+successfully, but may need to wait for its callback function to finish
+execution.</p>
+</dd>
+<dt><strong>hrtimer_cancel_sync(timer)</strong>: Synchronously cancels a timer. If the timer’s</dt><dd><p>callback function is still executing, this function will spin-wait until
+the callback completes. It ensures that the user can always obtain
+ownership of the timer.</p>
+</dd>
+</dl>
+<p>The state-machine diagram of the HRTimer is as follows:</p>
+<div class="highlight-text notranslate"><div class="highlight"><pre><span></span>+------------------------------------------------------+
+|                 HRTIMER State Diagram                |
++------------------------------------------------------+
+|                                                      |
+|     +----------------------+                         |
+|     | HRTIMER_COMPLETED    |                         |
+|     |      (private)       |                         |
+|     +----------------------+                         |
+|                |                                     |
+|                | hrtimer_start                       |
+|                |                                     |
+|                |                                     |
+|                v                                     |
+|     +----------------------+                         |
+|     | HRTIMER_PENDING      |---------------------+   |
+| +--&gt;|      (shared)        |&lt;---+                |   |
+| |   +----------------------+    |                |   |
+| |            |                  |timer callback  |   |
+| |            |hrtimer_expiry    |return non-zero |   |
+| |            |                  |                |   |
+| |            v                  |                |   |
+| |   +----------------------+    |                |   |
+| |   | HRTIMER_RUNNING      |----+                |   |
+| |   |      (shared)        |                     |   |
+| |   +----------------------+                     |   |
+| |                    |                           |   |
+| |                    |                           |   |
+| |                    |timer return zero          |   |
+| |                    |or                         |   |
+| |                    |hrtimer_cancel             |   |
+| |                    |                           |   |
+| |                    v                           |   |
+| |               +----------------------+         |   |
+| |               | HRTIMER_CANCELED     |&lt;--------+   |
+| +---------------|    (half_shared)     |             |
+| hrtimer_start   +----------------------+             |
+|                        |                             |
+|     hrtimer_cancel_sync|                             |
+|         wait all cores |                             |
+|                        v                             |
+|     +----------------------+                         |
+|     | HRTIMER_COMPLETED    |                         |
+|     |      (private)       |                         |
+|     +----------------------+                         |
+|             ^  |                                     |
+|             |  |                                     |
+|             +--+                                     |
+|            hrtimer_cancel                            |
++------------------------------------------------------+
+</pre></div>
+</div>
+<p>The specific definitions of the states are as follows:</p>
+<p><strong>HRTIMER_PENDING|shared</strong>: <cite>hrtimer-&gt;func != NULL</cite>. That is, the hrtimer has
+been inserted into the hrtimer queue and is waiting to be executed.</p>
+<p><strong>HRTIMER_COMPLETED|private</strong>: <cite>hrtimer-&gt;func == NULL</cite> ∧
+<cite>∀c ∈ [0, CONFIG_SMP_NCPUS), (g_hrtimer_running[c] &amp; ~(1u)) != hrtimer</cite>
+That is, the hrtimer is not in a pending state, and no core is currently
+executing the hrtimer’s callback function.</p>
+<p><strong>HRTIMER_RUNNING|shared</strong>: <cite>hrtimer-&gt;func == NULL</cite> ∧
+<cite>∃c ∈ [0, CONFIG_SMP_NCPUS), g_hrtimer_running[c] == hrtimer</cite>.
+That is, the hrtimer is not in a pending state, and there exists at least one
+core that is currently executing the hrtimer’s callback function.</p>
+<p><strong>HRTIMER_CANCELED|half_shared</strong>: <cite>hrtimer-&gt;func == NULL</cite> ∧
+<cite>∀c ∈ [0, CONFIG_SMP_NCPUS), g_hrtimer_running[c] != hrtimer</cite>.
+That is, the hrtimer is not in a pending state, and all cores have lost
+ownership of the hrtimer—meaning they can no longer read from or write to the
+hrtimer—though its callback function may still be in the process of being
+executed.</p>
 <ul class="simple">
 <li><p><a class="reference internal" href="#c.hrtimer_init" title="hrtimer_init"><code class="xref c c-func docutils literal notranslate"><span class="pre">hrtimer_init()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.hrtimer_cancel" title="hrtimer_cancel"><code class="xref c c-func docutils literal notranslate"><span class="pre">hrtimer_cancel()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.hrtimer_cancel_sync" title="hrtimer_cancel_sync"><code class="xref c c-func docutils literal notranslate"><span class="pre">hrtimer_cancel_sync()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.hrtimer_start" title="hrtimer_start"><code class="xref c c-func docutils literal notranslate"><span class="pre">hrtimer_start()</span></code></a></p></li>
+<li><p><a class="reference internal" href="#c.hrtimer_gettime" title="hrtimer_gettime"><code class="xref c c-func docutils literal notranslate"><span class="pre">hrtimer_gettime()</span></code></a></p></li>
 <li><p>High-resolution Timer Callback</p></li>
 </ul>
 <dl class="c function">
@@ -927,13 +1021,15 @@ not started by this function.</p>
 <dl class="c function">
 <dt class="sig sig-object c" id="c.hrtimer_cancel">
 <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hrtimer_cancel</span></span></span><span class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> </span><span class="n"><span class="pre">hrtimer_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">hrtimer</span></span><span class="sig-paren">)</span><a class="head [...]
-<dd><p>If the timer is armed but has not yet expired, it will be removed from
+<dd><p>Cancel a high-resolution timer asynchronously.</p>
+<p>If the timer is armed but has not yet expired, it will be removed from
 the timer queue and the callback will not be invoked.</p>
 <p>If the timer callback is currently executing, this function will mark
 the timer as canceled and return immediately. The running callback is
 allowed to complete, but it will not be invoked again.</p>
-<p>This function is non-blocking and does not wait for a running callback
-to finish.</p>
+<p>After the function completes, the caller acquires limited ownership,
+allowing timer restart but not freeing. Callback may still be executing
+on another CPU. Use with caution to avoid concurrency issues.</p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters<span class="colon">:</span></dt>
 <dd class="field-odd"><ul class="simple">
@@ -953,9 +1049,9 @@ to finish.</p>
 <dd><p>Cancel a high-resolution timer and wait synchronously until the timer
 becomes inactive.</p>
 <p>This function first calls hrtimer_cancel() to request cancellation of
-the timer.  If the timer callback is currently executing, this function
-will wait until the callback has completed and the timer state has
-transitioned to HRTIMER_STATE_INACTIVE.</p>
+the timer. It sets timer to canceled state and waits for all
+references to be released. Caller acquires full ownership and can
+safely deallocate the timer after this function returns.</p>
 <p>This function may sleep and must not be called from interrupt context.</p>
 <dl class="field-list simple">
 <dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -990,11 +1086,46 @@ transitioned to HRTIMER_STATE_INACTIVE.</p>
 <p><strong>POSIX Compatibility:</strong> This is a NON-POSIX interface.</p>
 </dd></dl>
 
+<dl class="c function">
+<dt class="sig sig-object c" id="c.hrtimer_gettime">
+<span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">hrtimer_gettime</span></span></span><span class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> </span><span class="n"><span class="pre">hrtimer_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">timer</span></span><span class="sig-paren">)</span><a class="h [...]
+<dd><p>Get the remaining time until timer expiration.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>timer</strong> – Timer instance to query</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>Remaining time in nanoseconds until next expiration.</p>
+</dd>
+</dl>
+<dl class="simple">
+<dt><strong>Assumptions:</strong></dt><dd><ul class="simple">
+<li><p>Timer is not NULL.</p></li>
+</ul>
+</dd>
+</dl>
+<p><strong>POSIX Compatibility:</strong> This is a NON-POSIX interface.</p>
+</dd></dl>
+
 <dl class="c type">
 <dt class="sig sig-object c" id="c.hrtimer_entry_t">
 <span class="k"><span class="pre">typedef</span></span><span class="w"> </span><span class="n"><span class="pre">uint64_t</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">hrtimer_entry_t</span></span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">(</span></span><span class="pre">FAR</span><span c [...]
 <dd><p><strong>High-resolution Timer Callback</strong>: when a hrtimer expires,
 the callback function with this type is called.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Param timer<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The hrtimer pointer passed to callback function,
+do not modify the hrtimer when executing callback function.</p>
+</dd>
+<dt class="field-even">Param expired<span class="colon">:</span></dt>
+<dd class="field-even"><p>Time in nanoseconds when timer expired</p>
+</dd>
+<dt class="field-odd">Return<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Next delay in nanoseconds until next expiration.</p>
+</dd>
+</dl>
 </dd></dl>
 
 </section>
diff --git a/content/docs/latest/reference/user/01_task_control.html b/content/docs/latest/reference/user/01_task_control.html
index 987c51fd74..88ae402321 100644
--- a/content/docs/latest/reference/user/01_task_control.html
+++ b/content/docs/latest/reference/user/01_task_control.html
@@ -283,10 +283,12 @@ Points</a>.</p>
 <li><p><a class="reference internal" href="#c.posix_spawnattr_getflags" title="posix_spawnattr_getflags"><code class="xref c c-func docutils literal notranslate"><span class="pre">posix_spawnattr_getflags()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.posix_spawnattr_getschedparam" title="posix_spawnattr_getschedparam"><code class="xref c c-func docutils literal notranslate"><span class="pre">posix_spawnattr_getschedparam()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.posix_spawnattr_getschedpolicy" title="posix_spawnattr_getschedpolicy"><code class="xref c c-func docutils literal notranslate"><span class="pre">posix_spawnattr_getschedpolicy()</span></code></a></p></li>
+<li><p><a class="reference internal" href="#c.posix_spawnattr_getpriority" title="posix_spawnattr_getpriority"><code class="xref c c-func docutils literal notranslate"><span class="pre">posix_spawnattr_getpriority()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.posix_spawnattr_getsigmask" title="posix_spawnattr_getsigmask"><code class="xref c c-func docutils literal notranslate"><span class="pre">posix_spawnattr_getsigmask()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.posix_spawnattr_setflags" title="posix_spawnattr_setflags"><code class="xref c c-func docutils literal notranslate"><span class="pre">posix_spawnattr_setflags()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.posix_spawnattr_setschedparam" title="posix_spawnattr_setschedparam"><code class="xref c c-func docutils literal notranslate"><span class="pre">posix_spawnattr_setschedparam()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.posix_spawnattr_setschedpolicy" title="posix_spawnattr_setschedpolicy"><code class="xref c c-func docutils literal notranslate"><span class="pre">posix_spawnattr_setschedpolicy()</span></code></a></p></li>
+<li><p><a class="reference internal" href="#c.posix_spawnattr_setpriority" title="posix_spawnattr_setpriority"><code class="xref c c-func docutils literal notranslate"><span class="pre">posix_spawnattr_setpriority()</span></code></a></p></li>
 <li><p><a class="reference internal" href="#c.posix_spawnattr_setsigmask" title="posix_spawnattr_setsigmask"><code class="xref c c-func docutils literal notranslate"><span class="pre">posix_spawnattr_setsigmask()</span></code></a></p></li>
 </ul>
 </div></blockquote>
@@ -1020,6 +1022,25 @@ will return an error number from <code class="docutils literal notranslate"><spa
 </dl>
 </dd></dl>
 
+<dl class="c function">
+<dt class="sig sig-object c" id="c.posix_spawnattr_getpriority">
+<span class="n"><span class="pre">uint8_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">posix_spawnattr_getpriority</span></span></span><span class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> </span><span class="n"><span class="pre">posix_spawnattr_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">attr</span></span><span class="sig-paren">) [...]
+<dd><p>The <code class="docutils literal notranslate"><span class="pre">posix_spawnattr_getpriority()</span></code> function will obtain
+the value of the <em>spawn-priority</em> attribute from the attributes object
+referenced by <code class="docutils literal notranslate"><span class="pre">attr</span></code>.</p>
+<p>This is a non-standard helper API.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>attr</strong> – The address spawn attributes to be queried.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>The priority value stored in the attributes object.</p>
+</dd>
+</dl>
+</dd></dl>
+
 <dl class="c function">
 <dt class="sig sig-object c" id="c.posix_spawnattr_getsigmask">
 <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">posix_spawnattr_getsigmask</span></span></span><span class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">posix_spawnattr_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><spa [...]
@@ -1100,6 +1121,27 @@ will return an error number from <code class="docutils literal notranslate"><spa
 </dl>
 </dd></dl>
 
+<dl class="c function">
+<dt class="sig sig-object c" id="c.posix_spawnattr_setpriority">
+<span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">posix_spawnattr_setpriority</span></span></span><span class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> </span><span class="n"><span class="pre">posix_spawnattr_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">attr</span></span>, <span class="n"><span clas [...]
+<dd><p>The <code class="docutils literal notranslate"><span class="pre">posix_spawnattr_setpriority()</span></code> function will set
+the <em>spawn-priority</em> attribute in an initialized attributes object
+referenced by <code class="docutils literal notranslate"><span class="pre">attr</span></code>.</p>
+<p>This is a non-standard helper API.</p>
+<dl class="field-list simple">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>attr</strong> – The address spawn attributes to be used.</p></li>
+<li><p><strong>priority</strong> – The new priority value to set.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Returns<span class="colon">:</span></dt>
+<dd class="field-even"><p>On success, this function returns 0; on failure it
+will return an error number from <code class="docutils literal notranslate"><span class="pre">&lt;errno.h&gt;</span></code></p>
+</dd>
+</dl>
+</dd></dl>
+
 <dl class="c function">
 <dt class="sig sig-object c" id="c.posix_spawnattr_setsigmask">
 <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">posix_spawnattr_setsigmask</span></span></span><span class="sig-paren">(</span><span class="pre">FAR</span><span class="w"> </span><span class="n"><span class="pre">posix_spawnattr_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n"><span class="pre">attr</span></span>, <span class="pre">FAR</span [...]
diff --git a/content/docs/latest/searchindex.js b/content/docs/latest/searchindex.js
index 101649df49..9ecc47e440 100644
--- a/content/docs/latest/searchindex.js
+++ b/content/docs/latest/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-esp32-c3", "_tags/chip-esp32a1s", "_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/c [...]
\ 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-esp32-c3", "_tags/chip-esp32a1s", "_tags/chip-esp32picod4", "_tags/chip-esp32s2", "_tags/c [...]
\ No newline at end of file
diff --git a/content/feed.xml b/content/feed.xml
index 6291e93ebd..3a080e216c 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>Mon, 26 Jan 2026 00:35:15 +0000</pubDate>
-    <lastBuildDate>Mon, 26 Jan 2026 00:35:15 +0000</lastBuildDate>
+    <pubDate>Tue, 27 Jan 2026 00:37:53 +0000</pubDate>
+    <lastBuildDate>Tue, 27 Jan 2026 00:37:53 +0000</lastBuildDate>
     <generator>Jekyll v4.4.1</generator>
     
       <item>