24c887a66c
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@50 42af7a65-404d-4744-a932-0658087f49c3
142 lines
4.5 KiB
HTML
142 lines
4.5 KiB
HTML
<html>
|
|
<head>
|
|
<title>NuttX</title>
|
|
</head>
|
|
<body background="backgd.gif">
|
|
<hr>
|
|
<hr>
|
|
<center><h1><i>Under Construction</i></h1></center>
|
|
<hr>
|
|
<hr>
|
|
<h1>Overview</h1>
|
|
<p>
|
|
<b>Goals</b>.
|
|
Nuttx is a real timed embedded operating system (RTOS).
|
|
Its goals are:
|
|
<p>
|
|
<ol>
|
|
<li><b>Small Footprint</b></li>
|
|
<p>
|
|
Usable in all but the tightest micro-controller environments,
|
|
The focus is on the tiny-to-small, deeply embedded environment.
|
|
</p>
|
|
<li><b>Rich Feature OS Set</b></li>
|
|
<p>
|
|
The goal is to provide most standard POSIX OS interfaces to support
|
|
a rich multi-threaded development environment.
|
|
</p>
|
|
NON-GOALS: (1) It is not a goal to provide OS subsystems such
|
|
as network or USB (but these could obviously be added).
|
|
(2) There is no MMU-based support for processes.
|
|
At present, NuttX assumes a flat address space.
|
|
</p>
|
|
<li><b>Highly Scalable</b></li>
|
|
<p>
|
|
Fully scalable from tiny (8-bit) to moderate embedded (32-bit).
|
|
Scalability with rich feature set is accomplished with:
|
|
Many tiny source files, link from static libraries, highly configurable, use of
|
|
weak symbols when available.
|
|
</p>
|
|
<li><b>Standards Compliance</b></li>
|
|
<p>
|
|
NuttX strives to achieve a high degree of standards compliance.
|
|
The primary governing standards are POSIX and ANSI standards.
|
|
Additional standard APIs from Unix and other common RTOS's are
|
|
adopted for functionality not available under these standards
|
|
or for functionaly that is not appropriate for the deeply-embedded
|
|
RTOS (such as <code>fork()</code>).
|
|
</p>
|
|
<p>
|
|
Because of this standards conformance, software developed under other
|
|
standard OSs (such as Linux) should port easily to NuttX.
|
|
</p>
|
|
<li><b>Real-Time</b></li>
|
|
<p>
|
|
Fully pre-emptible, fixed priority and round-robin scheduling.
|
|
</p>
|
|
<li><b>Totally Open</b></li>
|
|
<p>
|
|
Non-restrictive BSD license.
|
|
</p>
|
|
</ol>
|
|
|
|
<h1>Downloads</h1>
|
|
|
|
<p>
|
|
The initial release of NuttX (nuttx-0.1.0) is avalable for download
|
|
from the <a href="http://sourceforge.net/project/showfiles.php?group_id=189573">SourceForge</a>
|
|
website.
|
|
</p>
|
|
|
|
<h1>Supported Platforms</h1>
|
|
|
|
<ul>
|
|
<li><b>Linux User Mode</b></li>
|
|
<p>
|
|
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.
|
|
</p>
|
|
<p>
|
|
STATUS: Does not support interrupts but is otherwise fully functional.
|
|
</p>
|
|
<li><b>TI TMS320C5471</b> (also called <b>TMS320DM180</b>).</li>
|
|
<p>
|
|
NuttX operates on the ARM7 of this dual core processor.
|
|
This port uses the <a href="http://www.spectrumdigital.com/">Spectrum Digital</a>
|
|
evaluation board with a GNU arm-elf toolchain*.
|
|
</p>
|
|
<p>
|
|
STATUS: This port is complete, verified, and included in the initial NuttX
|
|
release.
|
|
</p>
|
|
<li><b>8051 Microcontroller</b></li>
|
|
<p>
|
|
This port uses the <a href="http://www.pjrc.com/">PJRC</a> 87C52 development system
|
|
and the <a href="http://sdcc.sourceforge.net/">SDCC</a> toolchain.
|
|
</p>
|
|
<p>
|
|
STATUS: This port will require a few more weeks before it is ready for prime time.
|
|
</p>
|
|
<li><b>Other ports</b></li>
|
|
<p>
|
|
There are partial ports for the TI TMS320DM270 and for MIPS.
|
|
</p>
|
|
</ul>
|
|
|
|
<blockquote>* A highly modified <a href="http://buildroot.uclibc.org/">buildroot</a>
|
|
is available that be used to build a NuttX-compatible arm-elf toolchain.</blockquote>
|
|
|
|
<h1>Memory Footprint</h1>
|
|
|
|
<p><b>C5471 (Arm7)</b>
|
|
The build for this ARM7 target that includes most of the OS features and
|
|
a broad range of OS tests. The size of this executable as given by the
|
|
Linux <tt>size</tt> command is:
|
|
</p>
|
|
<pre>
|
|
text data bss dec hex filename
|
|
53272 428 3568 57268 dfb4 nuttx
|
|
</pre>
|
|
<p><b>87C52</b>
|
|
A reduced functionality OS test for the 8051 target requires only
|
|
about 18Kb (see <a href="codesize-070301.xls">spreadsheet</a> for details).
|
|
</p>
|
|
|
|
<h1>Licensing</h1>
|
|
|
|
<p>NuttX is available under the highly permissive
|
|
<a href="http://en.wikipedia.org/wiki/BSD_license">BSD license</a>.
|
|
Other than some fine print that you agree to respect the copyright
|
|
you should feel absolutely free to use NuttX in any environment and
|
|
without any concern for jeopardizing any proprietary software that
|
|
you may link with it.</p>
|
|
|
|
<h1>Other Documentation</h1>
|
|
|
|
<li><a href="NuttxUserGuide.html">User Guide</li>
|
|
<li><a href="NuttxPortingGuide.html">Porting Guide</li>
|
|
|
|
</body>
|
|
</html>
|
|
|