Skip to content
README.txt 67.4 KiB
Newer Older
     There may still be issues, however, with certain the bash-centric scripts
     that will require modifications.

patacongo's avatar
patacongo committed
BUILDING NUTTX
^^^^^^^^^^^^^^

patacongo's avatar
patacongo committed
Building
patacongo's avatar
patacongo committed

  NuttX builds in-place in the source tree.  You do not need to create
  any special build directories.  Assuming that your Make.defs is setup
  properly for your tool chain and that setenv.sh contains the path to where
  your cross-development tools are installed, the following steps are all that
  are required to build NuttX:
patacongo's avatar
patacongo committed

    cd ${TOPDIR}
    . ./setenv.sh
    make

  At least one configuration (eagle100) requires additional command line
  arguments on the make command.  Read ${TOPDIR}/configs/<board-name>/README.txt
  to see if that applies to your target.

Gregory Nutt's avatar
Gregory Nutt committed
Re-building
patacongo's avatar
patacongo committed

  Re-building is normally simple -- just type make again.

  But there are some things that can "get you" when you use the Cygwin
  development environment with Windows native tools.  The native Windows
  tools do not understand Cygwin's symbolic links, so the NuttX make system
  does something weird:  It copies the configuration directories instead of
  linking to them (it could, perhaps, use the NTFS 'mklink' command, but it
  doesn't).

  A consequence of this is that you can easily get confused when you edit
  a file in one of the linked (i.e., copied) directories, re-build NuttX,
  and then not see your changes when you run the program.  That is because
  build is still using the version of the file in the copied directory, not
  your modified file!

  Older versions of NuttX did not support dependiencies in this
  configuration.  So a simple work around this annoying behavior in this
  case was the following when you re-build:
patacongo's avatar
patacongo committed
     make clean_context all
  This 'make' command will remove of the copied directories, re-copy them,
patacongo's avatar
patacongo committed
  then make NuttX.
patacongo's avatar
patacongo committed

  However, more recent versions of NuttX do support dependencies for the
  Cygwin build.  As a result, the above command will cause everything to be
  rebuilt (beause it removes and will cause recreating the
  include/nuttx/config.h header file).  A much less gracefully but still
  effective command in this case is the following for the ARM configuration:

    rm -rf arch/arm/src/chip arch/arm/src/board

  This "kludge" simple removes the copied directories.  These directories
  will be re-created when you do a normal 'make' and your edits will then be
  effective.

Build Targets and Options
-------------------------
  Below is a summary of the build targets available in the top-level
  NuttX Makefile:

  all

    The default target builds the NuttX executable in the selected output
    formats.

  clean

    Removes derived object files, archives, executables, and temporary
    files, but retains the configuration and context files and directories.

  distclean

    Does 'clean' then also removes all configuration and context files.
    This essentially restores the directory structure to its original,
    unconfigured stated.

  Application housekeeping targets.  The APPDIR variable refers to the user
  application directory.  A sample apps/ directory is included with NuttX,
  however, this is not treated as part of NuttX and may be replaced with a
  different application directory.  For the most part, the application
  directory is treated like any other build directory in the Makefile script.
  However, as a convenience, the following targets are included to support
  housekeeping functions in the user application directory from the NuttX
  build directory.

  apps_clean

    Perform the clean operation only in the user application directory

  apps_distclean

    Perform the distclean operation only in the user application directory.
    The apps/.config file is preserved so that this is not a "full" distclean
    but more of a configuration "reset."

  export

    The export target will package the NuttX libraries and header files into
    an exportable package.  Caveats: (1) These needs some extension for the KERNEL
    build. (2) The logic in tools/mkexport.sh only supports GCC and, for example,
    explicitly assumes that the archiver is 'ar'

  download

    This is a helper target that will rebuild NuttX and download it to the target
    system in one step.  The operation of this target depends completely upon
    implementation of the DOWNLOAD command in the user Make.defs file.  It will
    generate an error an error if the DOWNLOAD command is not defined.

  The following targets are used internally by the make logic but can be invoked
  from the command under certain conditions if necessary.

  depend

    Create build dependencies. (NOTE:  There is currently no support for build
    dependencies under Cygwin using Windows-native toolchains.)

  context

    The context target is invoked on each target build to assure that NuttX is
    properly configured.  The basic configuration steps include creation of the
    the config.h and version.h header files in the include/nuttx directory and
    the establishment of symbolic links to configured directories.

  clean_context

    This is part of the distclean target.  It removes all of the header files
    and symbolic links created by the context target.

  Build Options:
  Of course, the value any make variable an be overridden from the make command
  line.  However, there is one particular variable assignment option that may
  be useful to you:

  V=1
    This is the build "verbosity flag."  If you specify V=1 on the make command
    line, you will see the exact commands used in the build. This can be very
    useful when adding new boards or tracking down compile time errors and
    warnings (Contributed by Richard Cochran).
  The beginnings of a Windows native build are in place but still not often
  used as of this writing.  The build was functional but because of lack of
  use may find some issues to be resolved with this build configuration.
  The windows native build logic initiated if CONFIG_WINDOWS_NATIVE=y is
  defined in the NuttX configuration file:

Gregory Nutt's avatar
Gregory Nutt committed

  This build:

    - Uses all Windows style paths
    - Uses primarily Windows batch commands from cmd.exe, with
patacongo's avatar
patacongo committed
    - A few extensions from GNUWin32

  In this build, you cannot use a Cygwin or MSYS shell. Rather the build must
  be performed in a Windows console window. Here is a better terminal than the
  standard issue, CMD.exe terminal:  ConEmu which can be downloaded from:
  https://sourceforge.net/projects/conemu/ or https://conemu.github.io/ .

  Build Tools.  The build still relies on some Unix-like commands.  I use
  the GNUWin32 tools that can be downloaded from http://gnuwin32.sourceforge.net/
  using the 'Download all' selection.  Individual packages can be download
  instead if you know what you are doing and want a faster download (No, I
  can't tell you which packages you should or should not download).
  Host Compiler:  I use the MingGW GCC compiler which can be downloaded from
  http://www.mingw.org/.  If you are using GNUWin32, then it is recommended
  the you not install the optional MSYS components as there may be conflicts.

patacongo's avatar
patacongo committed
  This capability should still be considered a work in progress because:
    (1) It has not been verified on all targets and tools, and
    (2) it still lacks some of the creature-comforts of the more mature
        environments.
  There is an alternative to the setenv.sh script available for the Windows
  native environment: tools/configure.bat.  See tools/README.txt for additional
  information.
patacongo's avatar
patacongo committed
  The Windows native build will depend upon a few Unix-like tools that can be
  provided either by MSYS or GNUWin32.  The GNUWin32 are available from
  http://gnuwin32.sourceforge.net/.  GNUWin32 provides ports of tools with a
  GPL or similar open source license to modern MS-Windows (Microsoft Windows
  2000 / XP / 2003 / Vista / 2008 / 7).  See
  http://gnuwin32.sourceforge.net/packages.html for a list of all of the tools
  available in the GNUWin32 package.
patacongo's avatar
patacongo committed
  The SourceForge project is located here:
  http://sourceforge.net/projects/gnuwin32/.  The project is still being
  actively supported (although some of the Windows ports have gotten very old).
patacongo's avatar
patacongo committed
  Some commercial toolchains include a subset of the GNUWin32 tools in the
  installation.  My recommendation is that you download the GNUWin32 tools
  directly from the sourceforge.net website so that you will know what you are
  using and can reproduce your build environment.
patacongo's avatar
patacongo committed
  GNUWin32 Installation Steps:
patacongo's avatar
patacongo committed
  The following steps will download and execute the GNUWin32 installer.
patacongo's avatar
patacongo committed
  1. Download GetGNUWin32-x.x.x.exe from
     http://sourceforge.net/projects/getgnuwin32/files/.  This is the
     installer.  The current version as of this writing is 0.6.3.
patacongo's avatar
patacongo committed
  2. Run the installer.
patacongo's avatar
patacongo committed
  3. Accept the license.
patacongo's avatar
patacongo committed
  4. Select the installation directory.  My recommendation is the
     directory that contains this README file (<this-directory>).
patacongo's avatar
patacongo committed
  5. After running GetGNUWin32-0.x.x.exe, you will have a new directory
     <this-directory>/GetGNUWin32
  Note that the GNUWin32 installer didn't install GNUWin32.  Instead, it
patacongo's avatar
patacongo committed
  installed another, smarter downloader.  That downloader is the GNUWin32
  package management tool developed by the Open SSL project.
patacongo's avatar
patacongo committed
  The following steps probably should be performed from inside a DOS shell.
patacongo's avatar
patacongo committed
  6. Change to the directory created by GetGNUWin32-x.x.x.exe
patacongo's avatar
patacongo committed
    cd GetGNUWin32
patacongo's avatar
patacongo committed
  7. Execute the download.bat script.  The download.bat script will download
     about 446 packages!  Enough to have a very complete Linux-like environment
     under the DOS shell.  This will take awhile.  This step only downloads
     the packages and the next step will install the packages.
patacongo's avatar
patacongo committed
     download
patacongo's avatar
patacongo committed
  8. This step will install the downloaded packages.  The argument of the
     install.bat script is the installation location.  C:\gnuwin32 is the
     standard install location:
patacongo's avatar
patacongo committed
     install C:\gnuwin32
patacongo's avatar
patacongo committed
  NOTE:  This installation step will install *all* GNUWin32 packages... far
  more than you will ever need.  If disc space is a problem for you, you might
  need to perform a manual installation of the individual ZIP files that you
  will find in the <this directory>/GetGNUWin32/packages directory.
patacongo's avatar
patacongo committed
CYGWIN BUILD PROBLEMS
^^^^^^^^^^^^^^^^^^^^^

---------------------
  If you see strange behavior when building under Cygwin then you may have
  a problem with your PATH variable.  For example, if you see failures to
  locate files that are clearly present, that may mean that you are using
  the wrong version of a tool.  For example, you may not be using Cygwin's
  'make' program at /usr/bin/make.  Try:
patacongo's avatar
patacongo committed

    $ which make
    /usr/bin/make

  When you install some toolchains (such as Yargarto or CodeSourcery tools),
  they may modify your PATH variable to include a path to their binaries.
  At that location, they make have GNUWin32 versions of the tools.  So you
  might actually be using a version of make that does not understand Cygwin
  paths.
patacongo's avatar
patacongo committed

patacongo's avatar
patacongo committed

  1. Edit your PATH to remove the path to the GNUWin32 tools, or
  2. Put /usr/local/bin, /usr/bin, and /bin at the front of your path:
patacongo's avatar
patacongo committed

     $ export PATH=/usr/local/bin:/usr/bin:/bin:$PATH
patacongo's avatar
patacongo committed

------------------------------

  There are many popular Windows native toolchains that may be used with NuttX.
  Examples include CodeSourcery (for Windows), devkitARM, and several vendor-
  provied toolchains.  There are several limitations with using a and Windows
  based toolchain in a Cygwin environment.  The three biggest are:

  1. The Windows toolchain cannot follow Cygwin paths.  Path conversions are
     performed automatically in the Cygwin makefiles using the 'cygpath' utility
     but you might easily find some new path problems.  If so, check out 'cygpath -w'

  2. Windows toolchains cannot follow Cygwin symbolic links.  Many symbolic links
     are used in Nuttx (e.g., include/arch).  The make system works around these
     problems for the Windows tools by copying directories instead of linking them.
     But this can also cause some confusion for you:  For example, you may edit
     a file in a "linked" directory and find that your changes had no effect.
     That is because you are building the copy of the file in the "fake" symbolic
     directory.  If you use a Windows toolchain, you should get in the habit of
     making like this:

       make clean_context all

     An alias in your .bashrc file might make that less painful.  The rebuild
     is not a long as you might think because there is no dependency checking
     if you are using a native Windows toolchain.  That bring us to #3:

General Pre-built Toolchain Issues

  To continue with the list of "Window Native Toolchain Issues" we can add
  the following.  These, however, are really just issues that you will have
  if you use any pre-built toolchain (vs. building the NuttX toolchain from
  the NuttX buildroot package):

  There may be incompatibilities with header files, libraries, and compiler
  built-in functions at detailed below.  For the most part, these issues
  are handled in the existing make logic.  But if you are breaking new ground,
Gregory Nutt's avatar
Gregory Nutt committed
  then you may encounter these:

  4. Header Files.  Most pre-built toolchains will build with a foreign C
Gregory Nutt's avatar
Gregory Nutt committed
     library (usually newlib, but maybe uClibc or glibc if you are using a
     Linux toolchain).  This means that the header files from the foreign
     C library will be built into the toolchain.  So if you "include <stdio.h>",
     you will get the stdio.h from the incompatible, foreign C library and
     not the nuttx stdio.h (at nuttx/include/stdio.h) that you wanted.

Gregory Nutt's avatar
Gregory Nutt committed
     This can cause really confusion in the builds and you must always be
     sure the -nostdinc is included in the CFLAGS.  That will assure that
Gregory Nutt's avatar
Gregory Nutt committed
     you take the include files only from

  5. Libraries.  What was said above header files applies to libraries.
     You do not want to include code from the libraries of any foreign
     C libraries built into your toolchain.  If this happens you will get
Gregory Nutt's avatar
Gregory Nutt committed
     perplexing errors about undefined symbols.  To avoid these errors,
     you will need to add -nostdlib to your CFLAGS flags to assure that
     you only take code from the NuttX libraries.

     This, however, may causes other issues for libraries in the toolchain
     that you do want (like libgcc.a or libm.a).  These are special-cased
     in most Makefiles, but you could still run into issues of missing
     libraries.

  6. Built-Ins.  Some compilers target a particular operating system.
     Many people would, for example, like to use the same toolchain to
     develop Linux and NuttX software.  Compilers built for other
     operating systems may generate incompatible built-in logic and,
     for this reason, -fno-builtin should also be included in your
     C flags

  And finally you may not be able to use NXFLAT.

  7. NXFLAT. If you use a pre-built toolchain, you will lose all support
     for NXFLAT.  NXFLAT is a binary format described in
     Documentation/NuttXNxFlat.html.  It may be possible to build
     standalone versions of the NXFLAT tools; there are a few examples
Gregory Nutt's avatar
Gregory Nutt committed
     of this in the buildroot repository at https://bitbucket.org/nuttx/buildroot
     However, it is possible that there could be interoperability issues
     with your toolchain since they will be using different versions of
Gregory Nutt's avatar
Gregory Nutt committed
     binutils and possibly different ABIs.
Gregory Nutt's avatar
Gregory Nutt committed
Building Original Linux Boards in Cygwin

  Some default board configurations are set to build under Linux and others
  to build under Windows with Cygwin.  Various default toolchains may also
  be used in each configuration.  It is possible to change the default
  setup.  Here, for example, is what you must do in order to compile a
  default Linux configuration in the Cygwin environment using the
  CodeSourceery for Windows toolchain.  After instantiating a "canned"
  NuttX configuration, run the target 'menuconfig' and set the following
  items:

    Build Setup->Build Host Platform->Windows
    Build Setup->Windows Build Environment->Cygwin
    System Type->Toolchain Selection->CodeSourcery GNU Toolchain under Windows

  In Windows 7 it may be required to open the Cygwin shell as Administrator
  ("Run As" option, right button) you find errors like "Permission denied".

Recovering from Bad Configurations

  Many people make the mistake of configuring NuttX with the "canned"
  configuration and then just typing 'make' with disastrous consequences;
  the build may fail with mysterious, uninterpretable, and irrecoverable
  build errors.  If, for example, you do this with an unmodified Linux
  configuration in a Windows/Cgwin environment, you will corrupt the
  build environment.  The environment will be corrupted because of POSIX vs
  Windows path issues and with issues related to symbolic links.  If you
  make the mistake of doing this, the easiest way to recover is to just
  start over: Do 'make distclean' to remove every trace of the corrupted
  configuration, reconfigure from scratch, and make certain that the set
  the configuration correctly for your platform before attempting to make
  again.

  Just fixing the configuration file after you have instantiated the bad
  configuration with 'make' is not enough.

patacongo's avatar
patacongo committed
DOCUMENTATION
^^^^^^^^^^^^^

patacongo's avatar
patacongo committed
Additional information can be found in the Documentation/ directory and
patacongo's avatar
patacongo committed
also in README files that are scattered throughout the source tree.  The
documentation is in HTML and can be access by loading the following file
into your Web browser:

  Documentation/index.html

NuttX documentation is also available online at http://www.nuttx.org.

Below is a guide to the available README files in the NuttX source tree:
patacongo's avatar
patacongo committed

Gregory Nutt's avatar
Gregory Nutt committed
nuttx/
patacongo's avatar
patacongo committed
 |
 |- arch/
 |   |
patacongo's avatar
patacongo committed
 |   |   `- src
 |   |       `- lpc214x/README.txt
 |   |- renesas/
patacongo's avatar
patacongo committed
 |   |   |- include/
 |   |   |   `-README.txt
 |   |   |- src/
 |   |   |   `-README.txt
 |   |- x86/
 |   |   |- include/
 |   |   |   `-README.txt
 |   |   `- src/
 |   |       `-README.txt
patacongo's avatar
patacongo committed
 |   `- z80/
 |   |   `- src/
patacongo's avatar
patacongo committed
 |   |       |- z80/README.txt
 |   |       `- z180/README.txt, z180_mmu.txt
patacongo's avatar
patacongo committed
 |   `- README.txt
 |- audio/
 |   `-README.txt
 |- binfmt/
 |   `-libpcode/
 |       `-README.txt
patacongo's avatar
patacongo committed
 |- configs/
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- arduino-mega2560/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- avr32dev1/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- c5471evm/
 |   |   `- README.txt
 |   |- cc3200-launchpad/
 |   |   `- README.txt
 |   |- clicker2-stm32
 |   |   `- README.txt
 |   |- cloudctrl
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- demo0s12ne64/
 |   |   `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- dk-tm4c129x/
 |   |   `- README.txt
 |   |- ea3131/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- ea3152/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- eagle100/
 |   |   `- README.txt
 |   |- efm32-g8xx-stk/
 |   |   `- README.txt
 |   |- ekk-lm3s9b96/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- ez80f910200kitg/
 |   |   |- ostest/README.txt
 |   |   `- README.txt
 |   |- ez80f910200zco/
 |   |   |- dhcpd/README.txt
 |   |   |- httpd/README.txt
 |   |   |- nettest/README.txt
 |   |   |- nsh/README.txt
 |   |   |- ostest/README.txt
 |   |   |- poll/README.txt
 |   |   `- README.txt
 |   |   `- README.txt
 |   |- freedom-k66f/
 |   |   `- README.txt
 |   |- freedom-kl25z/
 |   |   `- README.txt
 |   |- freedom-kl26z/
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- hymini-stm32v/
patacongo's avatar
patacongo committed
 |   |   `- README.txt
 |   |- kwikstik-k40/
 |   |   `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- launchxl-tms57004/
 |   |   `- README.txt
 |   |- lincoln60/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- lm3s6432-s2e/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- lm3s6965-ek/
 |   |   `- README.txt
 |   |- lm3s8962-ek/
 |   |- lpc4330-xplorer/
 |   |   `- README.txt
 |   |- lpc4337-ws/
 |   |   `- README.txt
 |   |- lpc4357-evb/
 |   |   `- README.txt
 |   |- lpc4370-link2/
 |   |   `- README.txt
 |   |- lpcxpresso-lpc1768/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- mbed/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- mcu123-lpc214x/
 |   |   `- README.txt
 |   |- micropendous3/
 |   |   `- README.txt
 |   |- mirtoo/
 |   |   `- README.txt
 |   |- misoc/
 |   |   `- README.txt
 |   |- moteino-mega/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- mx1ads/
 |   |   `- README.txt
 |   |- ne63badge/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- ntosd-dm320/
 |   |   |- doc/README.txt
 |   |   `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- nucleo-144/
 |   |   `- README.txt
 |   |- nucleo-f303re/
 |   |   `- README.txt
 |   |- nucleo-f334r8/
 |   |   `- README.txt
 |   |- nucleo-l476rg/
 |   |   `- README.txt
 |   |- nutiny-nuc120/
 |   |   `- README.txt
 |   |- olimex-efm32g880f129-stk/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- olimex-lpc1766stk/
patacongo's avatar
patacongo committed
 |   |   `- README.txt
 |   |- olimex-lpc2378/
patacongo's avatar
patacongo committed
 |   |   `- README.txt
 |   |- olimex-lpc-h3131/
 |   |   `- README.txt
 |   |- olimex-stm32-h405/
 |   |   `- README.txt
 |   |- olimex-stm32-h407/
 |   |   `- README.txt
 |   |- olimex-stm32-p107/
 |   |   `- README.txt
 |   |- olimex-stm32-p207/
 |   |   `- README.txt
 |   |- olimex-stm32-p407/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- olimex-strp711/
patacongo's avatar
patacongo committed
 |   |   `- README.txt
 |   |- open1788/
 |   |   `- README.txt
 |   |- p112/
 |   |   `- README.txt
 |   |- pcblogic-pic32mx/
 |   |   `- README.txt
 |   |- pic32mx7mmb/
 |   |   `- README.txt
 |   |- pic32mz-starterkit/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |   `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- sabre-6quad/
 |   |   `- README.txt
 |   |- sama5d2-xult/
 |   |   `- README.txt
 |   |- sama5d4-ek/
 |   |   `- README.txt
 |   |- samd20-xplained/
 |   |   `- README.txt
 |   |- samd21-xplained/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- sam3u-ek/
 |   |   `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- sam4cmp-db
 |   |   `- README.txt
 |   |- sam4e-ek/
 |   |   `- README.txt
 |   |- sam4s-xplained/
 |   |   `- README.txt
 |   |- sam4s-xplained-pro/
 |   |   `- README.txt
 |   |- same70-xplained/
 |   |   `- README.txt
 |   |- samv71-xult/
patacongo's avatar
patacongo committed
 |   |- sim/
Gregory Nutt's avatar
Gregory Nutt committed
 |   |   |- include/README.txt
patacongo's avatar
patacongo committed
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- skp16c26/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- stm3210e-eval/
 |   |   |- RIDE/README.txt
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- stm3220g-eval/
 |   |   |-ide/nsh/iar/README.txt
 |   |   |-ide/nsh/uvision/README.txt
patacongo's avatar
patacongo committed
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- stm3240g-eval/
 |   |   `- README.txt
 |   |- stm32f103-minumum/
 |   |   `- README.txt
 |   |- stm32f3discovery/
 |   |   `- README.txt
 |   |- stm32f4discovery/
 |   |   `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- stm32f411e-disco/
 |   |   `- README.txt
 |   |   |- ide/ltcd/uvision/README.txt
 |   |   |- ltdc/README.txt
 |   |- stm32f746g-disco/
 |   |   `- README.txt
 |   |- stm32l476-mdk/
 |   |   `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- stm32l476vg-disco/
 |   |   `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |   `- README.txt
 |   |- sure-pic32mx/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |   `- README.txt
 |   |   `- README.txt
 |   |- tm4c123g-launchpad/
 |   |   `- README.txt
 |   |- tm4c1294-launchpad/
 |   |   `- README.txt
 |   |- twr-k60n512/
 |   |   `- README.txt
 |   |- twr-k64f120m/
 |   |   `- README.txt
 |   |- u-blox-co27/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- us7032evb1/
 |   |   `- README.txt
 |   |- viewtool-stm32f107/
 |   |   `- README.txt
 |   |- xmc5400-relax/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- xtrs/
 |   |   `- README.txt
 |   |- z16f2800100zcog/
 |   |   |- ostest/README.txt
 |   |   |- pashello/README.txt
 |   |   `- README.txt
 |   |- z80sim/
 |   |   `- README.txt
 |   |- z8encore000zco/
 |   |   |- ostest/README.txt
 |   |   `- README.txt
 |   |- z8f64200100kit/
 |   |   |- ostest/README.txt
 |   |   `- README.txt
 |   |- zkit-arm-1769/
 |   |   `- README.txt
 |   |- zp214xpa/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- eeprom/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- lcd/
 |   |   | README.txt
 |   |   `- pcf8574_lcd_backpack_readme.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- mtd/
 |   |   `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- sensors/
 |   |   `- README.txt
 |   `- README.txt
patacongo's avatar
patacongo committed
 |- fs/
 |   |- binfs/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- mmap/
 |   |   `- README.txt
 |   |- smartfs/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |       `- README.txt
patacongo's avatar
patacongo committed
 |- graphics/
 |   `- README.txt
 |   `- README.txt
patacongo's avatar
patacongo committed
 |- libxx/
 |   `- README.txt
patacongo's avatar
patacongo committed
 |- mm/
patacongo's avatar
patacongo committed
 |   `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |- net/
 |   |- sixlowpan
 |   |   `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   `- README.txt
 |- syscall/
 |   `- README.txt
patacongo's avatar
patacongo committed
 `- tools/
     `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
Below is a guide to the available README files in the semi-optional apps/
source tree:

apps/
 |   |- json/README.txt
 |   |- pashello/README.txt
 |   `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |- gpsutils/
 |   `- minmea/README.txt
patacongo's avatar
patacongo committed
 |- graphics/
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- tiff/README.txt
 |   `- traveler/tools/tcledit/README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- bas
 |   |- ficl
 |   |  `- README.txt
 |   `- README.txt
 |   |- discover
 |   |  `- README.txt
 |   |- json
 |   |  `- README.txt
 |   |- telnetd
 |   |  `- README.txt
 |   `- README.txt
 |- nshlib/
 |   `- README.txt
 |- NxWidgets/
 |   `- README.txt
 |   |- cdcacm
 |   |  `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- inifile
 |   |  `- README.txt
 |   |- install
 |   |  `- README.txt
 |   |- nxplayer
 |   |  `- README.txt
 |   |- symtab/
 |   |   `- README.txt
 |   |- usbmsc
 |   |  `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
Additional README.txt files in the other, related repositories:

NxWidgets/
 |- Doxygen
 |   `- README.txt
 |- tools
 |   `- README.txt
 |- UnitTests
 |   `- README.txt
 `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed

buildroot/
 `- README.txt

tools/
 `- README.txt

uClibc++/
 `- README.txt

pascal/
 `- README.txt