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 9ec143f9c Publishing web: 6f43cfb03f4b427e9277e6d3064476fa7ea61660
docs: 8153307da5c60970eb7562413659ecd902e4edd8
9ec143f9c is described below
commit 9ec143f9c36719c8d4b14fe228a4d6172434b75e
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Tue Oct 1 00:25:00 2024 +0000
Publishing web: 6f43cfb03f4b427e9277e6d3064476fa7ea61660 docs:
8153307da5c60970eb7562413659ecd902e4edd8
---
content/docs/10.0.0/index.html | 2 +-
content/docs/10.0.0/searchindex.js | 2 +-
content/docs/10.0.1/index.html | 2 +-
content/docs/10.0.1/searchindex.js | 2 +-
content/docs/10.1.0/index.html | 2 +-
content/docs/10.1.0/searchindex.js | 2 +-
content/docs/10.2.0/index.html | 2 +-
content/docs/10.2.0/searchindex.js | 2 +-
content/docs/10.3.0/index.html | 2 +-
content/docs/10.3.0/searchindex.js | 2 +-
content/docs/11.0.0/index.html | 2 +-
content/docs/11.0.0/searchindex.js | 2 +-
content/docs/12.0.0/index.html | 2 +-
content/docs/12.0.0/searchindex.js | 2 +-
content/docs/12.1.0/index.html | 2 +-
content/docs/12.1.0/searchindex.js | 2 +-
content/docs/12.2.0/index.html | 2 +-
.../xtensa/esp32/boards/esp32-audio-kit/index.html | 2 +-
.../xtensa/esp32/boards/esp32-devkitc/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 +-
.../components/drivers/special/ioexpander.rst.txt | 32 +++++++++
.../drivers/special/power/pm/index.rst.txt | 49 ++++++++++++--
.../_sources/contributing/documentation.rst.txt | 8 +--
.../docs/latest/_sources/guides/citests.rst.txt | 2 +-
.../docs/latest/_sources/guides/devicetree.rst.txt | 36 ++++++++++
content/docs/latest/_sources/guides/index.rst.txt | 1 +
.../_sources/implementation/simulation.rst.txt | 10 +--
.../components/drivers/special/ioexpander.html | 30 +++++++++
.../components/drivers/special/power/pm/index.html | 70 ++++++++++++++++++-
.../docs/latest/contributing/documentation.html | 8 +--
content/docs/latest/genindex.html | 10 ++-
content/docs/latest/glossary.html | 4 +-
content/docs/latest/guides/automounter.html | 1 +
content/docs/latest/guides/citests.html | 3 +-
content/docs/latest/guides/coredump.html | 1 +
content/docs/latest/guides/coresight.html | 1 +
content/docs/latest/guides/cortexmhardfaults.html | 1 +
content/docs/latest/guides/cpp_cmake.html | 1 +
content/docs/latest/guides/customapps.html | 1 +
content/docs/latest/guides/customboards.html | 1 +
.../guides/{gdbwithpython.html => devicetree.html} | 75 ++++++++++++---------
content/docs/latest/guides/drivers.html | 1 +
content/docs/latest/guides/etcromfs.html | 1 +
content/docs/latest/guides/gdbserver.html | 1 +
content/docs/latest/guides/gdbwithpython.html | 1 +
content/docs/latest/guides/index.html | 6 ++
content/docs/latest/guides/kasan.html | 1 +
content/docs/latest/guides/nestedinterrupts.html | 1 +
content/docs/latest/guides/nfs.html | 1 +
content/docs/latest/guides/ofloader.html | 1 +
content/docs/latest/guides/pysimcoder.html | 1 +
content/docs/latest/guides/qemugdb.html | 1 +
content/docs/latest/guides/rndis.html | 1 +
content/docs/latest/guides/simulator.html | 1 +
content/docs/latest/guides/stackrecord.html | 1 +
content/docs/latest/guides/stm32ccm.html | 1 +
content/docs/latest/guides/stm32nullpointer.html | 1 +
content/docs/latest/guides/tasktrace.html | 1 +
content/docs/latest/guides/tasktraceinternal.html | 1 +
content/docs/latest/guides/tasktraceuser.html | 1 +
content/docs/latest/guides/testingtcpip.html | 1 +
.../docs/latest/guides/thread_local_storage.html | 5 +-
content/docs/latest/guides/usbtrace.html | 1 +
.../docs/latest/guides/zerolatencyinterrupts.html | 1 +
content/docs/latest/implementation/simulation.html | 14 ++--
content/docs/latest/index.html | 3 +-
content/docs/latest/objects.inv | Bin 122364 -> 122442 bytes
content/docs/latest/searchindex.js | 2 +-
content/feed.xml | 4 +-
79 files changed, 355 insertions(+), 105 deletions(-)
diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html
index 11d882eaf..177b878fb 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: 30 September 24 at 00:13</p>
+<p>Last Updated: 01 October 24 at 00:14</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.0/searchindex.js
b/content/docs/10.0.0/searchindex.js
index e74f9f34b..4514fd885 100644
--- a/content/docs/10.0.0/searchindex.js
+++ b/content/docs/10.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen
[...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen
[...]
\ No newline at end of file
diff --git a/content/docs/10.0.1/index.html b/content/docs/10.0.1/index.html
index d9f3491aa..1f66ef86a 100644
--- a/content/docs/10.0.1/index.html
+++ b/content/docs/10.0.1/index.html
@@ -235,7 +235,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: 30 September 24 at 00:13</p>
+<p>Last Updated: 01 October 24 at 00:15</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/searchindex.js
b/content/docs/10.0.1/searchindex.js
index e74f9f34b..4514fd885 100644
--- a/content/docs/10.0.1/searchindex.js
+++ b/content/docs/10.0.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen
[...]
\ No newline at end of file
+Search.setIndex({docnames:["applications/index","boards/index","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/index","components/drivers/character/keypad","components/drivers/character/pwm","components/drivers/character/quadrature","components/drivers/character/rtc","components/drivers/character/serial","components/drivers/character/timer","components/drivers/character/touchscreen
[...]
\ No newline at end of file
diff --git a/content/docs/10.1.0/index.html b/content/docs/10.1.0/index.html
index 07604f2e2..3fde25bfa 100644
--- a/content/docs/10.1.0/index.html
+++ b/content/docs/10.1.0/index.html
@@ -235,7 +235,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: 30 September 24 at 00:13</p>
+<p>Last Updated: 01 October 24 at 00:15</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/searchindex.js
b/content/docs/10.1.0/searchindex.js
index 2a416dabd..bc6260b65 100644
--- a/content/docs/10.1.0/searchindex.js
+++ b/content/docs/10.1.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/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/10.2.0/index.html b/content/docs/10.2.0/index.html
index 0bdfd342b..ac4110118 100644
--- a/content/docs/10.2.0/index.html
+++ b/content/docs/10.2.0/index.html
@@ -236,7 +236,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: 30 September 24 at 00:14</p>
+<p>Last Updated: 01 October 24 at 00:15</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/searchindex.js
b/content/docs/10.2.0/searchindex.js
index 7c6ed1e8a..79f51d1c8 100644
--- a/content/docs/10.2.0/searchindex.js
+++ b/content/docs/10.2.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/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/10.3.0/index.html b/content/docs/10.3.0/index.html
index 0bdfd342b..cff93f868 100644
--- a/content/docs/10.3.0/index.html
+++ b/content/docs/10.3.0/index.html
@@ -236,7 +236,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: 30 September 24 at 00:14</p>
+<p>Last Updated: 01 October 24 at 00:16</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/searchindex.js
b/content/docs/10.3.0/searchindex.js
index 032e96d49..3ff224a9b 100644
--- a/content/docs/10.3.0/searchindex.js
+++ b/content/docs/10.3.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/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/11.0.0/index.html b/content/docs/11.0.0/index.html
index 0bdfd342b..cff93f868 100644
--- a/content/docs/11.0.0/index.html
+++ b/content/docs/11.0.0/index.html
@@ -236,7 +236,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: 30 September 24 at 00:14</p>
+<p>Last Updated: 01 October 24 at 00:16</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/searchindex.js
b/content/docs/11.0.0/searchindex.js
index a23ee1c2d..11006ff16 100644
--- a/content/docs/11.0.0/searchindex.js
+++ b/content/docs/11.0.0/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["applications/index","applications/nsh/builtin","applications/nsh/commands","applications/nsh/config","applications/nsh/customizing","applications/nsh/index","applications/nsh/installation","applications/nsh/login","applications/nsh/nsh","components/binfmt","components/drivers/block/index","components/drivers/character/analog","components/drivers/character/can","components/drivers/character/foc","components/drivers/character/index","components/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.0.0/index.html b/content/docs/12.0.0/index.html
index eb240c5e2..bb4935169 100644
--- a/content/docs/12.0.0/index.html
+++ b/content/docs/12.0.0/index.html
@@ -161,7 +161,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: 30 September 24 at 00:15</p>
+<p>Last Updated: 01 October 24 at 00:16</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.0.0/searchindex.js
b/content/docs/12.0.0/searchindex.js
index 933662ec8..c4d75debc 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 fcdb1aa45..3e6e5b377 100644
--- a/content/docs/12.1.0/index.html
+++ b/content/docs/12.1.0/index.html
@@ -161,7 +161,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: 30 September 24 at 00:15</p>
+<p>Last Updated: 01 October 24 at 00:17</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.1.0/searchindex.js
b/content/docs/12.1.0/searchindex.js
index 4d25ac175..21c4fe508 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.2.0/index.html b/content/docs/12.2.0/index.html
index 08bb2b1c7..bc97acfb3 100644
--- a/content/docs/12.2.0/index.html
+++ b/content/docs/12.2.0/index.html
@@ -162,7 +162,7 @@ by following these <a class="reference internal"
href="contributing/documentatio
<section id="nuttx-documentation">
<h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation"
title="Permalink to this heading"></a></h1>
<p>NuttX is a real-time operating system (RTOS) with an emphasis on standards
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller
environments, the primary governing standards in NuttX are POSIX and ANSI
standards. Additional standard APIs from Unix and other common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such as fork()).</p>
-<p>Last Updated: 30 September 24 at 00:15</p>
+<p>Last Updated: 01 October 24 at 00:17</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git
a/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
b/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
index 0291d6e9c..d4a0d4de6 100644
---
a/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
+++
b/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-audio-kit/index.html
@@ -343,7 +343,7 @@ Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)
<p>Look for your PC IP address and test playing the prepared audio on your
browser:</p>
<figure class="align-center">
-<img alt="../../../../../_images/esp32-audio-config-file1.png"
src="../../../../../_images/esp32-audio-config-file1.png" />
+<img alt="../../../../../_images/esp32-audio-config-file.png"
src="../../../../../_images/esp32-audio-config-file.png" />
</figure>
<p>After successfully built and flashed, connect the board to the Wi-Fi
network:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>$ nsh> wapi psk wlan0 mypasswd 3
diff --git
a/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
b/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
index 92c308a8b..1dad344cd 100644
--- a/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
+++ b/content/docs/12.2.0/platforms/xtensa/esp32/boards/esp32-devkitc/index.html
@@ -440,7 +440,7 @@ Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/)
<p>Look for your PC IP address and test playing the prepared audio on your
browser:</p>
<figure class="align-center">
-<img alt="../../../../../_images/esp32-audio-config-file.png"
src="../../../../../_images/esp32-audio-config-file.png" />
+<img alt="../../../../../_images/esp32-audio-config-file1.png"
src="../../../../../_images/esp32-audio-config-file1.png" />
</figure>
<p>After successfully built and flashed, connect the board to the Wi-Fi
network:</p>
<div class="highlight-none notranslate"><div
class="highlight"><pre><span></span>nsh> wapi psk wlan0 mypasswd 3
diff --git a/content/docs/12.2.0/searchindex.js
b/content/docs/12.2.0/searchindex.js
index fb0d0ed0b..b1970981e 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 3cb2bd9aa..bc97acfb3 100644
--- a/content/docs/12.2.1/index.html
+++ b/content/docs/12.2.1/index.html
@@ -162,7 +162,7 @@ by following these <a class="reference internal"
href="contributing/documentatio
<section id="nuttx-documentation">
<h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation"
title="Permalink to this heading"></a></h1>
<p>NuttX is a real-time operating system (RTOS) with an emphasis on standards
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller
environments, the primary governing standards in NuttX are POSIX and ANSI
standards. Additional standard APIs from Unix and other common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such as fork()).</p>
-<p>Last Updated: 30 September 24 at 00:16</p>
+<p>Last Updated: 01 October 24 at 00:17</p>
<div class="toctree-wrapper compound">
<p class="caption" role="heading"><span class="caption-text">Table of
Contents</span></p>
<ul class="current">
diff --git a/content/docs/12.2.1/searchindex.js
b/content/docs/12.2.1/searchindex.js
index bc5d9004b..c3d8a577e 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 3a3d47dd5..7a10d5912 100644
--- a/content/docs/12.3.0/index.html
+++ b/content/docs/12.3.0/index.html
@@ -162,7 +162,7 @@ by following these <a class="reference internal"
href="contributing/documentatio
<section id="nuttx-documentation">
<h1>NuttX Documentation<a class="headerlink" href="#nuttx-documentation"
title="Permalink to this heading"></a></h1>
<p>NuttX is a real-time operating system (RTOS) with an emphasis on standards
compliance and small footprint. Scalable from 8-bit to 64-bit microcontroller
environments, the primary governing standards in NuttX are POSIX and ANSI
standards. Additional standard APIs from Unix and other common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such as fork()).</p>
-<p>Last Updated: 30 September 24 at 00:16</p>
+<p>Last Updated: 01 October 24 at 00:18</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 384684221..3cf379cab 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 61e9d4c52..e6b4a3c1b 100644
--- a/content/docs/12.4.0/index.html
+++ b/content/docs/12.4.0/index.html
@@ -169,7 +169,7 @@ standards. Additional standard APIs from Unix and other
common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such
as fork()).</p>
-<p>Last Updated: 30 September 24 at 00:17</p>
+<p>Last Updated: 01 October 24 at 00:18</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 7cb76016f..9e350fb8d 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 e02d68584..128252ce9 100644
--- a/content/docs/12.5.0/index.html
+++ b/content/docs/12.5.0/index.html
@@ -169,7 +169,7 @@ standards. Additional standard APIs from Unix and other
common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such
as fork()).</p>
-<p>Last Updated: 30 September 24 at 00:18</p>
+<p>Last Updated: 01 October 24 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.5.0/searchindex.js
b/content/docs/12.5.0/searchindex.js
index 9cd7dd2eb..a7c6c4893 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 a188c69df..2a016ada5 100644
--- a/content/docs/12.5.1/index.html
+++ b/content/docs/12.5.1/index.html
@@ -169,7 +169,7 @@ standards. Additional standard APIs from Unix and other
common RTOS’s (such as
VxWorks) are adopted for functionality not available under these standards, or
for functionality that is not appropriate for deeply-embedded environments
(such
as fork()).</p>
-<p>Last Updated: 30 September 24 at 00:20</p>
+<p>Last Updated: 01 October 24 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.1/searchindex.js
b/content/docs/12.5.1/searchindex.js
index 28ca3b4b2..0078f2e60 100644
--- a/content/docs/12.5.1/searchindex.js
+++ b/content/docs/12.5.1/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/coremark/index", "applications/benchmarks/index",
"applications/boot/index", "applications/boot/mcuboot/index",
"applications/boot/miniboot/index", "applications/canutils/candump/index",
"applications/canutils/canlib/index", "applications/canutils/cansend/index",
"applications/c [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/coremark/index", "applications/benchmarks/index",
"applications/boot/index", "applications/boot/mcuboot/index",
"applications/boot/miniboot/index", "applications/canutils/candump/index",
"applications/canutils/canlib/index", "applications/canutils/cansend/index",
"applications/c [...]
\ No newline at end of file
diff --git
a/content/docs/latest/_sources/components/drivers/special/ioexpander.rst.txt
b/content/docs/latest/_sources/components/drivers/special/ioexpander.rst.txt
index 18d78e831..5a2f5134d 100644
--- a/content/docs/latest/_sources/components/drivers/special/ioexpander.rst.txt
+++ b/content/docs/latest/_sources/components/drivers/special/ioexpander.rst.txt
@@ -1,3 +1,35 @@
==========================
IO Expander Device Drivers
==========================
+
+- ``include/nuttx/ioexpander/ioexpander.h`` and
``include/nuttx/ioexpander/gpio.h``.
+ All structures and APIs needed to work with ioexpander drivers are provided
in
+ this header file.
+
+- ``struct ioexpander_ops_s``. Each ioexpand device driver must implement
+ an instance of ``struct ioexpander_ops_s``. That structure defines a
+ call table with the methods, and we also provide macros to help access
methods.
+
+- we also provide method ``gpio_lower_half`` to make ioexpander compatible
with normal gpio.
+
+- **Binding ioexpander Drivers**. ioexpander drivers are not normally directly
+ accessed by user code, we should always get lower level drivers, for
example I2C,
+ and map extended gpio feature same asa normal gpio. See for example,
+ ``int nrf52_sx1509_initialize(void)``
+ in ``boards/arm/nrf52/thingy52/src/nrf52_sx1509.c``. In general, the binding
+ sequence is:
+
+ #. Get an instance of ``struct i2c_master_s`` from the
+ hardware-specific I2C device driver, and
+ #. Provide that instance and configurations to the ioexpander
initialization method
+ to get the ``struct ioexpander_dev_s`` ioe device instance.
+ #. Then use ioe device instance to do ioexpander operations, or use
``gpio_lower_half``
+ to make ioexpand compatible with normal gpio.
+
+
+- **Examples**: ``drivers/ioexpander/pca9555.c``,
+ ``drivers/input/aw86225.c``,
+ ``drivers/analog/lmp92001.c``,
+ ``drivers/ioexpander/ioe_rpmsg.c``,
+ ``boards/sim/sim/sim/src/sim_ioexpander.c``,
+ ``boards/arm/nrf52/thingy52/src/nrf52_sx1509.c`` etc.
diff --git
a/content/docs/latest/_sources/components/drivers/special/power/pm/index.rst.txt
b/content/docs/latest/_sources/components/drivers/special/power/pm/index.rst.txt
index 72b3fdc24..28bd3e9ee 100644
---
a/content/docs/latest/_sources/components/drivers/special/power/pm/index.rst.txt
+++
b/content/docs/latest/_sources/components/drivers/special/power/pm/index.rst.txt
@@ -229,24 +229,61 @@ All PM interfaces are declared in the file
``include/nuttx/power/pm.h``.
:param handler: The execution after PM_IDLE_DOMAIN state changed
+.. c:function:: void pm_idle_unlock(void)
+
+ This function provide assist of smp pm idle work progress, for pm sequence
+ other cores will not release before the core hold cpus lock.
+ Call this function to release SMP idle cpus lock.
+
+.. c:function:: bool pm_idle_lock(int cpu)
+
+ This function provide assist of smp pm idle work progress, for pm sequence
+ other cores will not release before the core hold cpus lock.
+ Call this function to ensure other core will not run until released.
+
+ :param cpu: The current CPU, used to update cpu_set_t
+
:return:
- None
+ true, Current CPU is the first one woken from sleep, should handle system
domain restore process also.
+ false, Current CPU is not the first one woken from sleep, should only
handle cpu domain restore process.
+
+ **Assumptions:** Restore operation pm_changestate(, PM_RESTORE) will done
+ inside pm_idle. Handler don't have to care about it.
Callbacks
=========
-.. c:typedef::pm_idle_handler_t
+.. c:type:: pm_idle_handler_t
This type declare is provide for pm_idle interface.
- Handle the pm low power action and execution for not SMP case.
+ Handle the pm low power action and execution.
Possible execution for long time because of WFI inside.
+ - for not SMP case.
+
.. code-block:: c
- typedef void (*pm_idle_handler_t)(enum pm_state_e);
+ typedef void (*pm_idle_handler_t)(enum pm_state_e systemstate);
+
+ :param systemstate:
+ Indicate the new system power state.
+
+ - for SMP case.
+
+ .. code-block:: c
- :param pm_state_e:
- Indicate the new system power state.
+ typedef bool (*pm_idle_handler_t)(int cpu,
+ enum pm_state_e cpustate,
+ enum pm_state_e systemstate);
+
+ :param cpu:
+ Indicate the current working cpu.
+ :param cpustate:
+ Indicate the current cpu power state.
+ :param systemstate:
+ Indicate the new system power state. If not the lastcore enter idle,
+ systemstate always PM_RESTORE. If not PM_RESTORE, handler should
+ cover system pm operations.
.. c:struct:: pm_callback_s
diff --git a/content/docs/latest/_sources/contributing/documentation.rst.txt
b/content/docs/latest/_sources/contributing/documentation.rst.txt
index 8abc88c61..de5f02268 100644
--- a/content/docs/latest/_sources/contributing/documentation.rst.txt
+++ b/content/docs/latest/_sources/contributing/documentation.rst.txt
@@ -12,8 +12,7 @@ Using Sphinx, the RST files are rendered into HTML files that
can be read in you
Building
========
-To render the Documentation locally, you should clone the NuttX main
repository, and
-go into ``Documentation`` directory. Then,
+To render the Documentation locally, you should clone the NuttX main
repository and navigate into it. Then,
1. Install Sphinx and other dependencies using pipenv.
You may also find it helpful on platforms such as Windows and MacOS to
use *pyenv*
@@ -21,8 +20,10 @@ go into ``Documentation`` directory. Then,
project `site <https://github.com/pyenv/pyenv#installation>`_.
.. code-block:: console
-
+
$ pip3 install pipenv
+ $ cd Documentation/
+ $ # install the dependencies into a virtual environment
$ pipenv install
$ # activate the virtual environment
$ pipenv shell
@@ -31,7 +32,6 @@ go into ``Documentation`` directory. Then,
.. code-block:: console
- $ cd Documentation/
$ make html
The resulting HTMLs will end up under ``_build/html``. You can open your
browser at the root with:
diff --git a/content/docs/latest/_sources/guides/citests.rst.txt
b/content/docs/latest/_sources/guides/citests.rst.txt
index cb2b0aeee..1a4f12f39 100644
--- a/content/docs/latest/_sources/guides/citests.rst.txt
+++ b/content/docs/latest/_sources/guides/citests.rst.txt
@@ -60,7 +60,7 @@ by following command.
.. code-block:: console
- $ python3 -m pytest -m 'common or sim' ./ -B sim -P nuttx-path -L
log-path -R sim -C --json=log-path/pytest.json
+ $ python3 -m pytest -m 'common or sim' ./ -B sim -P <nuttx-path> -L
<log-path> -R sim -C --json=<log-path>/pytest.json
Where nuttx-path is an absolute path to NuttX root directory and log-path is
a user defined directory to which tests log are saved.
diff --git a/content/docs/latest/_sources/guides/devicetree.rst.txt
b/content/docs/latest/_sources/guides/devicetree.rst.txt
new file mode 100644
index 000000000..c429aa87c
--- /dev/null
+++ b/content/docs/latest/_sources/guides/devicetree.rst.txt
@@ -0,0 +1,36 @@
+====================
+Device Tree
+====================
+
+Overview
+--------
+
+Currently, NuttX supports parsing of FDT(Flattened Device Tree) using libfdt, a
+utility library for reading and manipulating the binary format:
+
+https://github.com/dgibson/dtc/
+
+Based on that, NuttX has implemented some common functions to get properties.
+Device Tree support in NuttX will reduce the configuration of chips/boards,
+it is not used in NuttX kernel framework yet.
+
+How to use
+-----------
+
+1. Enable Device Tree and libfdt
+
+Enable the Kconfig settings:
+
+ .. code-block:: console
+
+ CONFIG_DEVICE_TREE=y /* Enable Device Tree */
+ CONFIG_LIBFDT=y /* Enable utility library */
+
+2. Register the DTB address
+
+Use fdt_register to set the DTB Address in NuttX
+
+3. Parse the DTB
+
+Chip/board will use fdt_get to get the DTB Address, and then use fdt_* APIs to
+parse the DTB properties.
diff --git a/content/docs/latest/_sources/guides/index.rst.txt
b/content/docs/latest/_sources/guides/index.rst.txt
index b19c8027e..7a40208b9 100644
--- a/content/docs/latest/_sources/guides/index.rst.txt
+++ b/content/docs/latest/_sources/guides/index.rst.txt
@@ -34,3 +34,4 @@ Guides
stackrecord.rst
etcromfs.rst
thread_local_storage.rst
+ devicetree.rst
diff --git a/content/docs/latest/_sources/implementation/simulation.rst.txt
b/content/docs/latest/_sources/implementation/simulation.rst.txt
index 6d7edc00d..c9f280aee 100644
--- a/content/docs/latest/_sources/implementation/simulation.rst.txt
+++ b/content/docs/latest/_sources/implementation/simulation.rst.txt
@@ -30,9 +30,9 @@ It is built like this:
.. code-block:: console
- nuttx.rel : libarch$(LIBEXT) board/libboard$(LIBEXT) $(HOSTOS)-names.dat
$(LINKOBJS)
- $(LD) -r $(LDLINKFLAGS) $(RELPATHS) $(EXTRA_LIBPATHS) -o $@
$(REQUIREDOBJS) --start-group $(RELLIBS) $(EXTRA_LIBS) --end-group
- $(OBJCOPY) --redefine-syms=$(HOSTOS)-names.dat $@
+ nuttx.rel : libarch$(LIBEXT) board/libboard$(LIBEXT)
$(HOSTOS)-names.dat $(LINKOBJS)
+ $(LD) -r $(LDLINKFLAGS) $(RELPATHS) $(EXTRA_LIBPATHS) -o $@
$(REQUIREDOBJS) --start-group $(RELLIBS) $(EXTRA_LIBS) --end-group
+ $(OBJCOPY) --redefine-syms=$(HOSTOS)-names.dat $@
The first ``$(LD)`` builds a partially linked, relocatable object (hence, the
extension ``.rel``). This contains all of the NuttX objects. So ``nuttx.rel``
is the entire "fish bowl" that the NuttX simulation lives.
@@ -106,8 +106,8 @@ I have been thinking about how to implement simulated
interrupts in the simulati
.. code-block:: console
- bool g_in_interrupt;
- xcpt_reg_t g_context_regs;
+ bool g_in_interrupt;
+ xcpt_reg_t g_context_regs;
Simulated interrupt handling logic would set ``g_in_interrupt`` on entry and
clear it on exit (perhaps it would be better to have a counter and increment it
interrupt entry and decrement it on exit?). The interrupt handler would also
need to clear ``g_context_regs`` on entry. ``up_interrupt_contest()`` would
then just report the state of the boolean.
diff --git a/content/docs/latest/components/drivers/special/ioexpander.html
b/content/docs/latest/components/drivers/special/ioexpander.html
index 4255083ee..f5a62c964 100644
--- a/content/docs/latest/components/drivers/special/ioexpander.html
+++ b/content/docs/latest/components/drivers/special/ioexpander.html
@@ -224,6 +224,36 @@
<section id="io-expander-device-drivers">
<h1>IO Expander Device Drivers<a class="headerlink"
href="#io-expander-device-drivers" title="Permalink to this heading"></a></h1>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span
class="pre">include/nuttx/ioexpander/ioexpander.h</span></code> and <code
class="docutils literal notranslate"><span
class="pre">include/nuttx/ioexpander/gpio.h</span></code>.
+All structures and APIs needed to work with ioexpander drivers are provided in
+this header file.</p></li>
+<li><p><code class="docutils literal notranslate"><span
class="pre">struct</span> <span class="pre">ioexpander_ops_s</span></code>.
Each ioexpand device driver must implement
+an instance of <code class="docutils literal notranslate"><span
class="pre">struct</span> <span class="pre">ioexpander_ops_s</span></code>.
That structure defines a
+call table with the methods, and we also provide macros to help access
methods.</p></li>
+<li><p>we also provide method <code class="docutils literal notranslate"><span
class="pre">gpio_lower_half</span></code> to make ioexpander compatible with
normal gpio.</p></li>
+<li><p><strong>Binding ioexpander Drivers</strong>. ioexpander drivers are not
normally directly
+accessed by user code, we should always get lower level drivers, for example
I2C,
+and map extended gpio feature same asa normal gpio. See for example,
+<code class="docutils literal notranslate"><span class="pre">int</span> <span
class="pre">nrf52_sx1509_initialize(void)</span></code>
+in <code class="docutils literal notranslate"><span
class="pre">boards/arm/nrf52/thingy52/src/nrf52_sx1509.c</span></code>. In
general, the binding
+sequence is:</p>
+<ol class="arabic simple">
+<li><p>Get an instance of <code class="docutils literal notranslate"><span
class="pre">struct</span> <span class="pre">i2c_master_s</span></code> from the
+hardware-specific I2C device driver, and</p></li>
+<li><p>Provide that instance and configurations to the ioexpander
initialization method
+to get the <code class="docutils literal notranslate"><span
class="pre">struct</span> <span class="pre">ioexpander_dev_s</span></code> ioe
device instance.</p></li>
+<li><p>Then use ioe device instance to do ioexpander operations, or use <code
class="docutils literal notranslate"><span
class="pre">gpio_lower_half</span></code>
+to make ioexpand compatible with normal gpio.</p></li>
+</ol>
+</li>
+<li><p><strong>Examples</strong>: <code class="docutils literal
notranslate"><span class="pre">drivers/ioexpander/pca9555.c</span></code>,
+<code class="docutils literal notranslate"><span
class="pre">drivers/input/aw86225.c</span></code>,
+<code class="docutils literal notranslate"><span
class="pre">drivers/analog/lmp92001.c</span></code>,
+<code class="docutils literal notranslate"><span
class="pre">drivers/ioexpander/ioe_rpmsg.c</span></code>,
+<code class="docutils literal notranslate"><span
class="pre">boards/sim/sim/sim/src/sim_ioexpander.c</span></code>,
+<code class="docutils literal notranslate"><span
class="pre">boards/arm/nrf52/thingy52/src/nrf52_sx1509.c</span></code>
etc.</p></li>
+</ul>
</section>
diff --git a/content/docs/latest/components/drivers/special/power/pm/index.html
b/content/docs/latest/components/drivers/special/power/pm/index.html
index bd0dfc802..a98c6e251 100644
--- a/content/docs/latest/components/drivers/special/power/pm/index.html
+++ b/content/docs/latest/components/drivers/special/power/pm/index.html
@@ -492,7 +492,7 @@ throughout the state change.</p>
<dl class="c function">
<dt class="sig sig-object c" id="c.pm_idle">
-<span class="kt"><span class="pre">void</span></span><span class="w">
</span><span class="sig-name descname"><span class="n"><span
class="pre">pm_idle</span></span></span><span class="sig-paren">(</span><span
class="n"><span class="pre">pm_idle_handler_t</span></span><span class="w">
</span><span class="n"><span class="pre">handler</span></span><span
class="sig-paren">)</span><a class="headerlink" href="#c.pm_idle"
title="Permalink to this definition"></a><br /></dt>
+<span class="kt"><span class="pre">void</span></span><span class="w">
</span><span class="sig-name descname"><span class="n"><span
class="pre">pm_idle</span></span></span><span class="sig-paren">(</span><a
class="reference internal" href="#c.pm_idle_handler_t"
title="pm_idle_handler_t"><span class="n"><span
class="pre">pm_idle_handler_t</span></span></a><span class="w"> </span><span
class="n"><span class="pre">handler</span></span><span
class="sig-paren">)</span><a class="headerlink" hre [...]
<dd><p>This function provide standard pm idle work flow for up_idle.
Called from the chip bsp and should only focus on handle the system
state changed.</p>
@@ -502,15 +502,81 @@ state changed.</p>
<li><p><strong>handler</strong> – The execution after PM_IDLE_DOMAIN state
changed</p></li>
</ul>
</dd>
+</dl>
+</dd></dl>
+
+<dl class="c function">
+<dt class="sig sig-object c" id="c.pm_idle_unlock">
+<span class="kt"><span class="pre">void</span></span><span class="w">
</span><span class="sig-name descname"><span class="n"><span
class="pre">pm_idle_unlock</span></span></span><span
class="sig-paren">(</span><span class="kt"><span
class="pre">void</span></span><span class="sig-paren">)</span><a
class="headerlink" href="#c.pm_idle_unlock" title="Permalink to this
definition"></a><br /></dt>
+<dd><p>This function provide assist of smp pm idle work progress, for pm
sequence
+other cores will not release before the core hold cpus lock.
+Call this function to release SMP idle cpus lock.</p>
+</dd></dl>
+
+<dl class="c function">
+<dt class="sig sig-object c" id="c.pm_idle_lock">
+<span class="kt"><span class="pre">bool</span></span><span class="w">
</span><span class="sig-name descname"><span class="n"><span
class="pre">pm_idle_lock</span></span></span><span
class="sig-paren">(</span><span class="kt"><span
class="pre">int</span></span><span class="w"> </span><span class="n"><span
class="pre">cpu</span></span><span class="sig-paren">)</span><a
class="headerlink" href="#c.pm_idle_lock" title="Permalink to this
definition"></a><br /></dt>
+<dd><p>This function provide assist of smp pm idle work progress, for pm
sequence
+other cores will not release before the core hold cpus lock.
+Call this function to ensure other core will not run until released.</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>cpu</strong> – The current CPU, used to update
cpu_set_t</p></li>
+</ul>
+</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
-<dd class="field-even"><p>None</p>
+<dd class="field-even"><p>true, Current CPU is the first one woken from sleep,
should handle system domain restore process also.
+false, Current CPU is not the first one woken from sleep, should only handle
cpu domain restore process.</p>
</dd>
</dl>
+<p><strong>Assumptions:</strong> Restore operation pm_changestate(,
PM_RESTORE) will done
+inside pm_idle. Handler don’t have to care about it.</p>
</dd></dl>
</section>
<section id="callbacks">
<h2>Callbacks<a class="headerlink" href="#callbacks" title="Permalink to this
heading"></a></h2>
+<dl class="c type">
+<dt class="sig sig-object c" id="c.pm_idle_handler_t">
+<span class="k"><span class="pre">type</span></span><span class="w">
</span><span class="sig-name descname"><span class="n"><span
class="pre">pm_idle_handler_t</span></span></span><a class="headerlink"
href="#c.pm_idle_handler_t" title="Permalink to this definition"></a><br
/></dt>
+<dd><p>This type declare is provide for pm_idle interface.
+Handle the pm low power action and execution.
+Possible execution for long time because of WFI inside.</p>
+<ul class="simple">
+<li><p>for not SMP case.</p></li>
+</ul>
+<div class="highlight-c notranslate"><div
class="highlight"><pre><span></span><span class="k">typedef</span><span
class="w"> </span><span class="kt">void</span><span class="w"> </span><span
class="p">(</span><span class="o">*</span><span
class="n">pm_idle_handler_t</span><span class="p">)(</span><span
class="k">enum</span><span class="w"> </span><span
class="n">pm_state_e</span><span class="w"> </span><span
class="n">systemstate</span><span class="p">);</span>
+</pre></div>
+</div>
+<dl class="field-list simple">
+<dt class="field-odd">Param systemstate<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Indicate the new system power state.</p>
+</dd>
+</dl>
+<ul class="simple">
+<li><p>for SMP case.</p></li>
+</ul>
+<div class="highlight-c notranslate"><div
class="highlight"><pre><span></span><span class="k">typedef</span><span
class="w"> </span><span class="kt">bool</span><span class="w"> </span><span
class="p">(</span><span class="o">*</span><span
class="n">pm_idle_handler_t</span><span class="p">)(</span><span
class="kt">int</span><span class="w"> </span><span class="n">cpu</span><span
class="p">,</span>
+<span class="w"> </span><span
class="k">enum</span><span class="w"> </span><span
class="n">pm_state_e</span><span class="w"> </span><span
class="n">cpustate</span><span class="p">,</span>
+<span class="w"> </span><span
class="k">enum</span><span class="w"> </span><span
class="n">pm_state_e</span><span class="w"> </span><span
class="n">systemstate</span><span class="p">);</span>
+</pre></div>
+</div>
+<dl class="field-list simple">
+<dt class="field-odd">Param cpu<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Indicate the current working cpu.</p>
+</dd>
+<dt class="field-even">Param cpustate<span class="colon">:</span></dt>
+<dd class="field-even"><p>Indicate the current cpu power state.</p>
+</dd>
+<dt class="field-odd">Param systemstate<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Indicate the new system power state. If not the
lastcore enter idle,
+systemstate always PM_RESTORE. If not PM_RESTORE, handler should
+cover system pm operations.</p>
+</dd>
+</dl>
+</dd></dl>
+
<dl class="c struct">
<dt class="sig sig-object c" id="c.pm_callback_s">
<span class="k"><span class="pre">struct</span></span><span class="w">
</span><span class="sig-name descname"><span class="n"><span
class="pre">pm_callback_s</span></span></span><a class="headerlink"
href="#c.pm_callback_s" title="Permalink to this definition"></a><br /></dt>
diff --git a/content/docs/latest/contributing/documentation.html
b/content/docs/latest/contributing/documentation.html
index ee6c467d1..83a77ee8d 100644
--- a/content/docs/latest/contributing/documentation.html
+++ b/content/docs/latest/contributing/documentation.html
@@ -192,8 +192,7 @@ with Sphinx-specific directives. RST is the format used for
Using Sphinx, the RST files are rendered into HTML files that can be read in
your browser.</p>
<section id="building">
<h2>Building<a class="headerlink" href="#building" title="Permalink to this
heading"></a></h2>
-<p>To render the Documentation locally, you should clone the NuttX main
repository, and
-go into <code class="docutils literal notranslate"><span
class="pre">Documentation</span></code> directory. Then,</p>
+<p>To render the Documentation locally, you should clone the NuttX main
repository and navigate into it. Then,</p>
<blockquote>
<div><ol class="arabic simple">
<li><p>Install Sphinx and other dependencies using pipenv.
@@ -203,6 +202,8 @@ project <a class="reference external"
href="https://github.com/pyenv/pyenv#insta
</ol>
<blockquote>
<div><div class="highlight-console notranslate"><div
class="highlight"><pre><span></span><span class="gp">$ </span>pip3<span
class="w"> </span>install<span class="w"> </span>pipenv
+<span class="gp">$ </span><span class="nb">cd</span><span class="w">
</span>Documentation/
+<span class="gp">$ </span><span class="c1"># install the dependencies into a
virtual environment</span>
<span class="gp">$ </span>pipenv<span class="w"> </span>install
<span class="gp">$ </span><span class="c1"># activate the virtual
environment</span>
<span class="gp">$ </span>pipenv<span class="w"> </span>shell
@@ -213,8 +214,7 @@ project <a class="reference external"
href="https://github.com/pyenv/pyenv#insta
<li><p>Build documentation:</p></li>
</ol>
<blockquote>
-<div><div class="highlight-console notranslate"><div
class="highlight"><pre><span></span><span class="gp">$ </span><span
class="nb">cd</span><span class="w"> </span>Documentation/
-<span class="gp">$ </span>make<span class="w"> </span>html
+<div><div class="highlight-console notranslate"><div
class="highlight"><pre><span></span><span class="gp">$ </span>make<span
class="w"> </span>html
</pre></div>
</div>
<p>The resulting HTMLs will end up under <code class="docutils literal
notranslate"><span class="pre">_build/html</span></code>. You can open your
browser at the root with:</p>
diff --git a/content/docs/latest/genindex.html
b/content/docs/latest/genindex.html
index 9172d7182..4d50b1ea2 100644
--- a/content/docs/latest/genindex.html
+++ b/content/docs/latest/genindex.html
@@ -1125,6 +1125,12 @@
<li><a
href="components/drivers/special/power/pm/index.html#c.pm_domain_unregister">pm_domain_unregister
(C function)</a>
</li>
<li><a
href="components/drivers/special/power/pm/index.html#c.pm_idle">pm_idle (C
function)</a>
+</li>
+ <li><a
href="components/drivers/special/power/pm/index.html#c.pm_idle_handler_t">pm_idle_handler_t
(C type)</a>
+</li>
+ <li><a
href="components/drivers/special/power/pm/index.html#c.pm_idle_lock">pm_idle_lock
(C function)</a>
+</li>
+ <li><a
href="components/drivers/special/power/pm/index.html#c.pm_idle_unlock">pm_idle_unlock
(C function)</a>
</li>
<li><a
href="components/drivers/special/power/pm/index.html#c.pm_initialize">pm_initialize
(C function)</a>
</li>
@@ -1205,11 +1211,11 @@
<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>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
+ <li><a
href="reference/user/08_pthread.html#c.pthread_barrier_init">pthread_barrier_init
(C function)</a>
+</li>
<li><a
href="reference/user/08_pthread.html#c.pthread_barrier_wait">pthread_barrier_wait
(C function)</a>
</li>
<li><a
href="reference/user/08_pthread.html#c.pthread_barrierattr_destroy">pthread_barrierattr_destroy
(C function)</a>
diff --git a/content/docs/latest/glossary.html
b/content/docs/latest/glossary.html
index 992a21bfc..8b05f9659 100644
--- a/content/docs/latest/glossary.html
+++ b/content/docs/latest/glossary.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="NuttX Logos" href="logos/index.html" />
- <link rel="prev" title="Thread Local Storage"
href="guides/thread_local_storage.html" />
+ <link rel="prev" title="Device Tree" href="guides/devicetree.html" />
</head>
<body class="wy-body-for-nav">
@@ -404,7 +404,7 @@
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation"
aria-label="Footer">
- <a href="guides/thread_local_storage.html" class="btn btn-neutral
float-left" title="Thread Local Storage" accesskey="p" rel="prev"><span
class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+ <a href="guides/devicetree.html" class="btn btn-neutral float-left"
title="Device Tree" accesskey="p" rel="prev"><span class="fa
fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="logos/index.html" class="btn btn-neutral float-right"
title="NuttX Logos" accesskey="n" rel="next">Next <span class="fa
fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>
diff --git a/content/docs/latest/guides/automounter.html
b/content/docs/latest/guides/automounter.html
index 3c9947f7d..e7d3d7c0b 100644
--- a/content/docs/latest/guides/automounter.html
+++ b/content/docs/latest/guides/automounter.html
@@ -158,6 +158,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/citests.html
b/content/docs/latest/guides/citests.html
index 4511f9865..e30adb394 100644
--- a/content/docs/latest/guides/citests.html
+++ b/content/docs/latest/guides/citests.html
@@ -157,6 +157,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
@@ -241,7 +242,7 @@ set of commands.</p>
<p>Now you have everything prepared to run CI tests. The tests themself are run
by following command.</p>
<blockquote>
-<div><div class="highlight-console notranslate"><div
class="highlight"><pre><span></span><span class="gp">$ </span>python3<span
class="w"> </span>-m<span class="w"> </span>pytest<span class="w">
</span>-m<span class="w"> </span><span class="s1">'common or
sim'</span><span class="w"> </span>./<span class="w"> </span>-B<span
class="w"> </span>sim<span class="w"> </span>-P<span class="w">
</span>nuttx-path<span class="w"> </span>-L<span class="w">
</span>log-path<span class="w"> </s [...]
+<div><div class="highlight-console notranslate"><div
class="highlight"><pre><span></span><span class="gp">$ </span>python3<span
class="w"> </span>-m<span class="w"> </span>pytest<span class="w">
</span>-m<span class="w"> </span><span class="s1">'common or
sim'</span><span class="w"> </span>./<span class="w"> </span>-B<span
class="w"> </span>sim<span class="w"> </span>-P<span class="w">
</span><nuttx-path><span class="w"> </span>-L<span class="w">
</span><log-path><spa [...]
</pre></div>
</div>
</div></blockquote>
diff --git a/content/docs/latest/guides/coredump.html
b/content/docs/latest/guides/coredump.html
index 40f0bbcab..50845427e 100644
--- a/content/docs/latest/guides/coredump.html
+++ b/content/docs/latest/guides/coredump.html
@@ -159,6 +159,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/coresight.html
b/content/docs/latest/guides/coresight.html
index bf8f64588..14c90f08c 100644
--- a/content/docs/latest/guides/coresight.html
+++ b/content/docs/latest/guides/coresight.html
@@ -158,6 +158,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/cortexmhardfaults.html
b/content/docs/latest/guides/cortexmhardfaults.html
index f5bc58d2c..071b4a729 100644
--- a/content/docs/latest/guides/cortexmhardfaults.html
+++ b/content/docs/latest/guides/cortexmhardfaults.html
@@ -163,6 +163,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/cpp_cmake.html
b/content/docs/latest/guides/cpp_cmake.html
index 0968dc73a..46f141281 100644
--- a/content/docs/latest/guides/cpp_cmake.html
+++ b/content/docs/latest/guides/cpp_cmake.html
@@ -158,6 +158,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/customapps.html
b/content/docs/latest/guides/customapps.html
index 2957564ef..deb41c981 100644
--- a/content/docs/latest/guides/customapps.html
+++ b/content/docs/latest/guides/customapps.html
@@ -178,6 +178,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/customboards.html
b/content/docs/latest/guides/customboards.html
index 4596f09ad..31eee5786 100644
--- a/content/docs/latest/guides/customboards.html
+++ b/content/docs/latest/guides/customboards.html
@@ -157,6 +157,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/gdbwithpython.html
b/content/docs/latest/guides/devicetree.html
similarity index 79%
copy from content/docs/latest/guides/gdbwithpython.html
copy to content/docs/latest/guides/devicetree.html
index e14dfdd2e..b5cd13dbc 100644
--- a/content/docs/latest/guides/gdbwithpython.html
+++ b/content/docs/latest/guides/devicetree.html
@@ -23,7 +23,7 @@
<meta charset="utf-8" /><meta name="generator" content="Docutils 0.18.1:
http://docutils.sourceforge.net/" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>GDB with Python — NuttX latest documentation</title>
+ <title>Device Tree — 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"
/>
@@ -46,8 +46,8 @@
<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="Open Flash Loader" href="ofloader.html" />
- <link rel="prev" title="gdbserver" href="gdbserver.html" />
+ <link rel="next" title="Glossary" href="../glossary.html" />
+ <link rel="prev" title="Thread Local Storage"
href="thread_local_storage.html" />
</head>
<body class="wy-body-for-nav">
@@ -144,12 +144,7 @@
<li class="toctree-l2"><a class="reference internal" href="coredump.html">Core
Dump</a></li>
<li class="toctree-l2"><a class="reference internal"
href="coresight.html">Coresight - HW Assisted Tracing on ARM</a></li>
<li class="toctree-l2"><a class="reference internal"
href="gdbserver.html">gdbserver</a></li>
-<li class="toctree-l2 current"><a class="current reference internal"
href="#">GDB with Python</a><ul>
-<li class="toctree-l3"><a class="reference internal"
href="#introduction">Introduction</a></li>
-<li class="toctree-l3"><a class="reference internal"
href="#usage">Usage</a></li>
-<li class="toctree-l3"><a class="reference internal"
href="#how-to-write-a-gdb-python-script">How to write a GDB python
script</a></li>
-</ul>
-</li>
+<li class="toctree-l2"><a class="reference internal"
href="gdbwithpython.html">GDB with Python</a></li>
<li class="toctree-l2"><a class="reference internal" href="ofloader.html">Open
Flash Loader</a></li>
<li class="toctree-l2"><a class="reference internal"
href="testingtcpip.html">Testing TCP/IP Network Stacks</a></li>
<li class="toctree-l2"><a class="reference internal"
href="automounter.html">Auto-Mounter</a></li>
@@ -158,6 +153,11 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2 current"><a class="current reference internal"
href="#">Device Tree</a><ul>
+<li class="toctree-l3"><a class="reference internal"
href="#overview">Overview</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#how-to-use">How to
use</a></li>
+</ul>
+</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
@@ -179,9 +179,9 @@
<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">Guides</a></li>
- <li class="breadcrumb-item active">GDB with Python</li>
+ <li class="breadcrumb-item active">Device Tree</li>
<li class="wy-breadcrumbs-aside">
- <a href="../_sources/guides/gdbwithpython.rst.txt" rel="nofollow">
View page source</a>
+ <a href="../_sources/guides/devicetree.rst.txt" rel="nofollow">
View page source</a>
</li>
</ul>
<hr/>
@@ -189,29 +189,38 @@
<div role="main" class="document" itemscope="itemscope"
itemtype="http://schema.org/Article">
<div itemprop="articleBody">
- <section id="gdb-with-python">
-<h1>GDB with Python<a class="headerlink" href="#gdb-with-python"
title="Permalink to this heading"></a></h1>
-<section id="introduction">
-<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to
this heading"></a></h2>
-<p>We can better debug the nuttx kernel through GDB’s python extension.
-Some of the most common class usages are implemented under the nuttx/tools/gdb
directory.
-Users can write their own python scripts to debug the nuttx kernel according
to their needs</p>
+ <section id="device-tree">
+<h1>Device Tree<a class="headerlink" href="#device-tree" title="Permalink to
this heading"></a></h1>
+<section id="overview">
+<h2>Overview<a class="headerlink" href="#overview" title="Permalink to this
heading"></a></h2>
+<p>Currently, NuttX supports parsing of FDT(Flattened Device Tree) using
libfdt, a
+utility library for reading and manipulating the binary format:</p>
+<p><a class="reference external"
href="https://github.com/dgibson/dtc/">https://github.com/dgibson/dtc/</a></p>
+<p>Based on that, NuttX has implemented some common functions to get
properties.
+Device Tree support in NuttX will reduce the configuration of chips/boards,
+it is not used in NuttX kernel framework yet.</p>
</section>
-<section id="usage">
-<h2>Usage<a class="headerlink" href="#usage" title="Permalink to this
heading"></a></h2>
+<section id="how-to-use">
+<h2>How to use<a class="headerlink" href="#how-to-use" title="Permalink to
this heading"></a></h2>
<ol class="arabic simple">
-<li><p>Compile nuttx with CONFIG_DEBUG_SYMBOLS=y</p></li>
-<li><p>Use gdb to debug nuttx elf.(real device, or sim, or coredump)</p></li>
-<li><p>add args to gdb command line: -ix=”nuttx/tools/gdb/__init__.py”</p></li>
-<li><p>Then gdb will load the python script automatically.you can use the
custom commands.</p></li>
+<li><p>Enable Device Tree and libfdt</p></li>
</ol>
-</section>
-<section id="how-to-write-a-gdb-python-script">
-<h2>How to write a GDB python script<a class="headerlink"
href="#how-to-write-a-gdb-python-script" title="Permalink to this
heading"></a></h2>
-<p>Here is an article to introduce, read it to understand the most basic
principles of python,
-<a class="reference external"
href="https://interrupt.memfault.com/blog/automate-debugging-with-gdb-python-api">Automate
Debugging with GDB Python API</a>.</p>
-<p>For more documentation on gdb python, please refer to the official
documentation of gdb
-<a class="reference external"
href="https://interrupt.memfault.com/blog/automate-debugging-with-gdb-python-api">GDB
with python</a>.</p>
+<p>Enable the Kconfig settings:</p>
+<blockquote>
+<div><div class="highlight-console notranslate"><div
class="highlight"><pre><span></span><span class="go">CONFIG_DEVICE_TREE=y
/* Enable Device Tree */</span>
+<span class="go">CONFIG_LIBFDT=y /* Enable utility
library */</span>
+</pre></div>
+</div>
+</div></blockquote>
+<ol class="arabic simple" start="2">
+<li><p>Register the DTB address</p></li>
+</ol>
+<p>Use fdt_register to set the DTB Address in NuttX</p>
+<ol class="arabic simple" start="3">
+<li><p>Parse the DTB</p></li>
+</ol>
+<p>Chip/board will use fdt_get to get the DTB Address, and then use fdt_* APIs
to
+parse the DTB properties.</p>
</section>
</section>
@@ -219,8 +228,8 @@ Users can write their own python scripts to debug the nuttx
kernel according to
</div>
</div>
<footer><div class="rst-footer-buttons" role="navigation"
aria-label="Footer">
- <a href="gdbserver.html" class="btn btn-neutral float-left"
title="gdbserver" accesskey="p" rel="prev"><span class="fa
fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
- <a href="ofloader.html" class="btn btn-neutral float-right"
title="Open Flash Loader" accesskey="n" rel="next">Next <span class="fa
fa-arrow-circle-right" aria-hidden="true"></span></a>
+ <a href="thread_local_storage.html" class="btn btn-neutral float-left"
title="Thread Local Storage" accesskey="p" rel="prev"><span class="fa
fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+ <a href="../glossary.html" class="btn btn-neutral float-right"
title="Glossary" 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/guides/drivers.html
b/content/docs/latest/guides/drivers.html
index 9ce24bc1d..b11dde092 100644
--- a/content/docs/latest/guides/drivers.html
+++ b/content/docs/latest/guides/drivers.html
@@ -160,6 +160,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/etcromfs.html
b/content/docs/latest/guides/etcromfs.html
index ccb1eded6..12980863a 100644
--- a/content/docs/latest/guides/etcromfs.html
+++ b/content/docs/latest/guides/etcromfs.html
@@ -159,6 +159,7 @@
</ul>
</li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/gdbserver.html
b/content/docs/latest/guides/gdbserver.html
index 0a44a2950..dbbc99114 100644
--- a/content/docs/latest/guides/gdbserver.html
+++ b/content/docs/latest/guides/gdbserver.html
@@ -162,6 +162,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/gdbwithpython.html
b/content/docs/latest/guides/gdbwithpython.html
index e14dfdd2e..78ef06a80 100644
--- a/content/docs/latest/guides/gdbwithpython.html
+++ b/content/docs/latest/guides/gdbwithpython.html
@@ -158,6 +158,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/index.html
b/content/docs/latest/guides/index.html
index 519cd11d4..7c1c6c7e5 100644
--- a/content/docs/latest/guides/index.html
+++ b/content/docs/latest/guides/index.html
@@ -153,6 +153,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
@@ -452,6 +453,11 @@
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html#configuration">Configuration</a></li>
</ul>
</li>
+<li class="toctree-l1"><a class="reference internal"
href="devicetree.html">Device Tree</a><ul>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html#overview">Overview</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html#how-to-use">How to use</a></li>
+</ul>
+</li>
</ul>
</div>
</section>
diff --git a/content/docs/latest/guides/kasan.html
b/content/docs/latest/guides/kasan.html
index 98068fbd3..9e6f77a26 100644
--- a/content/docs/latest/guides/kasan.html
+++ b/content/docs/latest/guides/kasan.html
@@ -166,6 +166,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/nestedinterrupts.html
b/content/docs/latest/guides/nestedinterrupts.html
index 57d6cf67a..529e4a6da 100644
--- a/content/docs/latest/guides/nestedinterrupts.html
+++ b/content/docs/latest/guides/nestedinterrupts.html
@@ -160,6 +160,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/nfs.html
b/content/docs/latest/guides/nfs.html
index ed36ddf69..c69876a37 100644
--- a/content/docs/latest/guides/nfs.html
+++ b/content/docs/latest/guides/nfs.html
@@ -159,6 +159,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/ofloader.html
b/content/docs/latest/guides/ofloader.html
index 6d808fce3..8a78be9cb 100644
--- a/content/docs/latest/guides/ofloader.html
+++ b/content/docs/latest/guides/ofloader.html
@@ -159,6 +159,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/pysimcoder.html
b/content/docs/latest/guides/pysimcoder.html
index d08bef283..2ec0d11eb 100644
--- a/content/docs/latest/guides/pysimcoder.html
+++ b/content/docs/latest/guides/pysimcoder.html
@@ -158,6 +158,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/qemugdb.html
b/content/docs/latest/guides/qemugdb.html
index 4e37dd914..f27b19e42 100644
--- a/content/docs/latest/guides/qemugdb.html
+++ b/content/docs/latest/guides/qemugdb.html
@@ -158,6 +158,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/rndis.html
b/content/docs/latest/guides/rndis.html
index 4ad434049..d553aa41f 100644
--- a/content/docs/latest/guides/rndis.html
+++ b/content/docs/latest/guides/rndis.html
@@ -158,6 +158,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/simulator.html
b/content/docs/latest/guides/simulator.html
index 6c5e32789..945b1ef5d 100644
--- a/content/docs/latest/guides/simulator.html
+++ b/content/docs/latest/guides/simulator.html
@@ -161,6 +161,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/stackrecord.html
b/content/docs/latest/guides/stackrecord.html
index 309059ec5..91504b3df 100644
--- a/content/docs/latest/guides/stackrecord.html
+++ b/content/docs/latest/guides/stackrecord.html
@@ -160,6 +160,7 @@
</li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/stm32ccm.html
b/content/docs/latest/guides/stm32ccm.html
index 8f60a70c5..a3ac50fdb 100644
--- a/content/docs/latest/guides/stm32ccm.html
+++ b/content/docs/latest/guides/stm32ccm.html
@@ -159,6 +159,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/stm32nullpointer.html
b/content/docs/latest/guides/stm32nullpointer.html
index 812713b2f..f816bef04 100644
--- a/content/docs/latest/guides/stm32nullpointer.html
+++ b/content/docs/latest/guides/stm32nullpointer.html
@@ -160,6 +160,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/tasktrace.html
b/content/docs/latest/guides/tasktrace.html
index 11c516fe4..acbcd8d57 100644
--- a/content/docs/latest/guides/tasktrace.html
+++ b/content/docs/latest/guides/tasktrace.html
@@ -157,6 +157,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/tasktraceinternal.html
b/content/docs/latest/guides/tasktraceinternal.html
index 044b0a43a..4b6aa801d 100644
--- a/content/docs/latest/guides/tasktraceinternal.html
+++ b/content/docs/latest/guides/tasktraceinternal.html
@@ -172,6 +172,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/tasktraceuser.html
b/content/docs/latest/guides/tasktraceuser.html
index 61fae0e4e..e42ba8598 100644
--- a/content/docs/latest/guides/tasktraceuser.html
+++ b/content/docs/latest/guides/tasktraceuser.html
@@ -178,6 +178,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/testingtcpip.html
b/content/docs/latest/guides/testingtcpip.html
index 3402cf52f..42a368b06 100644
--- a/content/docs/latest/guides/testingtcpip.html
+++ b/content/docs/latest/guides/testingtcpip.html
@@ -159,6 +159,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/thread_local_storage.html
b/content/docs/latest/guides/thread_local_storage.html
index 6f3f62ffe..e1012d61a 100644
--- a/content/docs/latest/guides/thread_local_storage.html
+++ b/content/docs/latest/guides/thread_local_storage.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="Glossary" href="../glossary.html" />
+ <link rel="next" title="Device Tree" href="devicetree.html" />
<link rel="prev" title="etc romfs" href="etcromfs.html" />
</head>
@@ -156,6 +156,7 @@
<li class="toctree-l3"><a class="reference internal"
href="#configuration">Configuration</a></li>
</ul>
</li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
@@ -228,7 +229,7 @@ the platform support pthreads.
</div>
<footer><div class="rst-footer-buttons" role="navigation"
aria-label="Footer">
<a href="etcromfs.html" class="btn btn-neutral float-left" title="etc
romfs" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"
aria-hidden="true"></span> Previous</a>
- <a href="../glossary.html" class="btn btn-neutral float-right"
title="Glossary" accesskey="n" rel="next">Next <span class="fa
fa-arrow-circle-right" aria-hidden="true"></span></a>
+ <a href="devicetree.html" class="btn btn-neutral float-right"
title="Device Tree" 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/guides/usbtrace.html
b/content/docs/latest/guides/usbtrace.html
index f50a11867..cb50f00d2 100644
--- a/content/docs/latest/guides/usbtrace.html
+++ b/content/docs/latest/guides/usbtrace.html
@@ -153,6 +153,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/guides/zerolatencyinterrupts.html
b/content/docs/latest/guides/zerolatencyinterrupts.html
index 4b4ea821c..638021b82 100644
--- a/content/docs/latest/guides/zerolatencyinterrupts.html
+++ b/content/docs/latest/guides/zerolatencyinterrupts.html
@@ -167,6 +167,7 @@
<li class="toctree-l2"><a class="reference internal"
href="stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal" href="etcromfs.html">etc
romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="../glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/implementation/simulation.html
b/content/docs/latest/implementation/simulation.html
index 7a4f1d715..67c536ca2 100644
--- a/content/docs/latest/implementation/simulation.html
+++ b/content/docs/latest/implementation/simulation.html
@@ -209,14 +209,11 @@ Look at <code class="docutils literal notranslate"><span
class="pre">arch/sim/sr
<p>The secret is <code class="docutils literal notranslate"><span
class="pre">nuttx.rel</span></code>. That is a blob that contains the entire
Nuttx simulation.
It is built like this:</p>
<blockquote>
-<div><div class="highlight-console notranslate"><div
class="highlight"><pre><span></span>
+<div><div class="highlight-console notranslate"><div
class="highlight"><pre><span></span><span class="go">nuttx.rel :
libarch$(LIBEXT) board/libboard$(LIBEXT) $(HOSTOS)-names.dat $(LINKOBJS)</span>
+<span class="gp"> $</span><span class="o">(</span>LD<span
class="o">)</span><span class="w"> </span>-r<span class="w"> </span><span
class="k">$(</span>LDLINKFLAGS<span class="k">)</span><span class="w">
</span><span class="k">$(</span>RELPATHS<span class="k">)</span><span
class="w"> </span><span class="k">$(</span>EXTRA_LIBPATHS<span
class="k">)</span><span class="w"> </span>-o<span class="w"> </span><span
class="nv">$@</span><span class="w"> </span><span class="k">$(</span>REQUIREDOB
[...]
+<span class="gp"> $</span><span class="o">(</span>OBJCOPY<span
class="o">)</span><span class="w"> </span>--redefine-syms<span
class="o">=</span><span class="k">$(</span>HOSTOS<span
class="k">)</span>-names.dat<span class="w"> </span><span class="nv">$@</span>
</pre></div>
</div>
-<dl class="simple">
-<dt>nuttx.rel<span class="classifier">libarch$(LIBEXT) board/libboard$(LIBEXT)
$(HOSTOS)-names.dat $(LINKOBJS)</span></dt><dd><p>$(LD) -r $(LDLINKFLAGS)
$(RELPATHS) $(EXTRA_LIBPATHS) -o $@ $(REQUIREDOBJS) –start-group $(RELLIBS)
$(EXTRA_LIBS) –end-group
-$(OBJCOPY) –redefine-syms=$(HOSTOS)-names.dat $@</p>
-</dd>
-</dl>
</div></blockquote>
<p>The first <code class="docutils literal notranslate"><span
class="pre">$(LD)</span></code> builds a partially linked, relocatable object
(hence, the extension <code class="docutils literal notranslate"><span
class="pre">.rel</span></code>). This contains all of the NuttX objects. So
<code class="docutils literal notranslate"><span
class="pre">nuttx.rel</span></code> is the entire “fish bowl” that the NuttX
simulation lives.</p>
<p>The second <code class="docutils literal notranslate"><span
class="pre">$(OBJCOPY)</span></code> line is the thing the irrevocable severs
the NuttX “fish bowl” from the host environment. It renames most of the
symbols in <code class="docutils literal notranslate"><span
class="pre">nuttx.rel</span></code> so that they do not collide with the
symbols use by the host system. Look in <code class="docutils literal
notranslate"><span class="pre">arch/sim/src/nuttx-names.dat</span></code>. [...]
@@ -270,11 +267,10 @@ $(OBJCOPY) –redefine-syms=$(HOSTOS)-names.dat $@</p>
<li><p>In the earliest initialization, simulator could start a host simulation
interrupt thread and setup a signal handler to catch signals on the main
thread. One signal, say <code class="docutils literal notranslate"><span
class="pre">SIGUSER</span></code> could indicate a context switch. This would
be a type <code class="docutils literal notranslate"><span
class="pre">SA_SIGINFO</span></code> and the context switch information would
be provided in the <code class="docutils literal n [...]
<li><p>Interrupt logic could be implemented on a host pthread. The host
pthread, like a hardware interrupt, executes asynchronously outside of the
operating system. The interrupt thread could wait for a host signal or a host
message and, upon receipt, perform simulated interrupt logic.</p></li>
<li><p><code class="docutils literal notranslate"><span
class="pre">up_interrupt_context()</span></code> would need to be implemented;
it is only a stub now. I think this could be done with a simple global boolean
like:</p>
-<div class="highlight-console notranslate"><div
class="highlight"><pre><span></span>
+<div class="highlight-console notranslate"><div
class="highlight"><pre><span></span><span class="go">bool g_in_interrupt;</span>
+<span class="go">xcpt_reg_t g_context_regs;</span>
</pre></div>
</div>
-<p>bool g_in_interrupt;
-xcpt_reg_t g_context_regs;</p>
</li>
</ul>
</div></blockquote>
diff --git a/content/docs/latest/index.html b/content/docs/latest/index.html
index 5db735d25..f5dbda4a7 100644
--- a/content/docs/latest/index.html
+++ b/content/docs/latest/index.html
@@ -172,7 +172,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: 30 September 24 at 00:21</p>
+<p>Last Updated: 01 October 24 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">
@@ -335,6 +335,7 @@ as fork()).</p>
<li class="toctree-l2"><a class="reference internal"
href="guides/stackrecord.html">Run time stack statistics</a></li>
<li class="toctree-l2"><a class="reference internal"
href="guides/etcromfs.html">etc romfs</a></li>
<li class="toctree-l2"><a class="reference internal"
href="guides/thread_local_storage.html">Thread Local Storage</a></li>
+<li class="toctree-l2"><a class="reference internal"
href="guides/devicetree.html">Device Tree</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal"
href="glossary.html">Glossary</a></li>
diff --git a/content/docs/latest/objects.inv b/content/docs/latest/objects.inv
index 063dceab8..6e63d7773 100644
Binary files a/content/docs/latest/objects.inv and
b/content/docs/latest/objects.inv differ
diff --git a/content/docs/latest/searchindex.js
b/content/docs/latest/searchindex.js
index 626c888a7..292067cfe 100644
--- a/content/docs/latest/searchindex.js
+++ b/content/docs/latest/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/benchmarks/iozone/index",
"applications/bench [...]
\ No newline at end of file
+Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index",
"applications/audioutils/index", "applications/audioutils/mml_parser/index",
"applications/audioutils/nxaudio/index",
"applications/benchmarks/cachespeed/index",
"applications/benchmarks/coremark-pro/index",
"applications/benchmarks/coremark/index",
"applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index",
"applications/benchmarks/index", "applications/benchmarks/iozone/index",
"applications/bench [...]
\ No newline at end of file
diff --git a/content/feed.xml b/content/feed.xml
index 6ea8419dc..aa2a19800 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, 30 Sep 2024 00:23:26 +0000</pubDate>
- <lastBuildDate>Mon, 30 Sep 2024 00:23:26 +0000</lastBuildDate>
+ <pubDate>Tue, 01 Oct 2024 00:24:50 +0000</pubDate>
+ <lastBuildDate>Tue, 01 Oct 2024 00:24:50 +0000</lastBuildDate>
<generator>Jekyll v4.3.2</generator>
<item>