diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html index 6552e9510f..01bfbbc02c 100644 --- a/Documentation/NuttX.html +++ b/Documentation/NuttX.html @@ -430,6 +430,10 @@ Other memory: * Some Documentation updates * Added support for the Neuros OSD / DM320 +0.2.2 2007-xx-xx Gregory Nutt + * Created the configs/ directory; separated board configuration + from processor architecture logic + * Started m68322 diff --git a/Documentation/NuttxPortingGuide.html b/Documentation/NuttxPortingGuide.html index 77d274b65f..707c8001f2 100644 --- a/Documentation/NuttxPortingGuide.html +++ b/Documentation/NuttxPortingGuide.html @@ -16,7 +16,7 @@

by

Gregory Nutt

-

Last Update: March 20, 2007

+

Last Update: March 22, 2007

Table of Contents

@@ -26,19 +26,25 @@
  • 2.1 Documentation
  • 2.2 arch -
  • 2.3 drivers
  • -
  • 2.4 examples
  • -
  • 2.5 fs
  • -
  • 2.6 include
  • -
  • 2.7 lib
  • -
  • 2.8 mm
  • -
  • 2.9 sched
  • -
  • 2.10 tools
  • +
  • 2.3 configs/
  • + +
  • 2.4 drivers
  • +
  • 2.5 examples
  • +
  • 2.6 fs
  • +
  • 2.7 include
  • +
  • 2.8 lib
  • +
  • 2.9 mm
  • +
  • 2.10 sched
  • +
  • 2.11 tools
  • 3.0 Configuring and Building
  • 4.0 Architecture APIs
  • @@ -101,13 +107,16 @@ below and discussed in the following paragraphs:

    |-- Documentation | `-- (documentation files) |-- arch -| |-- (architecture) +| |-- <arch-name> +| | |-- include +| | `-- src +| `-- <:;other-architectures> +|-- configs +| |-- <board-name> | | |-- Make.defs | | |-- defconfig -| | |-- include -| | |-- setenv.sh -| | `-- src -| `-- (other architectures) +| | `-- setenv.sh +| `-- <:;other-architectures> |-- drivers | |-- Makefile | `-- (driver source files) @@ -149,68 +158,32 @@ below and discussed in the following paragraphs:

    2.2 arch

    -

    2.2.1 Subdirectory Structure

    +

    2.2.1 Subdirectory Structure

    This directory contains several sub-directories, each containing architecture-specific logic. - The task of porting NuttX to a new processor or board consists of + The task of porting NuttX to a new processor consists of add a new sudirectory under arch/ containing logic specific to the new architecuture. + The complete board port in is defined by the architecture-specific code in this + directory (plus the board-specific configurations in the config/ + subdirectory). Each architecture must provide a subdirectory, <arch-name> - under arch/ with the folling characteristics: + under arch/ with the following characteristics:

    -

    2.2.2 Summary of Files

    +

    2.2.2 Summary of Files

    2.2.3 Supported Architectures

    @@ -284,33 +263,126 @@ below and discussed in the following paragraphs:

    round robin scheduler) Otherwise, it is complete.
  • arch/c5471: TI TMS320C5471 (also called TMS320DM180 or just C5471). - NuttX operates on the ARM7 of this dual core processor. This port - uses the Spectrum Digital evaluation board with a GNU arm-elf toolchain*. - This port is complete, verified, and included in the NuttX release. + NuttX operates on the ARM7 of this dual core processor. + This port is complete, verified, and included in the NuttX release 0.1.1.
  • arch/dm320: TI TMS320DM320 (also called just DM320). NuttX operates on the ARM9EJS of this dual core processor. - This port uses the Neuros OSD with a GNU arm-elf toolchain*: - see http://wiki.neurostechnology.com/index.php/Developer_Welcome . - STATUS: This port is code complete but totally untested due to - hardware issues with my OSD. + This port complete, verified, and included in the NuttX release 0.2.1. +
  • arch/m68322 + A work in progress.
  • arch/pjrc-8051: - 8051 Microcontroller. This port uses the PJRC 87C52 development system - and the SDCC toolchain. This port is not quite ready for prime time. + 8051 Microcontroller. This port is not quite ready for prime time.
  • Other ports for the for the TI TMS320DM270 and for MIPS are in various states of progress

    -

    2.2.4 Configuring NuttX

    +

    2.3 configs

    +

    + The configs/ subdirectory contains configuration data for each board. + These board-specific configurations plus the architecture-specific configurations in + the arch/ subdirectory complete define a customized port of NuttX. +

    + +

    2.3.1 Subdirectory Structure

    +

    + The configs directory contains board specific configuration files. Each board must + provide a subdirectory <board-name> under configs/ with the following characteristics: +

    + + +

    2.3.2 Summary of Files

    + + +

    2.3.3 Supported Boards

    + + +

    + * A customized version of the buildroot + is available to build these toolchains. +

    + +

    2.3.4 Configuring NuttX

    Configuring NuttX requires only copying:

    There is a script that automates these steps. The following steps will @@ -318,22 +390,22 @@ below and discussed in the following paragraphs:

    -

    2.3 drivers

    +

    2.4 drivers

    This directory holds architecture-independent device drivers.

    -

    2.4 examples

    +

    2.5 examples

    Example and test programs to build against.

    -

    2.5 fs

    +

    2.6 fs

    This directory contains the NuttX filesystem. @@ -345,7 +417,7 @@ below and discussed in the following paragraphs:

    in a file-system-like name space.

    -

    2.6 include

    +

    2.7 include

    This directory holds NuttX header files. Standard header files file retained in can be included in the normal fashion: @@ -356,26 +428,26 @@ below and discussed in the following paragraphs:

    etc. -

    2.7 lib

    +

    2.8 lib

    This directory holds a collection of standard libc-like functions with custom interfaces into Nuttx.

    -

    2.8 mm

    +

    2.9 mm

    This is the NuttX memory manager.

    -

    2.9 sched

    +

    2.10 sched

    The files forming core of the NuttX RTOS reside here.

    -

    2.10 tools

    +

    2.11 tools

    This directory holds a collection of tools and scripts to simplify