Skip to content
README.txt 52.4 KiB
Newer Older
     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
     of this in the misc/buildroot/configs directory.  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

patacongo's avatar
patacongo committed
 |
 |- arch/
 |   |
patacongo's avatar
patacongo committed
 |   |   `- src
 |   |       `- lpc214x/README.txt
 |   |- sh/
 |   |   |- 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/
patacongo's avatar
patacongo committed
 |   |- avr32dev1/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- c5471evm/
 |   |   `- README.txt
 |   |- cc3200-launchpad/
 |   |   `- README.txt
 |   |- cloudctrl
 |   |   `- README.txt
 |   |- compal_e88
 |   |   `- README.txt
 |   |- compal_e99
 |   |   `- 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-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
 |   |- 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
 |   |- lpc4357-evb/
 |   |   `- 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
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- mt-db-x3/
 |   |   `- 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
patacongo's avatar
patacongo committed
 |   |   `- 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-p107/
 |   |   `- README.txt
 |   |- olimex-stm32-p207/
 |   |   `- 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
 |   |   `- README.txt
 |   |- sama5d4-ek/
 |   |   `- README.txt
 |   |- samd20-xplained/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- sam3u-ek/
 |   |   `- README.txt
 |   |- sam4e-ek/
 |   |   `- README.txt
 |   |- sam4s-xplained/
 |   |   `- README.txt
 |   |- sam4s-xplained-pro/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- sim/
 |   |   `- 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/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- stm3240g-eval/
 |   |   `- README.txt
 |   |- stm32f3discovery/
 |   |   `- README.txt
 |   |- stm32f4discovery/
 |   |   `- README.txt
 |   |   |- ltdc/README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |   `- README.txt
 |   |- sure-pic32mx/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- teensy/
 |   |   `- README.txt
 |   |- tm4c123g-launchpad/
 |   |   `- README.txt
 |   |- tm4c1294-launchpad/
 |   |   `- README.txt
 |   |- twr-k60n512/
 |   |   `- README.txt
patacongo's avatar
patacongo committed
 |   |- us7032evb1/
 |   |   `- README.txt
 |   |- viewtool-stm32f107/
 |   |   `- README.txt
 |   |   |- src/README.txt
 |   |   `- 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
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- mtd/
 |   |   `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- sensors/
 |   |   `- README.txt
 |   |- sercomm/
 |   |   `- 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/
 |   `- README.txt
 |- syscall/
 |   `- README.txt
patacongo's avatar
patacongo committed
 `- tools/
     `- README.txt
 |   |- json/README.txt
 |   |- pashello/README.txt
 |   `- README.txt
patacongo's avatar
patacongo committed
 |- graphics/
 |   `- tiff/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
 |   |- usbmsc
 |   |  `- README.txt
Gregory Nutt's avatar
Gregory Nutt committed
 |   |- zmodem
 |   |  `- README.txt
 |   `- zoneinfo

 NxWidgets
 |- Doxygen
 |   `- README.txt
 |- tools
 |   `- README.txt
 |- UnitTests
 |   `- README.txt
 `- README.txt