git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@659 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo
2008-02-07 14:41:11 +00:00
parent 9a7c5c29c5
commit ee5f02dae5
9 changed files with 133 additions and 69 deletions
+5 -3
View File
@@ -316,9 +316,10 @@
* Added /dev/zero * Added /dev/zero
* 'errno' is now defined to be *get_errno_ptr() with no name conflicts * 'errno' is now defined to be *get_errno_ptr() with no name conflicts
* Added lseek() and fseek() * Added lseek() and fseek()
* Integrated pascal test case on the simulation platform. Needs pascal-0.1.1. * Integrated Pascal interpreter test case on the simulation platform. Needs
* Integrated pascal test case on the z16f platform. Needs pascal-0.1.2 (not pascal-0.1.1.
yet released). * Add Pascal test case on the z16f platform. Needs pascal-0.1.2 (does not
yet work due to some tool issues).
* C buffered I/O fixes: * C buffered I/O fixes:
- Fix fflush() return value, - Fix fflush() return value,
- Add correct fflush behavior when the FILE argument is null. - Add correct fflush behavior when the FILE argument is null.
@@ -329,6 +330,7 @@
* Pascal P-Code files are now standardized to big-endian for portability * Pascal P-Code files are now standardized to big-endian for portability
* Fix a build problem with z80 and SDCC 2.7.0 (format of a map file changed) * Fix a build problem with z80 and SDCC 2.7.0 (format of a map file changed)
(see bug 1887170) (see bug 1887170)
* Pascal P-Code runtime now compiles with the SDCC toolchain.
+7 -5
View File
@@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4"> <tr align="center" bgcolor="#e4e4e4">
<td> <td>
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1> <h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
<p>Last Updated: February 5, 2008</p> <p>Last Updated: February 7, 2008</p>
</td> </td>
</tr> </tr>
</table> </table>
@@ -974,9 +974,10 @@ nuttx-0.3.8 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* Added /dev/zero * Added /dev/zero
* 'errno' is now defined to be *get_errno_ptr() with no name conflicts * 'errno' is now defined to be *get_errno_ptr() with no name conflicts
* Added lseek() and fseek() * Added lseek() and fseek()
* Integrated pascal test case on the simulation platform. Needs pascal-0.1.1. * Integrated Pascal interpreter test case on the simulation platform. Needs
* Integrated pascal test case on the z16f platform. Needs pascal-0.1.2 (not pascal-0.1.1.
yet released). * Add Pascal test case on the z16f platform. Needs pascal-0.1.2 (does not
yet work due to some tool issues).
* C buffered I/O fixes: * C buffered I/O fixes:
- Fix fflush() return value, - Fix fflush() return value,
- Add correct fflush behavior when the FILE argument is null. - Add correct fflush behavior when the FILE argument is null.
@@ -985,8 +986,9 @@ nuttx-0.3.8 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
- When read data is flushed, reposition the file pointer to account for - When read data is flushed, reposition the file pointer to account for
buffered, but unreand data buffered, but unreand data
* Pascal P-Code files are now standardized to big-endian for portability * Pascal P-Code files are now standardized to big-endian for portability
* Fix a build problem with z80 and SDCC 2.7.0 (format of a map file changed). * Fix a build problem with z80 and SDCC 2.7.0 (format of a map file changed)
(see bug 1887170) (see bug 1887170)
* Pascal P-Code runtime now compiles with the SDCC toolchain.
pascal-0.1.2 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt; pascal-0.1.2 2008-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
+60 -27
View File
@@ -16,7 +16,7 @@
</b></big> </b></big>
<p><small>by</small></p> <p><small>by</small></p>
<p>Gregory Nutt</p> <p>Gregory Nutt</p>
<p><small>Last Update: January 10, 2008</small></p> <p><small>Last Update: February 7, 2008</small></p>
</center> </center>
<center><h1>Table of Contents</h1></center> <center><h1>Table of Contents</h1></center>
@@ -36,7 +36,7 @@
<li><a href="#summaryofconfigfiles">2.3.2 Summary of Files</a></li> <li><a href="#summaryofconfigfiles">2.3.2 Summary of Files</a></li>
<ul> <ul>
<li><a href="#boardlogic">2.3.2.1 Board Specific Logic</a></li> <li><a href="#boardlogic">2.3.2.1 Board Specific Logic</a></li>
<li><a href="#boardconfigfiles">2.3.2.2 Board Specific Configuration Files</a></li> <li><a href="#boardconfigsubdirs">2.3.2.2 Board Specific Configuration Sub-Directories</a></li>
</ul> </ul>
<li><a href="#supportedboards">2.3.3 Supported Boards</a></li> <li><a href="#supportedboards">2.3.3 Supported Boards</a></li>
</ul> </ul>
@@ -90,13 +90,13 @@
</ul> </ul>
<li><a href="#NxFileSystem">5.0 NuttX File System</a></li> <li><a href="#NxFileSystem">5.0 NuttX File System</a></li>
<li><a href="#apndxconfigs">Appendix A: NuttX Configuration Settings</a></li> <li><a href="#apndxconfigs">Appendix A: NuttX Configuration Settings</a></li>
<li><a href="#apndxtrademarks">Appendix B: Trademarks</a></li>
<hr> <hr>
<h1>1.0 <a name="Introduction">Introduction</a></h1> <h1>1.0 <a name="Introduction">Introduction</a></h1>
<p><b>Overview</b> <p><b>Overview</b>
This document provides and overview of the NuttX build and configuration 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. into the build.
</p> </p>
<p> <p>
@@ -132,7 +132,7 @@
| | | `-- <i>(chip-specific source files)</i> | | | `-- <i>(chip-specific source files)</i>
| | |--<i>&lt;other-chips&gt;</i>/ | | |--<i>&lt;other-chips&gt;</i>/
| | `-- <i>(architecture-specific source files)</i> | | `-- <i>(architecture-specific source files)</i>
| `-- <i>&lt;other-architectures&gt;</i>/ | `-- <i>&lt;other-architecture directories&gt;</i>/
|-- <a href="#DirStructConfigs">configs</a>/ |-- <a href="#DirStructConfigs">configs</a>/
| |-- <i>&lt;board-name&gt;</i>/ | |-- <i>&lt;board-name&gt;</i>/
| | |-- include/ | | |-- include/
@@ -140,8 +140,10 @@
| | |-- src/ | | |-- src/
| | | |-- Makefile | | | |-- Makefile
| | | `-- <i>(board-specific source files)</i> | | | `-- <i>(board-specific source files)</i>
| | `-- <i>(board-specific configuration files)</i> | | |---<i>&lt;config1-dir&gt;</i>/
| `-- <i>&lt;other-boards&gt;</i>/ | | | `-- <i>(board-specific/configuration-specific files)</i>
| | `---<i>(other board-specific configuration sub-directories)</i>/
| `-- <i>&lt;(other board directories)&gt;</i>/
|-- <a href="#DirStructDrivers">drivers</a>/ |-- <a href="#DirStructDrivers">drivers</a>/
| |-- Makefile | |-- Makefile
| `-- <i>(common driver source files)</i> | `-- <i>(common driver source files)</i>
@@ -226,14 +228,14 @@
</p> </p>
</li> </li>
<li> <li>
<i>Board specific files</i>. <i>Board specific configurations</i>.
In order to be usable, the chip must be contained in a board environment. In order to be usable, the chip must be contained in a board environment.
The board configuration defines additional properties of the board including such things as The board configuration defines additional properties of the board including such things as
peripheral LEDs, external peripherals (such as network, USB, etc.). peripheral LEDs, external peripherals (such as network, USB, etc.).
<p> <p>
These board-specific configuration files can be found in the These board-specific configuration files can be found in the
<code>configs/</code><i>&lt;board-name&gt;</i><code>/</code> sub-directories and are discussed <code>configs/</code><i>&lt;board-name&gt;</i><code>/</code> sub-directories and are discussed
in a a paragraph <a href="#configsdirectorystructure">below</a>. in a paragraph <a href="#configsdirectorystructure">below</a>.
</p> </p>
</li> </li>
</ul> </ul>
@@ -251,8 +253,8 @@
This directory contains several sub-directories, each containing This directory contains several sub-directories, each containing
architecture-specific logic. architecture-specific logic.
The task of porting NuttX to a new processor consists of The task of porting NuttX to a new processor consists of
add a new sudirectory under <code>arch/</code> containing logic specific add a new subdirectory under <code>arch/</code> containing logic specific
to the new architecuture. to the new architecture.
The complete board port in is defined by the architecture-specific code in this The complete board port in is defined by the architecture-specific code in this
directory (plus the board-specific configurations in the <code>config/</code> directory (plus the board-specific configurations in the <code>config/</code>
subdirectory). subdirectory).
@@ -468,15 +470,24 @@
provide a subdirectory &lt;board-name&gt; under <code>configs/</code> with the following characteristics: provide a subdirectory &lt;board-name&gt; under <code>configs/</code> with the following characteristics:
</p> </p>
<ul><pre> <ul><pre>
|-- Make.defs
|-- defconfig
`-- setenv.sh
<i>&lt;board-name&gt;</i> <i>&lt;board-name&gt;</i>
|-- include/ |-- include/
| `-- <i>(board-specific header files)</i> | `-- <i>(board-specific header files)</i>
|-- src/ |-- src/
| |-- Makefile | |-- Makefile
| `-- <i>(board-specific source files)</i> | `-- <i>(board-specific source files)</i>
|-- Make.defs |-- <i>&lt;config1-dir&gt;</i>
|-- defconfig | |-- Make.defs
`-- setenv.sh | |-- defconfig
| `-- setenv.sh
|-- <i>&lt;config2-dir&gt;</i>
| |-- Make.defs
| |-- defconfig
| `-- setenv.sh
`-- <i>(other board-specific configuration sub-directories)</i>/
</pre></ul> </pre></ul>
<h3><a name="summaryofconfigfiles">2.3.2 Summary of Files</a></h3> <h3><a name="summaryofconfigfiles">2.3.2 Summary of Files</a></h3>
@@ -502,10 +513,15 @@
It must support the following targets: <code>libext$(LIBEXT)</code>, <code>clean</code>, and <code>distclean</code>. It must support the following targets: <code>libext$(LIBEXT)</code>, <code>clean</code>, and <code>distclean</code>.
</li> </li>
</ul> </ul>
<h4><a name="boardconfigfiles">2.3.2.2 Board Specific Configuration Files</a></h4> <h4><a name="boardconfigsubdirs">2.3.2.2 Board Specific Configuration Sub-Directories</a></h4>
<p> <p>
The <code>configs/</code><i>&lt;board-name&gt;</i><code>/</code> sub-directory holds all of the The <code>configs/</code><i>&lt;board-name&gt;</i><code>/</code> sub-directory holds all of the
files that are necessary to configure Nuttx for the particular board. 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: <code>Make.defs</code>, <code>defconfig</code>, and <code>setenv.sh</code>.
Typically, each set of configuration files is retained in a separate configuration sub-directory
(<i>&lt;config1-dir&gt;</i>, <i>&lt;config2-dir&gt;</i>, .. in the above diagram).
The procedure for configuring NuttX is described <a href="#configuringnuttx">below</a>, The procedure for configuring NuttX is described <a href="#configuringnuttx">below</a>,
This paragraph will describe the contents of these configuration files. This paragraph will describe the contents of these configuration files.
</p> </p>
@@ -530,7 +546,7 @@
</li> </li>
<li> <li>
<code>defconfig</code>: This is a configuration file similar to the Linux <code>defconfig</code>: 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:
<ul> <ul>
<li><code>CONFIG_VARIABLE</code>=value</li> <li><code>CONFIG_VARIABLE</code>=value</li>
</ul> </ul>
@@ -697,19 +713,20 @@
<p> <p>
<b>Manual Configuration</b>. <b>Manual Configuration</b>.
Configuring NuttX requires only copying the Configuring NuttX requires only copying the
<a href="#boardconfigfiles">board-specific configuration files</a> into the top level directory which appears in the make files as the make variable, <code>${TOPDIR}</code>. <a href="#boardconfigsubdirs">board-specific configuration files</a> into the top level directory which appears in the make files as the make variable, <code>${TOPDIR}</code>.
This could be done manually as follows: This could be done manually as follows:
</p> </p>
<ul> <ul>
<li>Copy <code>configs/</code><i>&lt;board-name&gt;</i></code>/Make.def</code> to <code>${TOPDIR}/Make.defs</code>,<li> <li>Copy <code>configs/</code><i>&lt;board-name&gt;</i><code>/[</code><i>&lt;config-dir&gt;</i><code>/]Make.def</code> to <code>${TOPDIR}/Make.defs</code>,<li>
<li>Copy <code>configs/</code><i>&lt;board-name&gt;</i></code>/setenv.sh</code> to <code>${TOPDIR}/setenv.sh</code>, and</li> <li>Copy <code>configs/</code><i>&lt;board-name&gt;</i><code>/[</code><i>&lt;config-dir&gt;</i><code>/]setenv.sh</code> to <code>${TOPDIR}/setenv.sh</code>, and</li>
<li>Copy <code>configs/</code><i>&lt;board-name&gt;</i></code>/defconfig</code> to <code>${TOPDIR}/.config</code></li> <li>Copy <code>configs/</code><i>&lt;board-name&gt;</i><code>/[</code><i>&lt;config-dir&gt;</i><code>/]defconfig</code> to <code>${TOPDIR}/.config</code></li>
</ul> </ul>
<p> <p>
Where <i>&lt;board-name&gt;</i> is the name of one of the sub-directories of the Where <i>&lt;board-name&gt;</i> is the name of one of the sub-directories of the
NuttX <a href="#DirStructConfigs"><code>configs/</code></a> directory. NuttX <a href="#DirStructConfigs"><code>configs/</code></a> directory.
This sub-directory name corresponds to one of the supported boards This sub-directory name corresponds to one of the supported boards
identified <a href="#supportedboards">above</a>. identified <a href="#supportedboards">above</a>.
And &lt;config-dir&gt; is the optional, specific configuration directory for the board.
</p> </p>
<p> <p>
<b>Automated Configuration</b>. <b>Automated Configuration</b>.
@@ -718,7 +735,7 @@
</p> </p>
<ul><pre> <ul><pre>
cd tools cd tools
./configure.sh <i>&lt;board-name&gt;</i> ./configure.sh <i>&lt;board-name&gt;</i></i><code>[/</code><i>&lt;config-dir&gt;</i><code>]</code>
</pre></ul> </pre></ul>
<p> <p>
@@ -747,14 +764,14 @@ make
That directory also holds: That directory also holds:
</p> </p>
<ul> <ul>
<li>The makefile fragment <a href="#boardconfigfiles"><code>.config</code></a> that describes the current configuration.</li> <li>The makefile fragment <a href="#boardconfigsubdirs"><code>.config</code></a> that describes the current configuration.</li>
<li>The makefile fragment <a href="#boardconfigfiles"><code>Make.defs</code></a> that provides customized build targers, and</li> <li>The makefile fragment <a href="#boardconfigsubdirs"><code>Make.defs</code></a> that provides customized build targers, and</li>
<li>The shell script <a href="#boardconfigfiles"><code>setenv.sh</code></a> that sets up the configuration environment for the build.</li> <li>The shell script <a href="#boardconfigsubdirs"><code>setenv.sh</code></a> that sets up the configuration environment for the build.</li>
</ul> </ul>
<p> <p>
The <a href="#boardconfigfiles"><code>setenv.sh</code></a> contains Linux environmental settings that are needed for the build. The <a href="#boardconfigsubdirs"><code>setenv.sh</code></a> 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 <code>PATH</code> variable to include the full path to the architecture-specific toolchain identified in <a href="#boardconfigfiles"><code>Make.defs</code></a>. The specific environmental definitions are unique for each board but should include, as a minimum, updates to the <code>PATH</code> variable to include the full path to the architecture-specific toolchain identified in <a href="#boardconfigsubdirs"><code>Make.defs</code></a>.
The <a href="#boardconfigfiles"><code>setenv.sh</code></a> only needs to be source'ed at the beginning of a session. The <a href="#boardconfigsubdirs"><code>setenv.sh</code></a> only needs to be source'ed at the beginning of a session.
The system can be re-made subsequently by just typing <code>make</code>. The system can be re-made subsequently by just typing <code>make</code>.
</p> </p>
<p> <p>
@@ -1548,6 +1565,22 @@ The system can be re-made subsequently by just typing <code>make</code>.
</li> </li>
</ul> </ul>
<h1><a name="apndxtrademarks">Appendix B: Trademarks</a></h1>
<li>ARM, ARM7 ARM7TDMI, ARM9, ARM926EJS are trademarks of Advanced RISC Machines, Limited.</li>
<li>Cygwin is a trademark of Red Hat, Incorporated.</li>
<li>Linux is a registered trademark of Linus Torvalds.</li>
<li>LPC2148 is a trademark of NXP Semiconductors.</li>
<li>TI is a tradename of Texas Instruments Incorporated.</li>
<li>UNIX is a registered trademark of The Open Group.</li>
<li>VxWorks is a registered trademark of Wind River Systems, Incorporated.</li>
<li>ZDS, ZNEO, Z16F, Z80, and Zilog are a registered trademark of Zilog, Inc.</li>
<p>
NOTE: NuttX is <i>not</i> licensed to use the POSIX trademark. NuttX uses the POSIX
standard as a development guideline only.
</p>
</body> </body>
</html> </html>
+3 -2
View File
@@ -234,9 +234,10 @@ o Pascal Add-On (pcode/)
Description: Need APIs to verify execution of P-Code from memory buffer. Description: Need APIs to verify execution of P-Code from memory buffer.
Status: Open Status: Open
Priority: Medium Priority: Low
Description: Pascal add-on does not build with the SDCC compiler. Description: Loader and object format may be too large for some small
memory systems. Consider ways to reduce memory footprint.
Status: Open Status: Open
Priority: Medium Priority: Medium
+5 -4
View File
@@ -125,7 +125,7 @@ Supported Architectures
arch/sim arch/sim
A user-mode port of NuttX to the x86 Linux platform is available. A user-mode port of NuttX to the x86 Linux platform is available.
The purpose of this port is primarily to support OS feature developement. The purpose of this port is primarily to support OS feature development.
This port does not support interrupts or a real timer (and hence no This port does not support interrupts or a real timer (and hence no
round robin scheduler) Otherwise, it is complete. round robin scheduler) Otherwise, it is complete.
@@ -160,11 +160,12 @@ arch/pjrc-8051
8051 Microcontroller. This port is not quite ready for prime time. 8051 Microcontroller. This port is not quite ready for prime time.
arch/z16 arch/z16
ZiLog z16f Microcontroller. ZiLOG z16f Microcontroller.
STATUS: A work in progress STATUS: Released in nuttx-0.3.7. Fully functional other than issues
addressed in ${TOPDIR}/TODO.
arch/z80 arch/z80
ZiLog z80 Microcontroller. ZiLOG z80 Microcontroller.
STATUS: Functional with no known defects. There are still several STATUS: Functional with no known defects. There are still several
OS features that have not yet been tested (e.g., networking). OS features that have not yet been tested (e.g., networking).
+31 -18
View File
@@ -33,7 +33,8 @@ o Board specific files. In order to be usable, the chip must be
These board-specific configuration files can be found in the These board-specific configuration files can be found in the
configs/<board-name>/ sub-directories and are discussed in this configs/<board-name>/ sub-directories and are discussed in this
README. README. Additional configuration information maybe available in
board-specific configs/<board-name>/README.txt files.
The configs/ subdirectory contains configuration data for each board. These The configs/ subdirectory contains configuration data for each board. These
board-specific configurations plus the architecture-specific configurations in board-specific configurations plus the architecture-specific configurations in
@@ -53,10 +54,15 @@ following characteristics:
|-- src/ |-- src/
| |-- Makefile | |-- Makefile
| `-- (board-specific source files) | `-- (board-specific source files)
|-- Make.defs |-- <config1-dir>
|-- defconfig | |-- Make.defs
`-- setenv.sh | |-- defconfig
| `-- setenv.sh
|-- <config2-dir>
| |-- Make.defs
| |-- defconfig
| `-- setenv.sh
...
Summary of Files Summary of Files
^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^
@@ -74,6 +80,12 @@ src/Makefile -- This makefile will be invoked to build the board specific
drivers. It must support the following targets: libext$(LIBEXT), clean, drivers. It must support the following targets: libext$(LIBEXT), clean,
and distclean. and distclean.
A board may have various different configurations using these 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).
Make.defs -- This makefile fragment provides architecture and Make.defs -- This makefile fragment provides architecture and
tool-specific build options. It will be included by all other tool-specific build options. It will be included by all other
makefiles in the build (once it is installed). This make fragment makefiles in the build (once it is installed). This make fragment
@@ -90,7 +102,7 @@ Make.defs -- This makefile fragment provides architecture and
different if CONFIG_DEBUG=y. different if CONFIG_DEBUG=y.
defconfig -- This is a configuration file similar to the Linux 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 CONFIG_VARIABLE=value
@@ -137,7 +149,7 @@ defconfig -- This is a configuration file similar to the Linux
CONFIG_DEBUG_SCHED - enable OS debug output (disabled by CONFIG_DEBUG_SCHED - enable OS debug output (disabled by
default) default)
CONFIG_DEBUG_MM - enable memory management debug output CONFIG_DEBUG_MM - enable memory management debug output
(disabld by default) (disabled by default)
CONFIG_DEBUG_NET - enable network debug output (disabled CONFIG_DEBUG_NET - enable network debug output (disabled
by default) by default)
CONFIG_DEBUG_FS - enable filesystem debug output (disabled CONFIG_DEBUG_FS - enable filesystem debug output (disabled
@@ -160,7 +172,7 @@ defconfig -- This is a configuration file similar to the Linux
be disabled by setting this value to zero. be disabled by setting this value to zero.
CONFIG_SCHED_INSTRUMENTATION - enables instrumentation in CONFIG_SCHED_INSTRUMENTATION - enables instrumentation in
scheduler to monitor system performance scheduler to monitor system performance
CONFIG_TASK_NAME_SIZE - Spcifies that maximum size of a CONFIG_TASK_NAME_SIZE - Specifies that maximum size of a
task name to save in the TCB. Useful if scheduler task name to save in the TCB. Useful if scheduler
instrumentation is selected. Set to zero to disable. instrumentation is selected. Set to zero to disable.
CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY - CONFIG_START_YEAR, CONFIG_START_MONTH, CONFIG_START_DAY -
@@ -194,7 +206,7 @@ defconfig -- This is a configuration file similar to the Linux
Allow for architecture optimized implementations Allow for architecture optimized implementations
The architecture can provide optimized versions of the The architecture can provide optimized versions of the
following to improve sysem performance following to improve system performance
CONFIG_ARCH_MEMCPY, CONFIG_ARCH_MEMCMP, CONFIG_ARCH_MEMMOVE CONFIG_ARCH_MEMCPY, CONFIG_ARCH_MEMCMP, CONFIG_ARCH_MEMMOVE
CONFIG_ARCH_MEMSET, CONFIG_ARCH_STRCMP, CONFIG_ARCH_STRCPY CONFIG_ARCH_MEMSET, CONFIG_ARCH_STRCMP, CONFIG_ARCH_STRCPY
@@ -282,12 +294,12 @@ Supported Boards
configs/sim configs/sim
A user-mode port of NuttX to the x86 Linux platform is available. A user-mode port of NuttX to the x86 Linux platform is available.
The purpose of this port is primarily to support OS feature developement. The purpose of this port is primarily to support OS feature development.
This port does not support interrupts or a real timer (and hence no This port does not support interrupts or a real timer (and hence no
round robin scheduler) Otherwise, it is complete. round robin scheduler) Otherwise, it is complete.
NOTE: This target will not run on Cygwin probably for many reasons but NOTE: This target will not run on Cygwin probably for many reasons but
first off because it uses some of the same symbols as does cygwind.dll. first off because it uses some of the same symbols as does cygwin.dll.
configs/c5471evm configs/c5471evm
This is a port to the Spectrum Digital C5471 evaluation board. The This is a port to the Spectrum Digital C5471 evaluation board. The
@@ -324,7 +336,7 @@ configs/pjrc-8051
configs/z16f2800100zcog configs/z16f2800100zcog
z16f Microncontroller. This port use the Zilog z16f2800100zcog z16f Microncontroller. This port use the Zilog z16f2800100zcog
development kit and the Zilog ZDS-II Windows command line tools. The development kit and the Zilog ZDS-II Windows command line tools. The
development envirnoment is Cygwin under WinXP. development environment is Cygwin under WinXP.
configs/z80zim configs/z80zim
z80 Microcontroller. This port uses a Z80 instruction set simulator. z80 Microcontroller. This port uses a Z80 instruction set simulator.
@@ -341,14 +353,15 @@ Configuring NuttX
Configuring NuttX requires only copying Configuring NuttX requires only copying
configs/<board-name>/Make.def to ${TOPDIR}/Make.defs configs/<board-name>/<config-dir>/Make.def to ${TOPDIR}/Make.defs
configs/<board-name>/setenv.sh to ${TOPDIR}/setenv.sh configs/<board-name>/<config-dir>/setenv.sh to ${TOPDIR}/setenv.sh
configs/<board-name>/defconfig to ${TOPDIR}/.config configs/<board-name>/<config-dir>/defconfig to ${TOPDIR}/.config
There is a script that automates these steps. The following steps will tools/configure.sh
accomplish the same configuration: There is a script that automates these steps. The following steps will
accomplish the same configuration:
cd tools cd tools
./configure.sh <board-name> ./configure.sh <board-name>/<config-dir>
+18 -6
View File
@@ -4,15 +4,27 @@ README.txt
ZDS-II Compiler Versions ZDS-II Compiler Versions
^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^
The ZDS-II version 4.10.2 will not compiler NuttX. It reports "internal 4.10.2
errors" on some of the files. Upgreads to ZDS-II are available for download The ZDS-II version 4.10.2 will not compile NuttX. It reports "internal
from the Zilog website: http://www.zilog.com/software/zds2.asp errors" on some of the files. Upgrades to ZDS-II are available for
download from the Zilog website: http://www.zilog.com/software/zds2.asp
Thusfar, I have encountered no insolvable problems with the newer 4.11.0 4.11.0
version of the toolchain. NuttX compiles correctly with the newer 4.11.0 version of the ZDS-II
toolchain. However, I have found a few issues:
- The code will not run without the -reduceopt option. There is,
apparently, some optimization related issue. This issue has not
been analyzed as of this writing.
- Not all NuttX logic will not run with the -regvars option. There is
at least one failure that has been reported to ZiLOG as incident 81400.
- The Pascal add-on interpreter includes a large switch statement and
exposes another compiler problem. This is reported as incident 81459.
If you use any version of ZDS-II other than 4.11.0 or if you install ZDS-II If you use any version of ZDS-II other than 4.11.0 or if you install ZDS-II
at anly location other than the default location, you will have to modify at any location other than the default location, you will have to modify
two files: (1) configs/z16f2800100zcog/*/setenv.sh and (2) two files: (1) configs/z16f2800100zcog/*/setenv.sh and (2)
configs/z16f2800100zcog/*/Make.defs. configs/z16f2800100zcog/*/Make.defs.
+1 -1
View File
@@ -6,7 +6,7 @@ The instruction set emulator can be found in the NuttX CVS at
http://nuttx.cvs.sourceforge.net/nuttx/misc/sims/z80sim http://nuttx.cvs.sourceforge.net/nuttx/misc/sims/z80sim
The SDCC toolchain is available from http://sdcc.sourceforge.net/. All The SDCC toolchain is available from http://sdcc.sourceforge.net/. All
testing has been performed using verison 2.6.0 of the SDDC toolchain. testing has been performed using version 2.6.0 of the SDCC toolchain.
Configuring NuttX Configuring NuttX
^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
+1 -1
View File
@@ -26,7 +26,7 @@ examples/ostest
examples/nsh examples/nsh
^^^^^^^^^^^^ ^^^^^^^^^^^^
This directory containst the NuttShell (NSH). This is a simple This directory contains the NuttShell (NSH). This is a simple
shell-like application. With some additional development, NSH will shell-like application. With some additional development, NSH will
someday be a great NuttX application debugger. At present, NSH someday be a great NuttX application debugger. At present, NSH
supports the following commands: supports the following commands: