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 19d64f130 Publishing web: 6f43cfb03f4b427e9277e6d3064476fa7ea61660 docs: 505adfa277f597e8ea08f389f93ed7e64ad35b82 19d64f130 is described below commit 19d64f13004c76d45190b42953abe85c489ae0ae Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> AuthorDate: Sun Oct 13 00:25:12 2024 +0000 Publishing web: 6f43cfb03f4b427e9277e6d3064476fa7ea61660 docs: 505adfa277f597e8ea08f389f93ed7e64ad35b82 --- content/docs/10.0.0/index.html | 2 +- content/docs/10.0.1/index.html | 2 +- content/docs/10.1.0/index.html | 2 +- content/docs/10.2.0/index.html | 2 +- content/docs/10.3.0/index.html | 2 +- content/docs/11.0.0/index.html | 2 +- content/docs/12.0.0/index.html | 2 +- content/docs/12.0.0/searchindex.js | 2 +- content/docs/12.1.0/index.html | 2 +- content/docs/12.1.0/searchindex.js | 2 +- content/docs/12.2.0/index.html | 2 +- content/docs/12.2.0/searchindex.js | 2 +- content/docs/12.2.1/index.html | 2 +- content/docs/12.2.1/searchindex.js | 2 +- content/docs/12.3.0/index.html | 2 +- content/docs/12.3.0/searchindex.js | 2 +- content/docs/12.4.0/index.html | 2 +- content/docs/12.4.0/searchindex.js | 2 +- content/docs/12.5.0/index.html | 2 +- content/docs/12.5.0/searchindex.js | 2 +- content/docs/12.5.1/index.html | 2 +- content/docs/12.5.1/searchindex.js | 2 +- content/docs/12.6.0/index.html | 2 +- content/docs/12.6.0/searchindex.js | 2 +- .../docs/latest/_sources/guides/coredump.rst.txt | 4 +- .../guides/debuggingflash_nuttxonarm.rst.txt | 111 +++++++++++++++++ content/docs/latest/_sources/guides/index.rst.txt | 1 + content/docs/latest/glossary.html | 4 +- content/docs/latest/guides/automounter.html | 1 + content/docs/latest/guides/citests.html | 1 + content/docs/latest/guides/coredump.html | 5 +- 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 + ...icetree.html => debuggingflash_nuttxonarm.html} | 138 +++++++++++++++------ content/docs/latest/guides/devicetree.html | 5 +- 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 | 9 ++ 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 | 1 + content/docs/latest/guides/usbtrace.html | 1 + .../docs/latest/guides/zerolatencyinterrupts.html | 1 + content/docs/latest/index.html | 3 +- content/docs/latest/objects.inv | Bin 123020 -> 123179 bytes .../arm/qemu/boards/qemu-armv7a/index.html | 29 +++++ content/docs/latest/searchindex.js | 2 +- content/feed.xml | 4 +- 66 files changed, 317 insertions(+), 75 deletions(-) diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html index 3a8969215..d3d9f6d03 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: 12 October 24 at 00:12</p> +<p>Last Updated: 13 October 24 at 00:13</p> <div class="toctree-wrapper compound"> <p class="caption"><span class="caption-text">Table of Contents</span></p> <ul class="current"> diff --git a/content/docs/10.0.1/index.html b/content/docs/10.0.1/index.html index cb8ebcec1..c28148e21 100644 --- a/content/docs/10.0.1/index.html +++ b/content/docs/10.0.1/index.html @@ -237,7 +237,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: 12 October 24 at 00:12</p> +<p>Last Updated: 13 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.1.0/index.html b/content/docs/10.1.0/index.html index e7028af88..44b661ef3 100644 --- a/content/docs/10.1.0/index.html +++ b/content/docs/10.1.0/index.html @@ -237,7 +237,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: 12 October 24 at 00:12</p> +<p>Last Updated: 13 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.2.0/index.html b/content/docs/10.2.0/index.html index 67321cb1f..43d053ecc 100644 --- a/content/docs/10.2.0/index.html +++ b/content/docs/10.2.0/index.html @@ -238,7 +238,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: 12 October 24 at 00:13</p> +<p>Last Updated: 13 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.3.0/index.html b/content/docs/10.3.0/index.html index 67321cb1f..ee434eaf9 100644 --- a/content/docs/10.3.0/index.html +++ b/content/docs/10.3.0/index.html @@ -238,7 +238,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: 12 October 24 at 00:13</p> +<p>Last Updated: 13 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/11.0.0/index.html b/content/docs/11.0.0/index.html index 67321cb1f..ee434eaf9 100644 --- a/content/docs/11.0.0/index.html +++ b/content/docs/11.0.0/index.html @@ -238,7 +238,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: 12 October 24 at 00:13</p> +<p>Last Updated: 13 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/12.0.0/index.html b/content/docs/12.0.0/index.html index 0ea2a4100..056c9ab93 100644 --- a/content/docs/12.0.0/index.html +++ b/content/docs/12.0.0/index.html @@ -163,7 +163,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: 12 October 24 at 00:14</p> +<p>Last Updated: 13 October 24 at 00:15</p> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p> <ul class="current"> diff --git a/content/docs/12.0.0/searchindex.js b/content/docs/12.0.0/searchindex.js index d844c7a72..7705910b7 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 15a5d65ec..4fbfdc8d5 100644 --- a/content/docs/12.1.0/index.html +++ b/content/docs/12.1.0/index.html @@ -163,7 +163,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: 12 October 24 at 00:14</p> +<p>Last Updated: 13 October 24 at 00:15</p> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p> <ul class="current"> diff --git a/content/docs/12.1.0/searchindex.js b/content/docs/12.1.0/searchindex.js index bc0fb6ed3..726d33508 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 276d7a4ba..e109983e4 100644 --- a/content/docs/12.2.0/index.html +++ b/content/docs/12.2.0/index.html @@ -164,7 +164,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: 12 October 24 at 00:14</p> +<p>Last Updated: 13 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.2.0/searchindex.js b/content/docs/12.2.0/searchindex.js index 9315e3973..2df0ee791 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 0b57ace1a..e109983e4 100644 --- a/content/docs/12.2.1/index.html +++ b/content/docs/12.2.1/index.html @@ -164,7 +164,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: 12 October 24 at 00:15</p> +<p>Last Updated: 13 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.2.1/searchindex.js b/content/docs/12.2.1/searchindex.js index 4fbc0c1d9..c0819c2a1 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 c4cc57426..ab087afa3 100644 --- a/content/docs/12.3.0/index.html +++ b/content/docs/12.3.0/index.html @@ -164,7 +164,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: 12 October 24 at 00:15</p> +<p>Last Updated: 13 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.3.0/searchindex.js b/content/docs/12.3.0/searchindex.js index fdcf1283c..e292dfca9 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 841f03f23..2f2dea649 100644 --- a/content/docs/12.4.0/index.html +++ b/content/docs/12.4.0/index.html @@ -171,7 +171,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: 12 October 24 at 00:16</p> +<p>Last Updated: 13 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.4.0/searchindex.js b/content/docs/12.4.0/searchindex.js index 14b477530..6b6c8ac83 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 28a949a3b..aba407122 100644 --- a/content/docs/12.5.0/index.html +++ b/content/docs/12.5.0/index.html @@ -171,7 +171,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: 12 October 24 at 00:18</p> +<p>Last Updated: 13 October 24 at 00:19</p> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p> <ul class="current"> diff --git a/content/docs/12.5.0/searchindex.js b/content/docs/12.5.0/searchindex.js index 36337557f..f112c8556 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 fcf7e253b..9ee0b060a 100644 --- a/content/docs/12.5.1/index.html +++ b/content/docs/12.5.1/index.html @@ -171,7 +171,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: 12 October 24 at 00:19</p> +<p>Last Updated: 13 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.1/searchindex.js b/content/docs/12.5.1/searchindex.js index 0e053cdd0..b743733e3 100644 --- a/content/docs/12.5.1/searchindex.js +++ b/content/docs/12.5.1/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/coremark/index", "applications/benchmarks/index", "applications/boot/index", "applications/boot/mcuboot/index", "applications/boot/miniboot/index", "applications/canutils/candump/index", "applications/canutils/canlib/index", "applications/canutils/cansend/index", "applications/c [...] \ No newline at end of file +Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/coremark/index", "applications/benchmarks/index", "applications/boot/index", "applications/boot/mcuboot/index", "applications/boot/miniboot/index", "applications/canutils/candump/index", "applications/canutils/canlib/index", "applications/canutils/cansend/index", "applications/c [...] \ No newline at end of file diff --git a/content/docs/12.6.0/index.html b/content/docs/12.6.0/index.html index c0dc90c7f..ddb1c657b 100644 --- a/content/docs/12.6.0/index.html +++ b/content/docs/12.6.0/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: 12 October 24 at 00:20</p> +<p>Last Updated: 13 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.6.0/searchindex.js b/content/docs/12.6.0/searchindex.js index 42144e6b3..d0bd9eb03 100644 --- a/content/docs/12.6.0/searchindex.js +++ b/content/docs/12.6.0/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/cachespeed/index", "applications/benchmarks/coremark-pro/index", "applications/benchmarks/coremark/index", "applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", "applications/benchmarks/index", "applications/benchmarks/iozone/index", "applications/bench [...] \ No newline at end of file +Search.setIndex({"docnames": ["applications/audioutils/fmsynt/index", "applications/audioutils/index", "applications/audioutils/mml_parser/index", "applications/audioutils/nxaudio/index", "applications/benchmarks/cachespeed/index", "applications/benchmarks/coremark-pro/index", "applications/benchmarks/coremark/index", "applications/benchmarks/dhrystone/index", "applications/benchmarks/fio/index", "applications/benchmarks/index", "applications/benchmarks/iozone/index", "applications/bench [...] \ No newline at end of file diff --git a/content/docs/latest/_sources/guides/coredump.rst.txt b/content/docs/latest/_sources/guides/coredump.rst.txt index 94dfa7fc3..9b68c755c 100644 --- a/content/docs/latest/_sources/guides/coredump.rst.txt +++ b/content/docs/latest/_sources/guides/coredump.rst.txt @@ -16,9 +16,7 @@ Enable Kconfig .. code-block:: console - CONFIG_ELF=y /* Enable ELF */ - - CONFIG_ELF_COREDUMP=y /* Enable ELF Coredump */ + CONFIG_COREDUMP=y /* Enable Coredump */ CONFIG_BOARD_COREDUMP_SYSLOG=y /* Enable Board Coredump, if exceptions and assertions occur, */ diff --git a/content/docs/latest/_sources/guides/debuggingflash_nuttxonarm.rst.txt b/content/docs/latest/_sources/guides/debuggingflash_nuttxonarm.rst.txt new file mode 100644 index 000000000..1d8b0fbee --- /dev/null +++ b/content/docs/latest/_sources/guides/debuggingflash_nuttxonarm.rst.txt @@ -0,0 +1,111 @@ +=================================================================== +Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD) +=================================================================== + +.. warning:: + Migrated from: + https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629444 + + +NOTE: If you experience the issues described on this page, you can enable the +configuration option below to resolve it. + +.. code-block:: makefile + + CONFIG_STM32_DISABLE_IDLE_SLEEP_DURING_DEBUG=y + +What's the problem? +=================== + +On some architectures (like ARM Cortex-M3) Idle thread causes the core to stop +using WFI (Wait For Interrupt) assembly instruction. This effectively stops +clocking of the core, which is resumed only by some enabled interrupt. This +causes hardware debuggers to believe that they were disconnected from the +target, as they lose connection with the now stopped core. For example OpenOCD +shows errors like these the moment you start the target: + +.. code-block:: console + + Error: jtag status contains invalid mode value - communication failure + Polling target failed, GDB will be halted. Polling again in 100ms + Error: jtag status contains invalid mode value - communication failure + Polling target failed, GDB will be halted. Polling again in 300ms + Error: jtag status contains invalid mode value - communication failure + Polling target failed, GDB will be halted. Polling again in 700ms + Error: jtag status contains invalid mode value - communication failure + Polling target failed, GDB will be halted. Polling again in 1500ms + Error: jtag status contains invalid mode value - communication failure + Polling target failed, GDB will be halted. Polling again in 3100ms + Error: jtag status contains invalid mode value - communication failure + Polling target failed, GDB will be halted. Polling again in 6300ms + Error: jtag status contains invalid mode value - communication failure + Polling target failed, GDB will be halted. Polling again in 6300ms + + +This makes debugging the code impossible and flashing the chip is much harder - +you have to connect to the chip at the right moment (when it's not disabled +due to WFI) - the chances of doing that are inverse proportional to the load +of your system (if your chip spends 99% of time in Idle mode, you have 1% +chance of connecting and halting it). + +Solution +======== + +Some ARM cores that support disabling of clocking after WFI instruction have +special configuration options to make debugging possible. One example is STM32 +family - with it's ``DBGMCU->CR`` register it's possible to keep the core +clocked during power-down modes. If your chip supports such configuration you +should put it in some early stage of initialization, like in +``stm32_boardinitialize()`` function. The following code demonstrates the +change for STM32: + +.. code-block:: c + + uint32_t cr = getreg32(STM32_DBGMCU_CR); + cr |= DBGMCU_CR_STANDBY | DBGMCU_CR_STOP | DBGMCU_CR_SLEEP; + putreg32(cr, STM32_DBGMCU_CR); + +If your chip doesn't provide such options there is no other way than not using +WFI instruction in up_idle() function. + +It should be noted that such modification should be done only for development +stage, as keeping the core clocked during power-down modes contradicts the +major purpose of using them - reducing power usage. + +In rare cases that you still have problems with connecting to the target +(especially after power cycle), you should try connecting and halting the chip +under reset (this is supported by new versions of OpenOCD), by holding the +reset button while starting OpenOCD or by configuring OpenOCD to do that for +you. + +Work-around +----------- + +If you keep the RESET button pressed and run OpenOCD command to connected to +it, then it will connect sucessful. After connecting you need to keep the +reset button pressed until you open the telnet connection +(telnet 127.0.0.1 4444) and execute "reset halt": + +.. code-block:: console + + > reset halt + timed out while waiting for target halted + TARGET: stm32f1x.cpu - Not halted + + in procedure 'reset' + target state: halted + target halted due to debug-request, current mode: Thread + xPSR: 0x01000000 pc: 0x080003d0 msp: 0x20001278 + +Then release the RESET boot and it will reset correctly. + +This work-around was tested on viewtool-stm32f107 board and bypassed the above +error reported by OpenOCD. The SWD programmer was a STLink-V2 and this was +the command to connect: + +.. code-block:: console + + openocd -f interface/stlink-v2.cfg -f target/stm32f1x_stlink.cfg + +The OpenOCD version used was: Open On-Chip Debugger 0.8.0-dev-00307-g215c41c +(git commit 215c41c) diff --git a/content/docs/latest/_sources/guides/index.rst.txt b/content/docs/latest/_sources/guides/index.rst.txt index 7a40208b9..45121672e 100644 --- a/content/docs/latest/_sources/guides/index.rst.txt +++ b/content/docs/latest/_sources/guides/index.rst.txt @@ -35,3 +35,4 @@ Guides etcromfs.rst thread_local_storage.rst devicetree.rst + debuggingflash_nuttxonarm.rst diff --git a/content/docs/latest/glossary.html b/content/docs/latest/glossary.html index ea92dfddc..d23e09017 100644 --- a/content/docs/latest/glossary.html +++ b/content/docs/latest/glossary.html @@ -44,7 +44,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="Device Tree" href="guides/devicetree.html" /> + <link rel="prev" title="Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)" href="guides/debuggingflash_nuttxonarm.html" /> </head> <body class="wy-body-for-nav"> @@ -403,7 +403,7 @@ </div> </div> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> - <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="guides/debuggingflash_nuttxonarm.html" class="btn btn-neutral float-left" title="Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)" 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 7d95494c9..484a92968 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 489509929..25e29d39f 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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/coredump.html b/content/docs/latest/guides/coredump.html index 42c7925aa..360d516fa 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li> @@ -202,9 +203,7 @@ </ol> <p>Enable Kconfig</p> <blockquote> -<div><div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">CONFIG_ELF=y /* Enable ELF */</span> - -<span class="go">CONFIG_ELF_COREDUMP=y /* Enable ELF Coredump */</span> +<div><div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">CONFIG_COREDUMP=y /* Enable Coredump */</span> <span class="go">CONFIG_BOARD_COREDUMP_SYSLOG=y /* Enable Board Coredump, if exceptions and assertions occur, */</span> diff --git a/content/docs/latest/guides/coresight.html b/content/docs/latest/guides/coresight.html index 42378be7a..71cb980bc 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 ecd87f20a..2ac8cd229 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 e28c4db14..6c0c1aa66 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 91394d816..f75c37c56 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 3084584ef..dc0056449 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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/devicetree.html b/content/docs/latest/guides/debuggingflash_nuttxonarm.html similarity index 55% copy from content/docs/latest/guides/devicetree.html copy to content/docs/latest/guides/debuggingflash_nuttxonarm.html index 714627d58..fd25c4a99 100644 --- a/content/docs/latest/guides/devicetree.html +++ b/content/docs/latest/guides/debuggingflash_nuttxonarm.html @@ -25,7 +25,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>Device Tree — NuttX latest documentation</title> + <title>Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD) — 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" /> @@ -44,7 +44,7 @@ <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="prev" title="Thread Local Storage" href="thread_local_storage.html" /> + <link rel="prev" title="Device Tree" href="devicetree.html" /> </head> <body class="wy-body-for-nav"> @@ -152,9 +152,13 @@ <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> +<li class="toctree-l2"><a class="reference internal" href="devicetree.html">Device Tree</a></li> +<li class="toctree-l2 current"><a class="current reference internal" href="#">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a><ul> +<li class="toctree-l3"><a class="reference internal" href="#what-s-the-problem">What’s the problem?</a></li> +<li class="toctree-l3"><a class="reference internal" href="#solution">Solution</a><ul> +<li class="toctree-l4"><a class="reference internal" href="#work-around">Work-around</a></li> +</ul> +</li> </ul> </li> </ul> @@ -178,9 +182,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">Device Tree</li> + <li class="breadcrumb-item active">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</li> <li class="wy-breadcrumbs-aside"> - <a href="../_sources/guides/devicetree.rst.txt" rel="nofollow"> View page source</a> + <a href="../_sources/guides/debuggingflash_nuttxonarm.rst.txt" rel="nofollow"> View page source</a> </li> </ul> <hr/> @@ -188,38 +192,98 @@ <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> - <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 id="debugging-flashing-nuttx-on-arm-with-hardware-debugger-jtag-swd"> +<h1>Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)<a class="headerlink" href="#debugging-flashing-nuttx-on-arm-with-hardware-debugger-jtag-swd" title="Permalink to this heading"></a></h1> +<div class="admonition warning"> +<p class="admonition-title">Warning</p> +<p>Migrated from: +<a class="reference external" href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629444">https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=139629444</a></p> +</div> +<p>NOTE: If you experience the issues described on this page, you can enable the +configuration option below to resolve it.</p> +<div class="highlight-makefile notranslate"><div class="highlight"><pre><span></span><span class="nv">CONFIG_STM32_DISABLE_IDLE_SLEEP_DURING_DEBUG</span><span class="o">=</span>y +</pre></div> +</div> +<section id="what-s-the-problem"> +<h2>What’s the problem?<a class="headerlink" href="#what-s-the-problem" title="Permalink to this heading"></a></h2> +<p>On some architectures (like ARM Cortex-M3) Idle thread causes the core to stop +using WFI (Wait For Interrupt) assembly instruction. This effectively stops +clocking of the core, which is resumed only by some enabled interrupt. This +causes hardware debuggers to believe that they were disconnected from the +target, as they lose connection with the now stopped core. For example OpenOCD +shows errors like these the moment you start the target:</p> +<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">Error: jtag status contains invalid mode value - communication failure</span> +<span class="go">Polling target failed, GDB will be halted. Polling again in 100ms</span> +<span class="go">Error: jtag status contains invalid mode value - communication failure</span> +<span class="go">Polling target failed, GDB will be halted. Polling again in 300ms</span> +<span class="go">Error: jtag status contains invalid mode value - communication failure</span> +<span class="go">Polling target failed, GDB will be halted. Polling again in 700ms</span> +<span class="go">Error: jtag status contains invalid mode value - communication failure</span> +<span class="go">Polling target failed, GDB will be halted. Polling again in 1500ms</span> +<span class="go">Error: jtag status contains invalid mode value - communication failure</span> +<span class="go">Polling target failed, GDB will be halted. Polling again in 3100ms</span> +<span class="go">Error: jtag status contains invalid mode value - communication failure</span> +<span class="go">Polling target failed, GDB will be halted. Polling again in 6300ms</span> +<span class="go">Error: jtag status contains invalid mode value - communication failure</span> +<span class="go">Polling target failed, GDB will be halted. Polling again in 6300ms</span> +</pre></div> +</div> +<p>This makes debugging the code impossible and flashing the chip is much harder - +you have to connect to the chip at the right moment (when it’s not disabled +due to WFI) - the chances of doing that are inverse proportional to the load +of your system (if your chip spends 99% of time in Idle mode, you have 1% +chance of connecting and halting it).</p> </section> -<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>Enable Device Tree and libfdt</p></li> -</ol> -<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> +<section id="solution"> +<h2>Solution<a class="headerlink" href="#solution" title="Permalink to this heading"></a></h2> +<p>Some ARM cores that support disabling of clocking after WFI instruction have +special configuration options to make debugging possible. One example is STM32 +family - with it’s <code class="docutils literal notranslate"><span class="pre">DBGMCU->CR</span></code> register it’s possible to keep the core +clocked during power-down modes. If your chip supports such configuration you +should put it in some early stage of initialization, like in +<code class="docutils literal notranslate"><span class="pre">stm32_boardinitialize()</span></code> function. The following code demonstrates the +change for STM32:</p> +<div class="highlight-c notranslate"><div class="highlight"><pre><span></span><span class="kt">uint32_t</span><span class="w"> </span><span class="n">cr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">getreg32</span><span class="p">(</span><span class="n">STM32_DBGMCU_CR</span><span class="p">);</span> +<span class="n">cr</span><span class="w"> </span><span class="o">|=</span><span class="w"> </span><span class="n">DBGMCU_CR_STANDBY</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">DBGMCU_CR_STOP</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="n">DBGMCU_CR_SLEEP</span><span class="p">;</span> +<span class="n">putreg32</span><span class="p">(</span><span class="n">cr</span><span class="p">,</span><span class="w"> </span><span class="n">STM32_DBGMCU_CR</span><span class="p">);</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> +<p>If your chip doesn’t provide such options there is no other way than not using +WFI instruction in up_idle() function.</p> +<p>It should be noted that such modification should be done only for development +stage, as keeping the core clocked during power-down modes contradicts the +major purpose of using them - reducing power usage.</p> +<p>In rare cases that you still have problems with connecting to the target +(especially after power cycle), you should try connecting and halting the chip +under reset (this is supported by new versions of OpenOCD), by holding the +reset button while starting OpenOCD or by configuring OpenOCD to do that for +you.</p> +<section id="work-around"> +<h3>Work-around<a class="headerlink" href="#work-around" title="Permalink to this heading"></a></h3> +<p>If you keep the RESET button pressed and run OpenOCD command to connected to +it, then it will connect sucessful. After connecting you need to keep the +reset button pressed until you open the telnet connection +(telnet 127.0.0.1 4444) and execute “reset halt”:</p> +<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">> reset halt</span> +<span class="go">timed out while waiting for target halted</span> +<span class="go">TARGET: stm32f1x.cpu - Not halted</span> + +<span class="go">in procedure 'reset'</span> +<span class="go">target state: halted</span> +<span class="go">target halted due to debug-request, current mode: Thread</span> +<span class="go">xPSR: 0x01000000 pc: 0x080003d0 msp: 0x20001278</span> +</pre></div> +</div> +<p>Then release the RESET boot and it will reset correctly.</p> +<p>This work-around was tested on viewtool-stm32f107 board and bypassed the above +error reported by OpenOCD. The SWD programmer was a STLink-V2 and this was +the command to connect:</p> +<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">openocd -f interface/stlink-v2.cfg -f target/stm32f1x_stlink.cfg</span> +</pre></div> +</div> +<p>The OpenOCD version used was: Open On-Chip Debugger 0.8.0-dev-00307-g215c41c +(git commit 215c41c)</p> +</section> </section> </section> @@ -227,7 +291,7 @@ parse the DTB properties.</p> </div> </div> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> - <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="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="../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> diff --git a/content/docs/latest/guides/devicetree.html b/content/docs/latest/guides/devicetree.html index 714627d58..e8166292b 100644 --- a/content/docs/latest/guides/devicetree.html +++ b/content/docs/latest/guides/devicetree.html @@ -43,7 +43,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="Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)" href="debuggingflash_nuttxonarm.html" /> <link rel="prev" title="Thread Local Storage" href="thread_local_storage.html" /> </head> @@ -157,6 +157,7 @@ <li class="toctree-l3"><a class="reference internal" href="#how-to-use">How to use</a></li> </ul> </li> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li> @@ -228,7 +229,7 @@ parse the DTB properties.</p> </div> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <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> + <a href="debuggingflash_nuttxonarm.html" class="btn btn-neutral float-right" title="Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> </div> <hr/> diff --git a/content/docs/latest/guides/drivers.html b/content/docs/latest/guides/drivers.html index a7062dbd0..a9bf28e41 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 a987bbd2e..056c0b39d 100644 --- a/content/docs/latest/guides/etcromfs.html +++ b/content/docs/latest/guides/etcromfs.html @@ -159,6 +159,7 @@ </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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 22de4e6be..8071c1dc5 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 24f612dad..cbe52fafd 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 4b89fcf56..43679e655 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li> @@ -458,6 +459,14 @@ <li class="toctree-l2"><a class="reference internal" href="devicetree.html#how-to-use">How to use</a></li> </ul> </li> +<li class="toctree-l1"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a><ul> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html#what-s-the-problem">What’s the problem?</a></li> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html#solution">Solution</a><ul> +<li class="toctree-l3"><a class="reference internal" href="debuggingflash_nuttxonarm.html#work-around">Work-around</a></li> +</ul> +</li> +</ul> +</li> </ul> </div> </section> diff --git a/content/docs/latest/guides/kasan.html b/content/docs/latest/guides/kasan.html index ca5a1e13e..5a305d07b 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 afb910302..2856a3800 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 9b6d7c20d..9abfc19e8 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 84fa1df01..e3a301897 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 c9155fef1..7d9383d2c 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 2b15baa16..cc9894f61 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 5e2650da2..7a2cb2eed 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 236e8617a..bdfc41067 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 aea77100b..d1840d5b9 100644 --- a/content/docs/latest/guides/stackrecord.html +++ b/content/docs/latest/guides/stackrecord.html @@ -160,6 +160,7 @@ <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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 4424273f0..f213f3d88 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 af82c9ab4..43dda7f56 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 a43f35e9f..ae80288c2 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 3b6aff451..83fe6ffad 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 caba18929..2bc1fbbcc 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 bf85c2991..e72642441 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 4b9ec31d0..37a538ca6 100644 --- a/content/docs/latest/guides/thread_local_storage.html +++ b/content/docs/latest/guides/thread_local_storage.html @@ -156,6 +156,7 @@ </ul> </li> <li class="toctree-l2"><a class="reference internal" href="devicetree.html">Device Tree</a></li> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li> diff --git a/content/docs/latest/guides/usbtrace.html b/content/docs/latest/guides/usbtrace.html index 86b9832b4..1019fa2af 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="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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 49eea11f3..a909f0eea 100644 --- a/content/docs/latest/guides/zerolatencyinterrupts.html +++ b/content/docs/latest/guides/zerolatencyinterrupts.html @@ -168,6 +168,7 @@ <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> +<li class="toctree-l2"><a class="reference internal" href="debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="../glossary.html">Glossary</a></li> diff --git a/content/docs/latest/index.html b/content/docs/latest/index.html index 4c89828a2..d05a241bc 100644 --- a/content/docs/latest/index.html +++ b/content/docs/latest/index.html @@ -171,7 +171,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: 12 October 24 at 00:22</p> +<p>Last Updated: 13 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/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> +<li class="toctree-l2"><a class="reference internal" href="guides/debuggingflash_nuttxonarm.html">Debugging / flashing NuttX on ARM with hardware debugger (JTAG/SWD)</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 62fb7699c..605a3d572 100644 Binary files a/content/docs/latest/objects.inv and b/content/docs/latest/objects.inv differ diff --git a/content/docs/latest/platforms/arm/qemu/boards/qemu-armv7a/index.html b/content/docs/latest/platforms/arm/qemu/boards/qemu-armv7a/index.html index a64d27a89..2b8f0f516 100644 --- a/content/docs/latest/platforms/arm/qemu/boards/qemu-armv7a/index.html +++ b/content/docs/latest/platforms/arm/qemu/boards/qemu-armv7a/index.html @@ -285,6 +285,35 @@ Getting Started -net none -chardev stdio,id=con,mux=on -serial chardev:con \ -mon chardev=con,mode=readline -kernel ./nuttx +2. knsh +------ + This is a configuration of testing the BUILD_KERNEL configuration + $ cd nuttx + $ ./tools/configure.sh qemu-armv7a:knsh + $ make V=1 -j7 + $ make export V=1 + $ cd ../apps + $ ./tools/mkimport.sh -z -x ../nuttx/nuttx-export-*.tar.gz + $ make import V=1 + $ cd ../nuttx + $ qemu-system-arm -semihosting -M virt -m 1024 -nographic -kernel ./nuttx + + NuttShell (NSH) NuttX-12.3.0-RC0 + nsh> uname -a + NuttX 12.3.0-RC0 28dee592a3-dirty Oct 12 2023 03:03:07 arm qemu-armv7a + nsh> ps + PID GROUP PRI POLICY TYPE NPX STATE EVENT SIGMASK STACK USED FILLED COMMAND + 0 0 0 FIFO Kthread N-- Ready 0000000000000000 004088 000896 21.9% Idle_Task + 1 1 100 RR Kthread --- Waiting Semaphore 0000000000000000 004040 000304 7.5% lpwork 0x40119398 0x401193ac + 2 2 100 RR Task --- Running 0000000000000000 003032 001032 34.0% /system/bin/init + nsh> free + total used free largest nused nfree + Kmem: 133058556 16644 133041912 133041152 41 3 + Page: 134217728 1105920 133111808 133111808 + nsh> /system/bin/hello + Hello, World!! + nsh> + Debugging with QEMU =================== diff --git a/content/docs/latest/searchindex.js b/content/docs/latest/searchindex.js index 1cc413f09..4c9559de0 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 c6037590f..2fd1c03c4 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>Sat, 12 Oct 2024 00:24:10 +0000</pubDate> - <lastBuildDate>Sat, 12 Oct 2024 00:24:10 +0000</lastBuildDate> + <pubDate>Sun, 13 Oct 2024 00:25:01 +0000</pubDate> + <lastBuildDate>Sun, 13 Oct 2024 00:25:01 +0000</lastBuildDate> <generator>Jekyll v4.3.2</generator> <item>