README
======

  Basic Configuration
  -------------------
  This directory provides an example of how to configure and use
  the NuttShell (NSH) application.  NSH is a simple shell
  application.  NSH is described in its own README located at
  apps/nshlib/README.txt.  This function is enabled with:

    CONFIG_SYSTEM_NSH=y

  Applications using this example will need to provide an defconfig
  file in the configuration directory with instruction to build
  the NSH library like:

    CONFIG_NSH_LIBRARY=y

  Other Configuration Requirements
  --------------------------------
  NOTE:  If the NSH serial console is used, then following is also
  required to build the readline() library:

    CONFIG_SYSTEM_READLINE=y

  And if networking is included:

    CONFIG_NETUTILS_NETLIB=y
    CONFIG_NETUTILS_DHCPC=y
    CONFIG_NETDB_DNSCLIENT=y
    CONFIG_NETUTILS_TFTPC=y
    CONFIG_NETUTILS_WEBCLIENT=y

  If the Telnet console is enabled, then the defconfig file should
  also include:

    CONFIG_NETUTILS_TELNETD=y

  Also if the Telnet console is enabled, make sure that you have the
  following set in the NuttX configuration file or else the performance
  will be very bad (because there will be only one character per TCP
  transfer):

    CONFIG_STDIO_BUFFER_SIZE - Some value >= 64
    CONFIG_STDIO_LINEBUFFER=y

  C++ Support
  -----------
  If CONFIG_HAVE_CXX=y and CONFIG_HAVE_CXXINITIALIZE=y, then this NSH
  example can be configured to initialize C++ constructors when it
  is started.  NSH does not use C++ and, by default, assumes that
  constructors are initialized elsewhere.  However, you can force
  NSH to initialize constructors by setting:

    CONFIG_SYSTEM_NSH_CXXINITIALIZE=y
