diff --git a/Documentation/applications/index.rst b/Documentation/applications/index.rst index b71ba1569ae..deb86884da6 100644 --- a/Documentation/applications/index.rst +++ b/Documentation/applications/index.rst @@ -12,5 +12,6 @@ NuttX ships a large number of applications covering a wide spectrum of functiona :caption: Contents: nsh/index.rst + nxdiag/index.rst wapi/index.rst diff --git a/Documentation/applications/nxdiag/config.rst b/Documentation/applications/nxdiag/config.rst new file mode 100644 index 00000000000..0e0098e117e --- /dev/null +++ b/Documentation/applications/nxdiag/config.rst @@ -0,0 +1,78 @@ +.. |br| raw:: html + +
+ +====================== +Configuration Settings +====================== + +The availability of the above commands depends upon features that may or +may not be enabled in the NuttX configuration file. The following +:ref:`cmdtable ` indicates the dependency of each command on +NuttX configuration settings. General configuration settings are +discussed in the NuttX Porting Guide. +Configuration settings specific to Nxdiag as discussed at the +:ref:`cmdbottom ` of this document. + +Note that the ``--vendor-specific`` or ``-v`` option will generate vendor-specific +information and checks. The output of this option will depend on the selected +vendors in the NuttX configuration file. For example, if the ``CONFIG_SYSTEM_NXDIAG_ESPRESSIF`` +configuration setting is enabled, then this option will provide custom +information and checks for Espressif devices. Multiple vendors may be selected +at the same time. + +.. _nxdiagcmddependencies: + +Option Dependencies on Configuration Settings +============================================= + +========================= =========================================== +Option Depends on Configuration +========================= =========================================== +``--help, -h`` +``--nuttx, -n`` +``--flags, -f`` ``CONFIG_SYSTEM_NXDIAG_COMP_FLAGS`` +``--config, -c`` ``CONFIG_SYSTEM_NXDIAG_CONF`` +``--host-os, -o`` +``--host-path, -p`` ``CONFIG_SYSTEM_NXDIAG_HOST_PATH`` +``--host-packages, -k`` ``CONFIG_SYSTEM_NXDIAG_HOST_PACKAGES`` +``--host-modules, -m`` ``CONFIG_SYSTEM_NXDIAG_HOST_MODULES`` +``--vendor-specific, -v`` +``--all`` + +========================= =========================================== + +.. _nxdiagconfiguration: + +Nxdiag-Specific Configuration Settings +====================================== + +The behavior of Nxdiag can be modified with the following settings in the +``boards////defconfig`` file: + +======================================== ================================== +Configuration Description +======================================== ================================== + ``CONFIG_SYSTEM_NXDIAG_COMP_FLAGS`` Enable the nxdiag application to list the NuttX compilation + flags. This is useful for debugging the host and target + systems. Enables the ``-f`` and ``--nuttx-flags`` options. + + ``CONFIG_SYSTEM_NXDIAG_CONF`` Enable the nxdiag application to list the configuration options + used to compile NuttX. This is useful for debugging the host and + target systems. Enables the ``-c`` and ``--nuttx-config`` options. + + ``CONFIG_SYSTEM_NXDIAG_HOST_PATH`` Enable the nxdiag application to list the host system PATH + variable. This is useful for debugging the host system. + Enables the ``-p`` and ``--host-path`` options. + + ``CONFIG_SYSTEM_NXDIAG_HOST_PACKAGES`` Enable the nxdiag application to list the installed packages + on the host system. This is useful for debugging the host + system. Enables the ``-k`` and ``--host-packages`` options. + + ``CONFIG_SYSTEM_NXDIAG_HOST_MODULES`` Enable the nxdiag application to list the installed Python + modules on the host system. This is useful for debugging the + host system. Enables the ``-m`` and ``--host-modules`` options. + + ``CONFIG_SYSTEM_NXDIAG_ESPRESSIF`` Enable Espressif-specific information and checks. + +======================================== ================================== diff --git a/Documentation/applications/nxdiag/index.rst b/Documentation/applications/nxdiag/index.rst new file mode 100644 index 00000000000..009594525dc --- /dev/null +++ b/Documentation/applications/nxdiag/index.rst @@ -0,0 +1,45 @@ +============================== +NuttX Diagnostic Tool (Nxdiag) +============================== + +The NuttX Diagnostic Tool (Nxdiag) is a command line tool that can be used to gather information about the NuttX and host systems. +It also can be used to run a tests to verify that the vendor's tools are properly installed and configured. + +Its primary purpose is to gather information that can be used to debug problems and ease the process of reporting bugs for uninexperienced users. + +This tool uses a Python script (``apps/tools/host_sysinfo.py``) to gather information about the host system during build and a C +program to gather information about the NuttX system and display all available information. For more information about the python +script, check the command line options and code comments of ``host_sysinfo.py``. + +.. note:: Nxdiag requires Python 3.6 or later. On Linux distributions, the ``distro`` Python module is + recommended as it provides more accurate information about the host system. + +===== +Usage +===== + +This page shows ``nxdiag`` options. Note that some options are only available if the +respective configuration options are enabled (see :ref:`cmdtable `). +For a complete list of ``nxdiag`` options available to the system, just run ``nxdiag``:: + + Usage: nxdiag [options] + Options: + -h Show this message + -n, --nuttx Output the NuttX operational system information. + -f, --flags Output the NuttX compilation and linker flags used. + -c, --config Output the NuttX configuration options used. + -o, --host-os Output the host system operational system information. + -p, --host-path Output the host PATH environment variable. + -k, --host-packages Output the host installed system packages. + -m, --host-modules Output the host installed Python modules. + -v, --vendor-specific Output vendor specific information. + --all Output all available information. + +An example output can be observed `here `_. + +.. toctree:: + :maxdepth: 2 + :caption: Contents + + nxdiag.rst + config.rst