diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html index 623ac7651c..59c0189838 100644 --- a/Documentation/NuttX.html +++ b/Documentation/NuttX.html @@ -8,7 +8,7 @@
Last Updated: February 5, 2008
+Last Updated: February 7, 2008
by
Gregory Nutt
-Last Update: January 10, 2008
+Last Update: February 7, 2008
Overview This document provides and overview of the NuttX build and configuration - logic and provides hints for the incorporation of new processor/board archectures + logic and provides hints for the incorporation of new processor/board architectures into the build.
@@ -132,7 +132,7 @@ | | | `-- (chip-specific source files) | | |--<other-chips>/ | | `-- (architecture-specific source files) -| `-- <other-architectures>/ +| `-- <other-architecture directories>/ |-- configs/ | |-- <board-name>/ | | |-- include/ @@ -140,8 +140,10 @@ | | |-- src/ | | | |-- Makefile | | | `-- (board-specific source files) -| | `-- (board-specific configuration files) -| `-- <other-boards>/ +| | |---<config1-dir>/ +| | | `-- (board-specific/configuration-specific files) +| | `---(other board-specific configuration sub-directories)/ +| `-- <(other board directories)>/ |-- drivers/ | |-- Makefile | `-- (common driver source files) @@ -226,14 +228,14 @@
These board-specific configuration files can be found in the
configs/
<board-name>/
sub-directories and are discussed
- in a a paragraph below.
+ in a paragraph below.
arch/
containing logic specific
- to the new architecuture.
+ add a new subdirectory under arch/
containing logic specific
+ to the new architecture.
The complete board port in is defined by the architecture-specific code in this
directory (plus the board-specific configurations in the config/
subdirectory).
@@ -468,15 +470,24 @@
provide a subdirectory <board-name> under configs/
with the following characteristics:
+ |-- Make.defs + |-- defconfig + `-- setenv.sh <board-name> |-- include/ | `-- (board-specific header files) |-- src/ | |-- Makefile | `-- (board-specific source files) - |-- Make.defs - |-- defconfig - `-- setenv.sh + |-- <config1-dir> + | |-- Make.defs + | |-- defconfig + | `-- setenv.sh + |-- <config2-dir> + | |-- Make.defs + | |-- defconfig + | `-- setenv.sh + `-- (other board-specific configuration sub-directories)/
libext$(LIBEXT)
, clean
, and distclean
.
-
The configs/
<board-name>/
sub-directory holds all of the
files that are necessary to configure Nuttx for the particular board.
+ A board may have various different configurations using the common source files.
+ Each board configuration is described by three files: Make.defs
, defconfig
, and setenv.sh
.
+ Typically, each set of configuration files is retained in a separate configuration sub-directory
+ (<config1-dir>, <config2-dir>, .. in the above diagram).
+
The procedure for configuring NuttX is described below,
This paragraph will describe the contents of these configuration files.
defconfig
: This is a configuration file similar to the Linux
- configuration file. In contains varialble/value pairs like:
+ configuration file. In contains variable/value pairs like:
CONFIG_VARIABLE
=value
Manual Configuration.
Configuring NuttX requires only copying the
- board-specific configuration files into the top level directory which appears in the make files as the make variable, ${TOPDIR}
.
+ board-specific configuration files into the top level directory which appears in the make files as the make variable, ${TOPDIR}
.
This could be done manually as follows:
configs/
<board-name>/Make.def to ${TOPDIR}/Make.defs
,configs/
<board-name>/setenv.sh to ${TOPDIR}/setenv.sh
, andconfigs/
<board-name>/defconfig to ${TOPDIR}/.config
configs/
<board-name>/[
<config-dir>/]Make.def
to ${TOPDIR}/Make.defs
,configs/
<board-name>/[
<config-dir>/]setenv.sh
to ${TOPDIR}/setenv.sh
, andconfigs/
<board-name>/[
<config-dir>/]defconfig
to ${TOPDIR}/.config
Where <board-name> is the name of one of the sub-directories of the
NuttX configs/
directory.
This sub-directory name corresponds to one of the supported boards
identified above.
+ And <config-dir> is the optional, specific configuration directory for the board.
Automated Configuration. @@ -718,7 +735,7 @@
cd tools - ./configure.sh <board-name> + ./configure.sh <board-name>[/
<config-dir>]
@@ -747,14 +764,14 @@ make That directory also holds:
.config
that describes the current configuration.Make.defs
that provides customized build targers, andsetenv.sh
that sets up the configuration environment for the build..config
that describes the current configuration.Make.defs
that provides customized build targers, andsetenv.sh
that sets up the configuration environment for the build.
-The setenv.sh
contains Linux environmental settings that are needed for the build.
-The specific environmental definitions are unique for each board but should include, as a minimum, updates to the PATH
variable to include the full path to the architecture-specific toolchain identified in Make.defs
.
-The setenv.sh
only needs to be source'ed at the beginning of a session.
+The setenv.sh
contains Linux/Cygwin environmental settings that are needed for the build.
+The specific environmental definitions are unique for each board but should include, as a minimum, updates to the PATH
variable to include the full path to the architecture-specific toolchain identified in Make.defs
.
+The setenv.sh
only needs to be source'ed at the beginning of a session.
The system can be re-made subsequently by just typing make
.
@@ -1548,6 +1565,22 @@ The system can be re-made subsequently by just typing make
.
+ NOTE: NuttX is not licensed to use the POSIX trademark. NuttX uses the POSIX + standard as a development guideline only. +
+