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 869116ee Publishing web: b50f5ca4ed22743959c1160aab5dcc9ae18b3eff docs: d77b53957ce67ae380132ec154ea9fd2f986ca19 869116ee is described below commit 869116eeac0dd581a5b8e2513863dd2797f258c5 Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> AuthorDate: Sun Feb 26 00:13:45 2023 +0000 Publishing web: b50f5ca4ed22743959c1160aab5dcc9ae18b3eff docs: d77b53957ce67ae380132ec154ea9fd2f986ca19 --- 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/latest/_sources/guides/index.rst.txt | 1 + .../docs/latest/_sources/guides/qemugdb.rst.txt | 94 ++++++++++++ content/docs/latest/guides/cpp_cmake.html | 1 + content/docs/latest/guides/customapps.html | 1 + content/docs/latest/guides/customboards.html | 1 + content/docs/latest/guides/drivers.html | 1 + content/docs/latest/guides/index.html | 7 + content/docs/latest/guides/nfs.html | 1 + content/docs/latest/guides/pysimcoder.html | 1 + .../guides/{customboards.html => qemugdb.html} | 158 +++++++++++++-------- content/docs/latest/guides/rndis.html | 5 +- content/docs/latest/guides/simulator.html | 5 +- 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/usbtrace.html | 1 + content/docs/latest/index.html | 3 +- content/docs/latest/objects.inv | Bin 40425 -> 40582 bytes content/docs/latest/searchindex.js | 2 +- content/feed.xml | 4 +- 34 files changed, 233 insertions(+), 84 deletions(-) diff --git a/content/docs/10.0.0/index.html b/content/docs/10.0.0/index.html index 40dca770..638dd5e1 100644 --- a/content/docs/10.0.0/index.html +++ b/content/docs/10.0.0/index.html @@ -133,7 +133,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 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: 25 February 23 at 00:10</p> +<p>Last Updated: 26 February 23 at 00:11</p> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p> <ul class="current"> diff --git a/content/docs/10.0.0/searchindex.js b/content/docs/10.0.0/searchindex.js index 66ea51a8..3b8fa696 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 fb956e21..1bf5584f 100644 --- a/content/docs/10.0.1/index.html +++ b/content/docs/10.0.1/index.html @@ -147,7 +147,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 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: 25 February 23 at 00:11</p> +<p>Last Updated: 26 February 23 at 00:11</p> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p> <ul class="current"> diff --git a/content/docs/10.0.1/searchindex.js b/content/docs/10.0.1/searchindex.js index 24cae97b..3b8fa696 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 146f0fe2..f4a40290 100644 --- a/content/docs/10.1.0/index.html +++ b/content/docs/10.1.0/index.html @@ -146,7 +146,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: 25 February 23 at 00:11</p> +<p>Last Updated: 26 February 23 at 00:11</p> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p> <ul class="current"> diff --git a/content/docs/10.1.0/searchindex.js b/content/docs/10.1.0/searchindex.js index 9df46b7a..142d4b34 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 46244da8..7fc833f2 100644 --- a/content/docs/10.2.0/index.html +++ b/content/docs/10.2.0/index.html @@ -147,7 +147,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: 25 February 23 at 00:11</p> +<p>Last Updated: 26 February 23 at 00:11</p> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p> <ul class="current"> diff --git a/content/docs/10.2.0/searchindex.js b/content/docs/10.2.0/searchindex.js index eb9529a6..0d96134b 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 1993f287..2eb8ea7b 100644 --- a/content/docs/10.3.0/index.html +++ b/content/docs/10.3.0/index.html @@ -147,7 +147,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: 25 February 23 at 00:12</p> +<p>Last Updated: 26 February 23 at 00:12</p> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p> <ul class="current"> diff --git a/content/docs/10.3.0/searchindex.js b/content/docs/10.3.0/searchindex.js index 720567cc..86d16f67 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 1993f287..2eb8ea7b 100644 --- a/content/docs/11.0.0/index.html +++ b/content/docs/11.0.0/index.html @@ -147,7 +147,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: 25 February 23 at 00:12</p> +<p>Last Updated: 26 February 23 at 00:12</p> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p> <ul class="current"> diff --git a/content/docs/11.0.0/searchindex.js b/content/docs/11.0.0/searchindex.js index 2f58bcca..b3006b08 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 e6313a73..480db8ad 100644 --- a/content/docs/12.0.0/index.html +++ b/content/docs/12.0.0/index.html @@ -147,7 +147,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: 25 February 23 at 00:12</p> +<p>Last Updated: 26 February 23 at 00:12</p> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p> <ul class="current"> diff --git a/content/docs/12.0.0/searchindex.js b/content/docs/12.0.0/searchindex.js index 41fdff6d..7ba6dff8 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/latest/_sources/guides/index.rst.txt b/content/docs/latest/_sources/guides/index.rst.txt index f61a227e..5e008f34 100644 --- a/content/docs/latest/_sources/guides/index.rst.txt +++ b/content/docs/latest/_sources/guides/index.rst.txt @@ -8,6 +8,7 @@ Guides nfs.rst usbtrace.rst simulator.rst + qemugdb.rst rndis.rst drivers.rst tasktrace.rst diff --git a/content/docs/latest/_sources/guides/qemugdb.rst.txt b/content/docs/latest/_sources/guides/qemugdb.rst.txt new file mode 100644 index 00000000..72214564 --- /dev/null +++ b/content/docs/latest/_sources/guides/qemugdb.rst.txt @@ -0,0 +1,94 @@ +.. include:: /substitutions.rst +.. _qemugdb: + +How to debug NuttX using QEMU and GDB +===================================== + +This guide explains the steps needed to use QEMU and GDB to debug +an ARM board (lm3s6965-ek), but it could be modified to work with other +board or architecture supported by QEMU. + +Start configuring and compiling the lm3s6965-ek board with qemu-flat profile. + +Compiling +--------- + +#. Configure the lm3s6965-ek + + There is a sample configuration to use lm3s6965-ek on QEMU. + + Just use ``lm3s6965-ek:qemu-flat`` board profile for this purpose. + + .. code-block:: console + + $ cd nuttx + $ ./tools/configure.sh lm3s6965-ek:qemu-flat + +#. Compile + + .. code-block:: console + + $ make -j + +Start QEMU +---------- + +#. You need to start QEMU using the nuttx ELF file just create above: + + .. code-block:: console + + $ qemu-system-arm -M lm3s6965evb -device loader,file=nuttx -serial mon:stdio -nographic -s + Timer with period zero, disabling + ABCDF + telnetd [4:100] + + NuttShell (NSH) NuttX-12.0.0 + nsh> + +Start GDB to connect to QEMU +---------------------------- + + These steps show how to connect GDB to QEMU running NuttX: + + .. code-block:: console + + $ gdb-multiarch -ix tools/nuttx-gdbinit nuttx + (gdb) target extended-remote localhost:1234 + Remote debugging using localhost:1234 + 0x000012ee in up_mdelay (milliseconds=milliseconds@entry=250) + at common/arm_mdelay.c:51 + 51 for (j = 0; j < CONFIG_BOARD_LOOPSPERMSEC; j++) + (gdb) + +#. From (gdb) prompt you can run commands to inpect NuttX: + + .. code-block:: console + + (gdb) info_nxthreads + target examined + _target_arch.name=armv7 + $_target_has_fpu : 1 + $_target_has_smp : 0 + saved current_tcb (pid=0) + * + 0 Thread 0x20001538 (Name: Idle Task, State: Running, Priority: 0, Stack: 464/1000) PC: 0x12fc in up_mdelay() + saved current_tcb (pid=0) + + 1 Thread 0x20005060 (Name: hpwork, State: Waiting,Semaphore, Priority: 224, Stack: 320/1992) PC: 0x47dd in work_thread() + saved current_tcb (pid=0) + + 2 Thread 0x20005c30 (Name: nsh_main, State: Waiting,Semaphore, Priority: 100, Stack: 1016/2000) PC: 0x1 in _vectors() + saved current_tcb (pid=0) + + 3 Thread 0x20006b40 (Name: NTP daemon, State: Waiting,Signal, Priority: 100, Stack: 864/1952) PC: 0x0 in _vectors() + saved current_tcb (pid=0) + + 4 Thread 0x20008540 (Name: telnetd, State: Waiting,Semaphore, Priority: 100, Stack: 616/2008) PC: 0x20008fd4 in No() + saved current_tcb (pid=0) + saved current_tcb (pid=0) + saved current_tcb (pid=0) + saved current_tcb (pid=0) + (gdb) + +As you can see QEMU and GDB are powerful tools to debug NuttX without using external board or expensive debugging hardware. + diff --git a/content/docs/latest/guides/cpp_cmake.html b/content/docs/latest/guides/cpp_cmake.html index 34827208..9b86c572 100644 --- a/content/docs/latest/guides/cpp_cmake.html +++ b/content/docs/latest/guides/cpp_cmake.html @@ -110,6 +110,7 @@ <li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS Client How-To</a></li> <li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB Device Trace</a></li> <li class="toctree-l2"><a class="reference internal" href="simulator.html">Simulator</a></li> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html">How to debug NuttX using QEMU and GDB</a></li> <li class="toctree-l2"><a class="reference internal" href="rndis.html">How to use RNDIS</a></li> <li class="toctree-l2"><a class="reference internal" href="drivers.html">Drivers</a></li> <li class="toctree-l2"><a class="reference internal" href="tasktrace.html">Task Trace</a></li> diff --git a/content/docs/latest/guides/customapps.html b/content/docs/latest/guides/customapps.html index 370f61d7..2440bf43 100644 --- a/content/docs/latest/guides/customapps.html +++ b/content/docs/latest/guides/customapps.html @@ -110,6 +110,7 @@ <li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS Client How-To</a></li> <li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB Device Trace</a></li> <li class="toctree-l2"><a class="reference internal" href="simulator.html">Simulator</a></li> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html">How to debug NuttX using QEMU and GDB</a></li> <li class="toctree-l2"><a class="reference internal" href="rndis.html">How to use RNDIS</a></li> <li class="toctree-l2"><a class="reference internal" href="drivers.html">Drivers</a></li> <li class="toctree-l2"><a class="reference internal" href="tasktrace.html">Task Trace</a></li> diff --git a/content/docs/latest/guides/customboards.html b/content/docs/latest/guides/customboards.html index df823a9f..f95bde1c 100644 --- a/content/docs/latest/guides/customboards.html +++ b/content/docs/latest/guides/customboards.html @@ -110,6 +110,7 @@ <li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS Client How-To</a></li> <li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB Device Trace</a></li> <li class="toctree-l2"><a class="reference internal" href="simulator.html">Simulator</a></li> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html">How to debug NuttX using QEMU and GDB</a></li> <li class="toctree-l2"><a class="reference internal" href="rndis.html">How to use RNDIS</a></li> <li class="toctree-l2"><a class="reference internal" href="drivers.html">Drivers</a></li> <li class="toctree-l2"><a class="reference internal" href="tasktrace.html">Task Trace</a></li> diff --git a/content/docs/latest/guides/drivers.html b/content/docs/latest/guides/drivers.html index 07773a14..82de5682 100644 --- a/content/docs/latest/guides/drivers.html +++ b/content/docs/latest/guides/drivers.html @@ -110,6 +110,7 @@ <li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS Client How-To</a></li> <li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB Device Trace</a></li> <li class="toctree-l2"><a class="reference internal" href="simulator.html">Simulator</a></li> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html">How to debug NuttX using QEMU and GDB</a></li> <li class="toctree-l2"><a class="reference internal" href="rndis.html">How to use RNDIS</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">Drivers</a><ul> <li class="toctree-l3"><a class="reference internal" href="#porting-a-driver">Porting a Driver</a></li> diff --git a/content/docs/latest/guides/index.html b/content/docs/latest/guides/index.html index 96260864..ffe5215e 100644 --- a/content/docs/latest/guides/index.html +++ b/content/docs/latest/guides/index.html @@ -110,6 +110,7 @@ <li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS Client How-To</a></li> <li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB Device Trace</a></li> <li class="toctree-l2"><a class="reference internal" href="simulator.html">Simulator</a></li> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html">How to debug NuttX using QEMU and GDB</a></li> <li class="toctree-l2"><a class="reference internal" href="rndis.html">How to use RNDIS</a></li> <li class="toctree-l2"><a class="reference internal" href="drivers.html">Drivers</a></li> <li class="toctree-l2"><a class="reference internal" href="tasktrace.html">Task Trace</a></li> @@ -171,6 +172,12 @@ <li class="toctree-l2"><a class="reference internal" href="simulator.html#debugging">Debugging</a></li> </ul> </li> +<li class="toctree-l1"><a class="reference internal" href="qemugdb.html">How to debug NuttX using QEMU and GDB</a><ul> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html#compiling">Compiling</a></li> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html#start-qemu">Start QEMU</a></li> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html#start-gdb-to-connect-to-qemu">Start GDB to connect to QEMU</a></li> +</ul> +</li> <li class="toctree-l1"><a class="reference internal" href="rndis.html">How to use RNDIS</a><ul> <li class="toctree-l2"><a class="reference internal" href="rndis.html#compiling">Compiling</a></li> <li class="toctree-l2"><a class="reference internal" href="rndis.html#flashing">Flashing</a></li> diff --git a/content/docs/latest/guides/nfs.html b/content/docs/latest/guides/nfs.html index fb4432b1..ac5170b1 100644 --- a/content/docs/latest/guides/nfs.html +++ b/content/docs/latest/guides/nfs.html @@ -116,6 +116,7 @@ </li> <li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB Device Trace</a></li> <li class="toctree-l2"><a class="reference internal" href="simulator.html">Simulator</a></li> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html">How to debug NuttX using QEMU and GDB</a></li> <li class="toctree-l2"><a class="reference internal" href="rndis.html">How to use RNDIS</a></li> <li class="toctree-l2"><a class="reference internal" href="drivers.html">Drivers</a></li> <li class="toctree-l2"><a class="reference internal" href="tasktrace.html">Task Trace</a></li> diff --git a/content/docs/latest/guides/pysimcoder.html b/content/docs/latest/guides/pysimcoder.html index 29a62684..b3252040 100644 --- a/content/docs/latest/guides/pysimcoder.html +++ b/content/docs/latest/guides/pysimcoder.html @@ -110,6 +110,7 @@ <li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS Client How-To</a></li> <li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB Device Trace</a></li> <li class="toctree-l2"><a class="reference internal" href="simulator.html">Simulator</a></li> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html">How to debug NuttX using QEMU and GDB</a></li> <li class="toctree-l2"><a class="reference internal" href="rndis.html">How to use RNDIS</a></li> <li class="toctree-l2"><a class="reference internal" href="drivers.html">Drivers</a></li> <li class="toctree-l2"><a class="reference internal" href="tasktrace.html">Task Trace</a></li> diff --git a/content/docs/latest/guides/customboards.html b/content/docs/latest/guides/qemugdb.html similarity index 56% copy from content/docs/latest/guides/customboards.html copy to content/docs/latest/guides/qemugdb.html index df823a9f..a61f94b3 100644 --- a/content/docs/latest/guides/customboards.html +++ b/content/docs/latest/guides/qemugdb.html @@ -23,7 +23,7 @@ <meta charset="utf-8" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - <title>Custom Boards How-To — NuttX latest documentation</title> + <title>How to debug NuttX using QEMU and GDB — NuttX latest documentation</title> <link rel="stylesheet" href="../_static/pygments.css" type="text/css" /> <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" /> <link rel="stylesheet" href="../_static/tabs.css" type="text/css" /> @@ -40,8 +40,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="Custom Apps How-to" href="customapps.html" /> - <link rel="prev" title="pysimCoder integration with NuttX" href="pysimcoder.html" /> + <link rel="next" title="How to use RNDIS" href="rndis.html" /> + <link rel="prev" title="Simulator" href="simulator.html" /> </head> <body class="wy-body-for-nav"> @@ -110,18 +110,18 @@ <li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS Client How-To</a></li> <li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB Device Trace</a></li> <li class="toctree-l2"><a class="reference internal" href="simulator.html">Simulator</a></li> +<li class="toctree-l2 current"><a class="current reference internal" href="#">How to debug NuttX using QEMU and GDB</a><ul> +<li class="toctree-l3"><a class="reference internal" href="#compiling">Compiling</a></li> +<li class="toctree-l3"><a class="reference internal" href="#start-qemu">Start QEMU</a></li> +<li class="toctree-l3"><a class="reference internal" href="#start-gdb-to-connect-to-qemu">Start GDB to connect to QEMU</a></li> +</ul> +</li> <li class="toctree-l2"><a class="reference internal" href="rndis.html">How to use RNDIS</a></li> <li class="toctree-l2"><a class="reference internal" href="drivers.html">Drivers</a></li> <li class="toctree-l2"><a class="reference internal" href="tasktrace.html">Task Trace</a></li> <li class="toctree-l2"><a class="reference internal" href="cpp_cmake.html">C++ Example using CMake</a></li> <li class="toctree-l2"><a class="reference internal" href="pysimcoder.html">pysimCoder integration with NuttX</a></li> -<li class="toctree-l2 current"><a class="current reference internal" href="#">Custom Boards How-To</a><ul> -<li class="toctree-l3"><a class="reference internal" href="#add-a-custom-board">Add a Custom Board</a><ul> -<li class="toctree-l4"><a class="reference internal" href="#kconfig-settings">Kconfig Settings</a></li> -</ul> -</li> -</ul> -</li> +<li class="toctree-l2"><a class="reference internal" href="customboards.html">Custom Boards How-To</a></li> <li class="toctree-l2"><a class="reference internal" href="customapps.html">Custom Apps How-to</a></li> </ul> </li> @@ -143,9 +143,9 @@ <ul class="wy-breadcrumbs"> <li><a href="../index.html" class="icon icon-home"></a> »</li> <li><a href="index.html">Guides</a> »</li> - <li>Custom Boards How-To</li> + <li>How to debug NuttX using QEMU and GDB</li> <li class="wy-breadcrumbs-aside"> - <a href="../_sources/guides/customboards.rst.txt" rel="nofollow"> View page source</a> + <a href="../_sources/guides/qemugdb.rst.txt" rel="nofollow"> View page source</a> </li> </ul> <hr/> @@ -153,68 +153,102 @@ <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article"> <div itemprop="articleBody"> - <section id="custom-boards-how-to"> -<h1>Custom Boards How-To<a class="headerlink" href="#custom-boards-how-to" title="Permalink to this headline"></a></h1> -<p>As explained in <a class="reference internal" href="../quickstart/configuring.html"><span class="doc">Configuring</span></a>, supported boards (also known -as “in-tree” boards) are configured using a standard syntax:</p> + <section id="how-to-debug-nuttx-using-qemu-and-gdb"> +<span id="qemugdb"></span><h1>How to debug NuttX using QEMU and GDB<a class="headerlink" href="#how-to-debug-nuttx-using-qemu-and-gdb" title="Permalink to this headline"></a></h1> +<p>This guide explains the steps needed to use QEMU and GDB to debug +an ARM board (lm3s6965-ek), but it could be modified to work with other +board or architecture supported by QEMU.</p> +<p>Start configuring and compiling the lm3s6965-ek board with qemu-flat profile.</p> +<section id="compiling"> +<h2>Compiling<a class="headerlink" href="#compiling" title="Permalink to this headline"></a></h2> +<ol class="arabic"> +<li><p>Configure the lm3s6965-ek</p> +<p>There is a sample configuration to use lm3s6965-ek on QEMU.</p> +<p>Just use <code class="docutils literal notranslate"><span class="pre">lm3s6965-ek:qemu-flat</span></code> board profile for this purpose.</p> <blockquote> <div><div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span><span class="nb">cd</span> nuttx -<span class="gp">$ </span>./tools/configure.sh -l board-name:config-name -<span class="go"> Copy files</span> -<span class="go"> Select CONFIG_HOST_LINUX=y</span> -<span class="go"> Refreshing...</span> +<span class="gp">$ </span>./tools/configure.sh lm3s6965-ek:qemu-flat </pre></div> </div> </div></blockquote> -<p>Sometimes it is not appropriate, or not wanted, to add a new or custom board to -the NuttX boards tree itself. If so, the board can be defined out-of-tree in a -custom directory and still be built easily.</p> -<section id="add-a-custom-board"> -<h2>Add a Custom Board<a class="headerlink" href="#add-a-custom-board" title="Permalink to this headline"></a></h2> -<p>The same set of files as provided for in-tree boards is required (i.e. configs, -Kconfig, scripts, etc.) but these can be placed in a directory of your choice.</p> -<dl> -<dt>In this example, the files are assumed to exist in:</dt><dd><p><code class="docutils literal notranslate"><span class="pre">../nuttx/CustomBoards/MyCustomBoardName</span></code></p> +</li> +<li><p>Compile</p> <blockquote> -<div><div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span><span class="nb">pwd</span> -<span class="go">/home/nuttx/nuttx</span> -<span class="gp">$ </span>ls -1 ../CustomBoards/MyCustomBoardName -<span class="go">configs</span> -<span class="go">helpers</span> -<span class="go">include</span> -<span class="go">Kconfig</span> -<span class="go">scripts</span> -<span class="gp">$ </span>ls ../CustomBoards/MyCustomBoardName/configs -<span class="go">nsh</span> -<span class="go">MyCustomConfig</span> -<span class="gp">$</span> +<div><div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>make -j </pre></div> </div> </div></blockquote> -</dd> -</dl> -<p>To build the custom board, the syntax is slightly different to in-tree boards and configs:</p> +</li> +</ol> +</section> +<section id="start-qemu"> +<h2>Start QEMU<a class="headerlink" href="#start-qemu" title="Permalink to this headline"></a></h2> +<ol class="arabic"> +<li><p>You need to start QEMU using the nuttx ELF file just create above:</p> <blockquote> -<div><div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>.tools/configure -l ../CustomBoards/MyCustomBoardName/MyCustomConfig -<span class="go">Copy files</span> -<span class="go">Select CONFIG_HOST_LINUX=y</span> -<span class="go">Refreshing...</span> +<div><div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>qemu-system-arm -M lm3s6965evb -device loader,file<span class="o">=</span>nuttx -serial mon:stdio -nographic -s +<span class="go">Timer with period zero, disabling</span> +<span class="go">ABCDF</span> +<span class="go">telnetd [4:100]</span> + +<span class="go">NuttShell (NSH) NuttX-12.0.0</span> +<span class="go">nsh></span> </pre></div> </div> </div></blockquote> -<section id="kconfig-settings"> -<h3>Kconfig Settings<a class="headerlink" href="#kconfig-settings" title="Permalink to this headline"></a></h3> -<p>Once the board is configured, to ensure subsequent builds run correctly, there -are two Kconfig settings that need to be set. These are:</p> -<p><span class="menuselection">Board Selection ‣ Custom Board Configuration ‣ Custom Board Name</span></p> -<p><span class="menuselection">Board Selection ‣ Custom Board Configuration ‣ Relative custom board directory</span></p> -<p>They should be set to suit your board name and directory location.</p> -<div class="admonition note"> -<p class="admonition-title">Note</p> -<p>If you subsequently run a <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">distclean</span></code> operation, then these settings will be lost. -They should be added back before building, and/or before running <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">menuconfig</span></code>.</p> -</div> +</li> +</ol> </section> +<section id="start-gdb-to-connect-to-qemu"> +<h2>Start GDB to connect to QEMU<a class="headerlink" href="#start-gdb-to-connect-to-qemu" title="Permalink to this headline"></a></h2> +<blockquote> +<div><p>These steps show how to connect GDB to QEMU running NuttX:</p> +<blockquote> +<div><div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>gdb-multiarch -ix tools/nuttx-gdbinit nuttx +<span class="gp gp-VirtualEnv">(gdb)</span> <span class="go">target extended-remote localhost:1234</span> +<span class="go">Remote debugging using localhost:1234</span> +<span class="go">0x000012ee in up_mdelay (milliseconds=milliseconds@entry=250)</span> +<span class="go"> at common/arm_mdelay.c:51</span> +<span class="go">51 for (j = 0; j < CONFIG_BOARD_LOOPSPERMSEC; j++)</span> +<span class="gp gp-VirtualEnv">(gdb)</span> +</pre></div> +</div> +</div></blockquote> +</div></blockquote> +<ol class="arabic"> +<li><p>From (gdb) prompt you can run commands to inpect NuttX:</p> +<blockquote> +<div><div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp gp-VirtualEnv">(gdb)</span> <span class="go">info_nxthreads</span> +<span class="go">target examined</span> +<span class="go">_target_arch.name=armv7</span> +<span class="gp">$</span>_target_has_fpu : <span class="m">1</span> +<span class="gp">$</span>_target_has_smp : <span class="m">0</span> +<span class="go">saved current_tcb (pid=0)</span> +<span class="go">*</span> +<span class="go">0 Thread 0x20001538 (Name: Idle Task, State: Running, Priority: 0, Stack: 464/1000) PC: 0x12fc in up_mdelay()</span> +<span class="go">saved current_tcb (pid=0)</span> + +<span class="go">1 Thread 0x20005060 (Name: hpwork, State: Waiting,Semaphore, Priority: 224, Stack: 320/1992) PC: 0x47dd in work_thread()</span> +<span class="go">saved current_tcb (pid=0)</span> + +<span class="go">2 Thread 0x20005c30 (Name: nsh_main, State: Waiting,Semaphore, Priority: 100, Stack: 1016/2000) PC: 0x1 in _vectors()</span> +<span class="go">saved current_tcb (pid=0)</span> + +<span class="go">3 Thread 0x20006b40 (Name: NTP daemon, State: Waiting,Signal, Priority: 100, Stack: 864/1952) PC: 0x0 in _vectors()</span> +<span class="go">saved current_tcb (pid=0)</span> + +<span class="go">4 Thread 0x20008540 (Name: telnetd, State: Waiting,Semaphore, Priority: 100, Stack: 616/2008) PC: 0x20008fd4 in No()</span> +<span class="go">saved current_tcb (pid=0)</span> +<span class="go">saved current_tcb (pid=0)</span> +<span class="go">saved current_tcb (pid=0)</span> +<span class="go">saved current_tcb (pid=0)</span> +<span class="gp gp-VirtualEnv">(gdb)</span> +</pre></div> +</div> +</div></blockquote> +</li> +</ol> +<p>As you can see QEMU and GDB are powerful tools to debug NuttX without using external board or expensive debugging hardware.</p> </section> </section> @@ -222,8 +256,8 @@ They should be added back before building, and/or before running <code class="do </div> </div> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> - <a href="pysimcoder.html" class="btn btn-neutral float-left" title="pysimCoder integration with NuttX" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> - <a href="customapps.html" class="btn btn-neutral float-right" title="Custom Apps How-to" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> + <a href="simulator.html" class="btn btn-neutral float-left" title="Simulator" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> + <a href="rndis.html" class="btn btn-neutral float-right" title="How to use RNDIS" 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/rndis.html b/content/docs/latest/guides/rndis.html index 8ca41a48..1084cb16 100644 --- a/content/docs/latest/guides/rndis.html +++ b/content/docs/latest/guides/rndis.html @@ -41,7 +41,7 @@ <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="Drivers" href="drivers.html" /> - <link rel="prev" title="Simulator" href="simulator.html" /> + <link rel="prev" title="How to debug NuttX using QEMU and GDB" href="qemugdb.html" /> </head> <body class="wy-body-for-nav"> @@ -110,6 +110,7 @@ <li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS Client How-To</a></li> <li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB Device Trace</a></li> <li class="toctree-l2"><a class="reference internal" href="simulator.html">Simulator</a></li> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html">How to debug NuttX using QEMU and GDB</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">How to use RNDIS</a><ul> <li class="toctree-l3"><a class="reference internal" href="#compiling">Compiling</a></li> <li class="toctree-l3"><a class="reference internal" href="#flashing">Flashing</a></li> @@ -304,7 +305,7 @@ to create a configuration by yourself looking this config.</p> </div> </div> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> - <a href="simulator.html" class="btn btn-neutral float-left" title="Simulator" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> + <a href="qemugdb.html" class="btn btn-neutral float-left" title="How to debug NuttX using QEMU and GDB" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="drivers.html" class="btn btn-neutral float-right" title="Drivers" 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/simulator.html b/content/docs/latest/guides/simulator.html index d4b383d6..2f7509b5 100644 --- a/content/docs/latest/guides/simulator.html +++ b/content/docs/latest/guides/simulator.html @@ -40,7 +40,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="How to use RNDIS" href="rndis.html" /> + <link rel="next" title="How to debug NuttX using QEMU and GDB" href="qemugdb.html" /> <link rel="prev" title="USB Device Trace" href="usbtrace.html" /> </head> @@ -118,6 +118,7 @@ <li class="toctree-l3"><a class="reference internal" href="#debugging">Debugging</a></li> </ul> </li> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html">How to debug NuttX using QEMU and GDB</a></li> <li class="toctree-l2"><a class="reference internal" href="rndis.html">How to use RNDIS</a></li> <li class="toctree-l2"><a class="reference internal" href="drivers.html">Drivers</a></li> <li class="toctree-l2"><a class="reference internal" href="tasktrace.html">Task Trace</a></li> @@ -427,7 +428,7 @@ Internet:</p> </div> <footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer"> <a href="usbtrace.html" class="btn btn-neutral float-left" title="USB Device Trace" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> - <a href="rndis.html" class="btn btn-neutral float-right" title="How to use RNDIS" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> + <a href="qemugdb.html" class="btn btn-neutral float-right" title="How to debug NuttX using QEMU and GDB" 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/tasktrace.html b/content/docs/latest/guides/tasktrace.html index a6aaa249..d9e3e04e 100644 --- a/content/docs/latest/guides/tasktrace.html +++ b/content/docs/latest/guides/tasktrace.html @@ -110,6 +110,7 @@ <li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS Client How-To</a></li> <li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB Device Trace</a></li> <li class="toctree-l2"><a class="reference internal" href="simulator.html">Simulator</a></li> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html">How to debug NuttX using QEMU and GDB</a></li> <li class="toctree-l2"><a class="reference internal" href="rndis.html">How to use RNDIS</a></li> <li class="toctree-l2"><a class="reference internal" href="drivers.html">Drivers</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">Task Trace</a><ul> diff --git a/content/docs/latest/guides/tasktraceinternal.html b/content/docs/latest/guides/tasktraceinternal.html index aec3a475..11b7d572 100644 --- a/content/docs/latest/guides/tasktraceinternal.html +++ b/content/docs/latest/guides/tasktraceinternal.html @@ -110,6 +110,7 @@ <li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS Client How-To</a></li> <li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB Device Trace</a></li> <li class="toctree-l2"><a class="reference internal" href="simulator.html">Simulator</a></li> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html">How to debug NuttX using QEMU and GDB</a></li> <li class="toctree-l2"><a class="reference internal" href="rndis.html">How to use RNDIS</a></li> <li class="toctree-l2"><a class="reference internal" href="drivers.html">Drivers</a></li> <li class="toctree-l2 current"><a class="reference internal" href="tasktrace.html">Task Trace</a><ul class="current"> diff --git a/content/docs/latest/guides/tasktraceuser.html b/content/docs/latest/guides/tasktraceuser.html index 5045be67..4c02549b 100644 --- a/content/docs/latest/guides/tasktraceuser.html +++ b/content/docs/latest/guides/tasktraceuser.html @@ -110,6 +110,7 @@ <li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS Client How-To</a></li> <li class="toctree-l2"><a class="reference internal" href="usbtrace.html">USB Device Trace</a></li> <li class="toctree-l2"><a class="reference internal" href="simulator.html">Simulator</a></li> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html">How to debug NuttX using QEMU and GDB</a></li> <li class="toctree-l2"><a class="reference internal" href="rndis.html">How to use RNDIS</a></li> <li class="toctree-l2"><a class="reference internal" href="drivers.html">Drivers</a></li> <li class="toctree-l2 current"><a class="reference internal" href="tasktrace.html">Task Trace</a><ul class="current"> diff --git a/content/docs/latest/guides/usbtrace.html b/content/docs/latest/guides/usbtrace.html index 2d19953f..7a7f9587 100644 --- a/content/docs/latest/guides/usbtrace.html +++ b/content/docs/latest/guides/usbtrace.html @@ -110,6 +110,7 @@ <li class="toctree-l2"><a class="reference internal" href="nfs.html">NFS Client How-To</a></li> <li class="toctree-l2 current"><a class="current reference internal" href="#">USB Device Trace</a></li> <li class="toctree-l2"><a class="reference internal" href="simulator.html">Simulator</a></li> +<li class="toctree-l2"><a class="reference internal" href="qemugdb.html">How to debug NuttX using QEMU and GDB</a></li> <li class="toctree-l2"><a class="reference internal" href="rndis.html">How to use RNDIS</a></li> <li class="toctree-l2"><a class="reference internal" href="drivers.html">Drivers</a></li> <li class="toctree-l2"><a class="reference internal" href="tasktrace.html">Task Trace</a></li> diff --git a/content/docs/latest/index.html b/content/docs/latest/index.html index 41ff67b4..4f578934 100644 --- a/content/docs/latest/index.html +++ b/content/docs/latest/index.html @@ -147,7 +147,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: 25 February 23 at 00:13</p> +<p>Last Updated: 26 February 23 at 00:12</p> <div class="toctree-wrapper compound"> <p class="caption" role="heading"><span class="caption-text">Table of Contents</span></p> <ul class="current"> @@ -226,6 +226,7 @@ by following these <a class="reference internal" href="contributing/documentatio <li class="toctree-l2"><a class="reference internal" href="guides/nfs.html">NFS Client How-To</a></li> <li class="toctree-l2"><a class="reference internal" href="guides/usbtrace.html">USB Device Trace</a></li> <li class="toctree-l2"><a class="reference internal" href="guides/simulator.html">Simulator</a></li> +<li class="toctree-l2"><a class="reference internal" href="guides/qemugdb.html">How to debug NuttX using QEMU and GDB</a></li> <li class="toctree-l2"><a class="reference internal" href="guides/rndis.html">How to use RNDIS</a></li> <li class="toctree-l2"><a class="reference internal" href="guides/drivers.html">Drivers</a></li> <li class="toctree-l2"><a class="reference internal" href="guides/tasktrace.html">Task Trace</a></li> diff --git a/content/docs/latest/objects.inv b/content/docs/latest/objects.inv index 9025cb97..66b08af3 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 0d490366..db83994c 100644 --- a/content/docs/latest/searchindex.js +++ b/content/docs/latest/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/feed.xml b/content/feed.xml index 3b5c789b..f0a5a4bf 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, 25 Feb 2023 00:14:11 +0000</pubDate> - <lastBuildDate>Sat, 25 Feb 2023 00:14:11 +0000</lastBuildDate> + <pubDate>Sun, 26 Feb 2023 00:13:41 +0000</pubDate> + <lastBuildDate>Sun, 26 Feb 2023 00:13:41 +0000</lastBuildDate> <generator>Jekyll v3.9.2</generator> <item>