2007-02-22 02:50:30 +01:00
|
|
|
<html>
|
|
|
|
<head>
|
|
|
|
<title>NuttX</title>
|
|
|
|
</head>
|
|
|
|
<body background="backgd.gif">
|
2007-03-15 04:00:29 +01:00
|
|
|
<hr><hr>
|
|
|
|
<table width ="100%">
|
|
|
|
<tr align="center" bgcolor="#e4e4e4">
|
|
|
|
<td>
|
|
|
|
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
|
2008-12-05 00:32:06 +01:00
|
|
|
<p>Last Updated: December 4, 2008</p>
|
2007-03-15 04:00:29 +01:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
<hr><hr>
|
|
|
|
<table width ="100%">
|
|
|
|
<tr bgcolor="#e4e4e4">
|
|
|
|
<td>
|
2007-03-14 19:58:21 +01:00
|
|
|
<h1>Table of Contents</h1>
|
2007-03-15 04:00:29 +01:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<center><table width ="80%">
|
|
|
|
<tr>
|
|
|
|
<td>
|
|
|
|
<table>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td>
|
|
|
|
<a href="#overview">Overview</a>.<br>
|
2008-12-05 01:42:37 +01:00
|
|
|
What is NuttX? Look at all those files and features... How can it be a tiny OS?
|
2008-01-08 23:11:00 +01:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td>
|
|
|
|
<a href="#downloads">Downloads</a>.<br>
|
|
|
|
Where can I get NuttX? What is the current development status?
|
|
|
|
</td>
|
2007-03-15 04:00:29 +01:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td>
|
|
|
|
<a href="#platforms">Supported Platforms</a>.<br>
|
|
|
|
What target platforms has NuttX been ported to?
|
|
|
|
</td>
|
2007-03-15 04:00:29 +01:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:53:22 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td>
|
|
|
|
<a href="#environments">Development Environments</a>.<br>
|
|
|
|
What kinds of host cross-development platforms can be used with NuttX?
|
|
|
|
</td>
|
2007-03-15 04:00:29 +01:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td>
|
|
|
|
<a href="#footprint">Memory Footprint</a>.<br>
|
|
|
|
Just how big is it? Do I have enough memory to use NuttX?
|
|
|
|
</td>
|
2007-03-15 04:00:29 +01:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td>
|
|
|
|
<a href="#licensing">Licensing</a>.<br>
|
|
|
|
Are there any licensing restrictions for the use of NuttX? (Almost none)
|
|
|
|
Will there be problems if I link my proprietary code with NuttX? (No)
|
|
|
|
</td>
|
2007-03-15 04:00:29 +01:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td>
|
|
|
|
<a href="#history">Release History</a><br>
|
|
|
|
What has changed in the last release of NuttX?
|
|
|
|
What unreleased changes are pending in CVS?
|
|
|
|
</td>
|
2007-03-15 04:00:29 +01:00
|
|
|
</tr>
|
2007-12-13 17:52:37 +01:00
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td>
|
|
|
|
<a href="#TODO">Bugs, Issues, <i>Things-To-Do</i></a>.<br>
|
|
|
|
Software is never finished nor ever tested well enough.
|
2008-01-08 23:19:32 +01:00
|
|
|
(Do you want to help develop NuttX? If so, send me an email).
|
2008-01-08 23:11:00 +01:00
|
|
|
</td>
|
2007-12-13 17:52:37 +01:00
|
|
|
</tr>
|
2007-03-15 04:00:29 +01:00
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td>
|
|
|
|
<a href="#documentation">Other Documentation</a>.<br>
|
|
|
|
What other NuttX documentation is available?
|
|
|
|
</td>
|
2007-03-15 04:00:29 +01:00
|
|
|
</tr>
|
2007-12-05 02:02:45 +01:00
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td>
|
|
|
|
<a href="#trademarks">Trademarks</a>.<br>
|
|
|
|
Some of the words used in this document belong to other people.
|
|
|
|
</td>
|
2007-12-05 02:02:45 +01:00
|
|
|
</tr>
|
2007-03-15 04:00:29 +01:00
|
|
|
</table>
|
|
|
|
</td>
|
2008-09-04 02:04:52 +02:00
|
|
|
</tr>
|
2007-03-15 04:00:29 +01:00
|
|
|
</table></center>
|
|
|
|
|
|
|
|
<table width ="100%">
|
|
|
|
<tr bgcolor="#e4e4e4">
|
|
|
|
<td>
|
|
|
|
<a name="overview"><h1>Overview</h1></a>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
2007-02-22 02:50:30 +01:00
|
|
|
<p>
|
2007-03-09 20:17:40 +01:00
|
|
|
<b>Goals</b>.
|
2007-02-22 02:50:30 +01:00
|
|
|
Nuttx is a real timed embedded operating system (RTOS).
|
|
|
|
Its goals are:
|
|
|
|
<p>
|
2007-03-15 04:00:29 +01:00
|
|
|
<center><table width="90%">
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-03-15 04:00:29 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Small Footprint</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
2007-03-09 20:17:40 +01:00
|
|
|
<p>
|
|
|
|
Usable in all but the tightest micro-controller environments,
|
|
|
|
The focus is on the tiny-to-small, deeply embedded environment.
|
|
|
|
</p>
|
2007-03-15 04:00:29 +01:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-03-15 04:00:29 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Rich Feature OS Set</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
2007-03-09 20:17:40 +01:00
|
|
|
<p>
|
2007-12-05 02:02:45 +01:00
|
|
|
The goal is to provide implementations of most standard POSIX OS interfaces
|
|
|
|
to support a rich, multi-threaded development environment for deeply embedded
|
2007-05-09 02:06:22 +02:00
|
|
|
processors.
|
2007-03-09 20:17:40 +01:00
|
|
|
</p>
|
2007-05-09 02:06:22 +02:00
|
|
|
NON-GOALS: (1) It is not a goal to provide the rich level of OS
|
|
|
|
features like those provided with Linux.
|
|
|
|
Small footprint is more important than features.
|
|
|
|
Standard compliance is more important than small footprint.
|
2007-03-09 20:17:40 +01:00
|
|
|
(2) There is no MMU-based support for processes.
|
|
|
|
At present, NuttX assumes a flat address space.
|
|
|
|
</p>
|
2007-03-15 04:00:29 +01:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-03-15 04:00:29 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Highly Scalable</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
2007-03-09 20:17:40 +01:00
|
|
|
<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>
|
2007-03-15 04:00:29 +01:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-03-15 04:00:29 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Standards Compliance</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
2007-03-09 20:17:40 +01:00
|
|
|
<p>
|
|
|
|
NuttX strives to achieve a high degree of standards compliance.
|
2007-12-05 02:27:17 +01:00
|
|
|
The primary governing standards are POSIX and ANSI standards.
|
2007-03-09 20:17:40 +01:00
|
|
|
Additional standard APIs from Unix and other common RTOS's are
|
|
|
|
adopted for functionality not available under these standards
|
2008-01-08 23:19:32 +01:00
|
|
|
or for functionality that is not appropriate for the deeply-embedded
|
2007-03-09 20:17:40 +01:00
|
|
|
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>
|
2007-03-15 04:00:29 +01:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-03-15 04:00:29 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Real-Time</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
2007-03-09 20:17:40 +01:00
|
|
|
<p>
|
|
|
|
Fully pre-emptible, fixed priority and round-robin scheduling.
|
|
|
|
</p>
|
2007-03-15 04:00:29 +01:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-03-15 04:00:29 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Totally Open</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
2007-03-09 20:17:40 +01:00
|
|
|
<p>
|
|
|
|
Non-restrictive BSD license.
|
|
|
|
</p>
|
2007-03-15 04:00:29 +01:00
|
|
|
</tr>
|
|
|
|
</table></center>
|
2007-02-22 02:50:30 +01:00
|
|
|
|
2007-12-05 02:02:45 +01:00
|
|
|
<p>
|
|
|
|
<b>Feature Set</b>.
|
|
|
|
Key features of NuttX include:
|
|
|
|
<p>
|
|
|
|
<center><table width="90%">
|
|
|
|
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-12-05 02:02:45 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Standards Compliant Core Task Management</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>Modular, micro-kernel</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>Fully pre-emptible.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>Naturally scalable.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
2008-09-08 02:00:25 +02:00
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<li>Highly configurable.</li>
|
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
2007-12-05 02:02:45 +01:00
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-10 18:41:40 +01:00
|
|
|
<li>Easily extensible to new processor architectures, SoC architecture, or board architectures.
|
|
|
|
A <a href="NuttxPortingGuide.html">Porting Guide</a> is in development.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>FIFO and round-robin scheduling.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>Realtime, deterministic.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>POSIX/ANSI-like task controls, named message queues, counting semaphores, clocks/timers, signals, pthreads, environment variables, filesystem.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>VxWorks-like task management and watchdog timers.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>BSD socket interface.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>Extensions to manage pre-emption.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>Well documented in the NuttX <a href="NuttxUserGuide.html">User Guide</a>.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-12-05 02:02:45 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>File system</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>Tiny in-memory, root pseudo-file-system.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>Supports character and block drivers.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2008-10-25 00:42:28 +02:00
|
|
|
<li>Network, USB (device), serial, CAN, driver architecture.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
2008-09-08 02:00:25 +02:00
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<li>RAMDISK, pipes, FIFO, <code>/dev/null</code>, <code>/dev/zero</code> drivers.</li>
|
|
|
|
</p>
|
|
|
|
</tr>
|
2007-12-05 02:02:45 +01:00
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>Mount-able volumes. Bind mountpoint, filesystem, and block device driver.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2008-09-10 21:29:24 +02:00
|
|
|
<li>FAT12/16/32 filesystem support.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
2008-10-28 18:40:11 +01:00
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<li>Generic driver for SPI-based MMC/SD cards.</li>
|
|
|
|
</p>
|
|
|
|
</tr>
|
2008-09-10 21:29:24 +02:00
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<li>ROMFS filesystem support.</li>
|
|
|
|
</p>
|
|
|
|
</tr>
|
2008-10-25 00:42:28 +02:00
|
|
|
|
2007-12-05 02:02:45 +01:00
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-12-05 02:02:45 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>C Library</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>Fully integrated into the OS.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-12-05 02:02:45 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Networking</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>TCP/IP, UDP, ICMP stacks.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>Small footprint (based on uIP).</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2007-12-05 16:12:38 +01:00
|
|
|
<li>BSD compatible socket layer.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2008-09-08 02:00:25 +02:00
|
|
|
<li>Networking utilities (DHCP, SMTP, TELNET, TFTP, HTTP)</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
2008-10-10 20:14:24 +02:00
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>USB Device Support</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<li><i>Gadget</i>-like architecture for USB device controller drivers and device-dependent USB class drivers.</li>
|
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<li>USB device controller drivers available for the NXP LPC214x and TI DM320.</li>
|
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2008-10-28 18:40:11 +01:00
|
|
|
<li>Device-dependent USB class drivers available for USB serial and for USB mass storage.</li>
|
2008-10-10 20:14:24 +02:00
|
|
|
</p>
|
|
|
|
</tr>
|
2008-10-25 00:42:28 +02:00
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2008-12-05 01:42:37 +01:00
|
|
|
<li>Built-in USB trace functionality for USB debug.</li>
|
2008-10-25 00:42:28 +02:00
|
|
|
</p>
|
|
|
|
</tr>
|
2008-10-10 20:14:24 +02:00
|
|
|
|
2008-11-27 04:18:04 +01:00
|
|
|
<tr>
|
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Graphics Support</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<li>Framebuffer drivers.</li>
|
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2008-12-05 01:42:37 +01:00
|
|
|
<li>Graphics library and tiny windowing system under development.</li>
|
2008-11-27 04:18:04 +01:00
|
|
|
</p>
|
|
|
|
</tr>
|
2007-12-05 02:02:45 +01:00
|
|
|
</table></center>
|
|
|
|
|
2008-01-06 22:03:42 +01:00
|
|
|
<p>
|
|
|
|
<b>NuttX Add-Ons</b>.
|
|
|
|
The following packages are available to extend the basic NuttX feature set:
|
2008-12-05 01:42:37 +01:00
|
|
|
</p>
|
2008-01-06 22:03:42 +01:00
|
|
|
<center><table width="90%">
|
|
|
|
|
2008-09-08 02:00:25 +02:00
|
|
|
<tr>
|
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>NuttShell (NSH)</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<li>A small, scalable, bash-like shell for NuttX with rich feature set and small footprint.
|
|
|
|
See the <a href="NuttShell.html">NuttShell User Guide</a>.</li>
|
|
|
|
</p>
|
|
|
|
</tr>
|
|
|
|
|
2008-01-06 22:03:42 +01:00
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-06 22:03:42 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Pascal Compiler with NuttX runtime P-Code interpreter add-on</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<li>The Pascal add-on is available for download from the
|
|
|
|
<a href="http://sourceforge.net/project/showfiles.php?group_id=189573">SourceForge</a>
|
|
|
|
website.</li>
|
|
|
|
</p>
|
2008-12-05 01:42:37 +01:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table></center>
|
|
|
|
|
|
|
|
<p>
|
|
|
|
<b>Look at all those files and features... How can it be a tiny OS?</b>.
|
|
|
|
The NuttX feature list (above) is fairly long and if you look at the NuttX
|
|
|
|
source tree, you will see that there are hundreds of source files comprising
|
2008-12-05 15:04:37 +01:00
|
|
|
NuttX. How can NuttX be a tiny OS with all of that?
|
2008-12-05 01:42:37 +01:00
|
|
|
</p>
|
|
|
|
<center><table width="90%">
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Lots of Features -- More can be smaller!</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
The philosophy behind that NuttX is that lots of features are great... <i>BUT</i>
|
|
|
|
also that if you don't use those features, then you should not have to pay a penalty
|
|
|
|
for the unused features.
|
|
|
|
And, with NuttX, you don't! If you don't use a feature, it will not
|
|
|
|
be included in the final executable binary.
|
|
|
|
You only have to pay the penalty of increased footprint for the features
|
|
|
|
that you actually use.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
Using a variety of technologies, NuttX can scale from the very tiny to
|
|
|
|
the moderate-size system. I have executed NuttX with some simple applications
|
|
|
|
in as little as 32Kb <i>total</i> memory (code and data).
|
|
|
|
On the other hand, I often run richly featured NuttX builds that require
|
|
|
|
memory up to 100Kb.
|
|
|
|
</p>
|
|
|
|
</td>
|
2008-01-06 22:03:42 +01:00
|
|
|
</tr>
|
2008-12-05 01:42:37 +01:00
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Many, many files -- More really is smaller!</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
One may be intimidated by the size NuttX source tree. There are hundreds of source files!
|
|
|
|
How can that be a tiny OS?
|
|
|
|
Actually, the large number of files is one of the tricks to keep NuttX small and
|
|
|
|
as scalable as possible.
|
|
|
|
Most files contain only a single function.
|
|
|
|
Sometimes just one tiny function with only a few lines of code.
|
|
|
|
Why?
|
|
|
|
</p>
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<b>Static Libraries</b>.
|
|
|
|
Because in the NuttX build processed, objects are compiled and saved into
|
|
|
|
<i>static libraries</i> (<i>archives</i>).
|
|
|
|
Then, when the file executable is linked, only the object files that are needed
|
|
|
|
are extracted from the archive and added to the final executable.
|
|
|
|
By having many, many tiny source files, you can assure that no code that you do
|
|
|
|
not execute is ever included in the link.
|
|
|
|
And by having many, tiny source files you have better granularity --
|
|
|
|
if you don't use that tiny function of even just a few lines of code, it will
|
|
|
|
not be included in the binary.
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Other Tricks</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
As mentioned above, the use of many, tiny source files and linking from static
|
|
|
|
libraries keeps the size of NuttX down.
|
|
|
|
Other tricks used in NuttX include:
|
|
|
|
</p>
|
|
|
|
<ul>
|
|
|
|
<li>
|
|
|
|
<b>Configuration Files</b>.
|
|
|
|
Before you build NuttX, you must provide a configuration file that specifies
|
|
|
|
what features you plan to use and which features you do not.
|
|
|
|
This configuration file contains a long list of settings that control
|
|
|
|
what is built into NuttX and what is not.
|
|
|
|
There are hundreds of such settings
|
|
|
|
(see the <a href="NuttxPortingGuide.html#apndxconfigs">NuttX Porting Guide</a>
|
|
|
|
for a partial list that excludes platform specific settings).
|
|
|
|
These many, many configuration options allow NuttX to be highly tuned to
|
|
|
|
meet size requirements.
|
|
|
|
The downside to all of these configuration options is that it greatly
|
|
|
|
complicates the maintenance of NuttX -- but that is my problem, not yours.
|
|
|
|
</li>
|
|
|
|
<li>
|
|
|
|
<b>Weak Symbols</b>
|
|
|
|
The GNU toolchain supports <i>weak</i> symbols and these also help to keep
|
|
|
|
the size of NuttX down.
|
|
|
|
Weak symbols prevent object files from being drawn into the link even if they
|
|
|
|
are accessed from source code.
|
|
|
|
Careful use of weak symbols is another trick for keep unused code out of the
|
|
|
|
final binary.
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
2008-01-06 22:03:42 +01:00
|
|
|
</table></center>
|
|
|
|
|
2007-03-15 04:00:29 +01:00
|
|
|
<table width ="100%">
|
|
|
|
<tr bgcolor="#e4e4e4">
|
|
|
|
<td>
|
|
|
|
<a name="downloads"><h1>Downloads</h1></a>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
2007-03-09 20:17:40 +01:00
|
|
|
|
2008-11-27 04:18:04 +01:00
|
|
|
<p><b>nuttx-0.3.19</b>.
|
|
|
|
The 31<sup>st</sup> release of NuttX (nuttx-0.3.19) is available for download
|
2007-11-23 20:25:39 +01:00
|
|
|
from the <a href="http://sourceforge.net/project/showfiles.php?group_id=189573">SourceForge</a>
|
|
|
|
website.
|
|
|
|
The change log associated with the release is available <a href="#currentrelease">here</a>.
|
2008-01-08 23:19:32 +01:00
|
|
|
Unreleased changes after this release are available in CVS.
|
2007-11-23 20:25:39 +01:00
|
|
|
These unreleased changes are listed <a href="#pendingchanges">here</a>.
|
2007-03-09 20:17:40 +01:00
|
|
|
</p>
|
2008-11-16 15:57:10 +01:00
|
|
|
<p>
|
2008-11-27 04:18:04 +01:00
|
|
|
This release includes the following new feature:
|
2008-11-16 15:57:10 +01:00
|
|
|
<p>
|
2008-11-27 04:18:04 +01:00
|
|
|
<ul>
|
|
|
|
<li>Add <code>poll()</code> and <code>select()</code> APIs that may be used to monitor for data
|
|
|
|
availability on character devices or TCP/IP sockets.
|
|
|
|
</li>
|
|
|
|
<li>Implemented support TCP/IP connection backlog.
|
|
|
|
This allows <code>poll()</code>/<code>select()</code> to wake-up on new connections to a listener socket.
|
|
|
|
</li>
|
|
|
|
<li>Added definition of a framebuffer driver and implement framebuffer drivers for the
|
2008-12-05 01:42:37 +01:00
|
|
|
simulated platform and the TI DM320 (untested as of the initial check-in).
|
2008-11-27 04:18:04 +01:00
|
|
|
</li>
|
|
|
|
<li>Partially developed a graphics framework based on the framebuffer drivers, however,
|
|
|
|
this will not be ready for use for a few more release.
|
2008-12-05 01:42:37 +01:00
|
|
|
Currently this includes only a few color conversion routines and some rasterizing functions.
|
2008-11-27 04:18:04 +01:00
|
|
|
A tiny windowing system is under development but not ready for check-in yet.
|
|
|
|
<li>Added support for fixed precision math.
|
|
|
|
</li>
|
|
|
|
<li>Added support for outgoing multicast packets.
|
|
|
|
</li>
|
|
|
|
</ul>
|
2008-10-10 20:14:24 +02:00
|
|
|
<p>
|
2008-11-16 15:57:10 +01:00
|
|
|
Several bugs were fixed, the most important of which are:
|
2008-10-10 20:14:24 +02:00
|
|
|
</p>
|
2008-11-27 04:18:04 +01:00
|
|
|
<li>Fixed an important bug in the TCP/IP buffering logic.
|
|
|
|
When TCP/IP read-ahead is enabled and not recv() is in-place when a TCP/IP packet is received,
|
|
|
|
the packet is placed into a read-ahead buffer.
|
|
|
|
However, the old contents of the read-ahead buffer were not being cleared and old data would
|
|
|
|
contaminate the newly received buffer.
|
|
|
|
</li>
|
|
|
|
<li>Changed the behavior of the serial driver read.
|
|
|
|
It now returns data as it is available rather than waiting for the full requested read size.
|
|
|
|
This makes functions like <code>fgetc()</code> work much more smoothly.
|
|
|
|
</li>
|
2008-11-16 15:57:10 +01:00
|
|
|
<p>
|
2008-11-27 04:18:04 +01:00
|
|
|
These changes were verified only on the Neuros OSD (ARM) and the Linux simulator using a
|
|
|
|
Linux development environment.
|
2008-11-16 15:57:10 +01:00
|
|
|
Please report any errors to me.
|
2008-01-08 05:48:36 +01:00
|
|
|
</p>
|
2007-03-09 20:17:40 +01:00
|
|
|
|
2007-03-15 04:00:29 +01:00
|
|
|
<table width ="100%">
|
|
|
|
<tr bgcolor="#e4e4e4">
|
|
|
|
<td>
|
|
|
|
<a name="platforms"><h1>Supported Platforms</h1></a>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
2007-02-22 02:50:30 +01:00
|
|
|
|
2007-03-15 04:00:29 +01:00
|
|
|
<center><table width="90%">
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
2007-03-15 04:00:29 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Linux User Mode</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
2007-03-09 20:17:40 +01:00
|
|
|
<p>
|
2008-11-07 01:28:42 +01:00
|
|
|
A user-mode port of NuttX to the x86 Linux/Cygwin platform is available.
|
2008-01-08 23:19:32 +01:00
|
|
|
The purpose of this port is primarily to support OS feature development.
|
2007-03-09 20:17:40 +01:00
|
|
|
</p>
|
|
|
|
<p>
|
2007-03-16 23:24:52 +01:00
|
|
|
<b>STATUS:</b>
|
|
|
|
Does not support interrupts but is otherwise fully functional.
|
2007-03-09 20:17:40 +01:00
|
|
|
</p>
|
2007-03-15 04:00:29 +01:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
2007-03-15 04:00:29 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
2007-03-16 23:24:52 +01:00
|
|
|
<b>ARM7TDMI</b>.
|
2007-03-15 04:00:29 +01:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
2007-03-09 20:17:40 +01:00
|
|
|
<p>
|
2008-01-04 14:11:45 +01:00
|
|
|
<b>TI TMS320C5471</b> (also called <b>C5471</b> or <b>TMS320DA180</b> or <b>DA180</b>).
|
2007-03-09 20:17:40 +01:00
|
|
|
NuttX operates on the ARM7 of this dual core processor.
|
|
|
|
This port uses the <a href="http://www.spectrumdigital.com/">Spectrum Digital</a>
|
2008-01-04 14:11:45 +01:00
|
|
|
evaluation board with a GNU arm-elf toolchain* under Linux or Cygwin.
|
2007-03-09 20:17:40 +01:00
|
|
|
</p>
|
|
|
|
<p>
|
2007-03-16 23:24:52 +01:00
|
|
|
<b>STATUS:</b>
|
|
|
|
This port is complete, verified, and included in the initial NuttX release.
|
|
|
|
</p>
|
|
|
|
</td>
|
|
|
|
</tr>
|
2008-11-06 23:27:40 +01:00
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td><hr></td>
|
|
|
|
</tr>
|
2007-04-29 23:50:53 +02:00
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<b>NXP LPC214x</b>.
|
|
|
|
Support is provided for the NXP LPC214x family of processors. In particular,
|
|
|
|
support is provided for the mcu123.com lpc214x evaluation board (LPC2148).
|
2008-09-20 18:24:43 +02:00
|
|
|
This port also used the GNU arm-elf toolchain* under Linux or Cygwin.
|
2007-04-29 23:50:53 +02:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<b>STATUS:</b>
|
2008-11-07 01:28:42 +01:00
|
|
|
This port boots and passes the OS test (examples/ostest).
|
2008-12-05 01:42:37 +01:00
|
|
|
The port is complete and verified. As of NuttX 0.3.17, the port includes:
|
2008-11-07 01:28:42 +01:00
|
|
|
timer interrupts, serial console, USB driver, and SPI-based MMC/SD card
|
2008-12-05 01:42:37 +01:00
|
|
|
support. A verified NuttShell (NSH) configuration is also available.
|
2007-04-29 23:50:53 +02:00
|
|
|
</p>
|
|
|
|
</td>
|
|
|
|
</tr>
|
2008-11-06 23:27:40 +01:00
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td><hr></td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<b>STMicro STR71x</b>.
|
|
|
|
Support is provided for the STMicro STR71x family of processors. In particular,
|
|
|
|
support is provided for the Olimex STR-P711 evaluation board.
|
|
|
|
This port also used the GNU arm-elf toolchain* under Linux or Cygwin.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<b>STATUS:</b>
|
|
|
|
Coding is complete on the basic port (boot logic, system time, serial console),
|
|
|
|
but no testing has been performed due to some problems I am having with my
|
|
|
|
JTAG wiggler and OpenOCD on Linux.
|
|
|
|
</p>
|
|
|
|
</td>
|
|
|
|
</tr>
|
2007-03-16 23:24:52 +01:00
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
2007-03-16 23:24:52 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
2007-11-06 20:58:14 +01:00
|
|
|
<b>ARM926EJS</b>.
|
2007-03-16 23:24:52 +01:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<b>TI TMS320DM320</b> (also called <b>DM320</b>).
|
|
|
|
NuttX operates on the ARM9 of this dual core processor.
|
|
|
|
This port uses the
|
|
|
|
<a href="http://wiki.neurostechnology.com/index.php/Developer_Welcome">Neuros OSD</a>
|
2008-01-04 14:11:45 +01:00
|
|
|
with a GNU arm-elf toolchain* under Linux or Cygwin.
|
2007-03-16 23:24:52 +01:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<b>STATUS:</b>
|
2008-12-05 01:42:37 +01:00
|
|
|
The basic port (timer interrupts, serial ports, network, framebuffer, etc.) is complete.
|
2008-10-10 20:14:24 +02:00
|
|
|
All implemented features have been verified with the exception of the USB device-side
|
|
|
|
driver; that implementation is complete but completely untested.
|
2007-03-09 20:17:40 +01:00
|
|
|
</p>
|
2007-03-15 04:00:29 +01:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
2007-03-15 04:00:29 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>8052 Microcontroller</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
2007-03-09 20:17:40 +01:00
|
|
|
<p>
|
2007-03-16 23:24:52 +01:00
|
|
|
<b>PJRC 87C52 Development Board</b>.
|
2007-03-09 20:17:40 +01:00
|
|
|
This port uses the <a href="http://www.pjrc.com/">PJRC</a> 87C52 development system
|
2008-01-04 14:11:45 +01:00
|
|
|
and the <a href="http://sdcc.sourceforge.net/">SDCC</a> toolchain under Linux or Cygwin.
|
2007-03-09 20:17:40 +01:00
|
|
|
</p>
|
|
|
|
<p>
|
2007-03-16 23:24:52 +01:00
|
|
|
<b>STATUS:</b>
|
|
|
|
This port is complete but not stable with timer interrupts enabled.
|
2007-03-14 19:58:21 +01:00
|
|
|
There seems to be some issue when the stack pointer enters into the indirect IRAM
|
|
|
|
address space during interrupt handling.
|
2007-05-27 20:08:18 +02:00
|
|
|
This architecture has not been built in some time will likely have some compilation
|
|
|
|
problems because of SDCC compiler differences.
|
2007-03-09 20:17:40 +01:00
|
|
|
</p>
|
2007-03-15 04:00:29 +01:00
|
|
|
</td>
|
|
|
|
</tr>
|
2008-11-06 23:27:40 +01:00
|
|
|
<tr>
|
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Renesas/Hitachi SuperH</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<b>SH-1 SH7032</b>.
|
|
|
|
This port uses the Hitachi SH-1 Low-Cost Evaluation Board (SH1_LCEVB1), US7032EVB,
|
|
|
|
with a GNU arm-elf toolchain* under Linux or Cygwin.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<b>STATUS:</b>
|
2008-12-05 01:42:37 +01:00
|
|
|
This port is available as of release 0.3.18 of NuttX. The port is basically complete
|
2008-11-13 21:16:42 +01:00
|
|
|
and many examples run correctly. However, there are remaining instabilities that
|
|
|
|
make the port un-usable. The nature of these is not understood; the behavior is
|
|
|
|
that certain SH-1 instructions stop working as advertised. This could be a silicon
|
|
|
|
problem, some pipeline issue that is not handled properly by the gcc 3.4.5 toolchain
|
|
|
|
(which has very limit SH-1 support to begin with), or perhaps with the CMON debugger.
|
|
|
|
At any rate, I have exhausted all of the energy that I am willing to put into this cool
|
|
|
|
old processor for the time being.
|
2008-11-06 23:27:40 +01:00
|
|
|
</p>
|
|
|
|
</td>
|
|
|
|
</tr>
|
2007-12-31 01:50:09 +01:00
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
2007-12-31 01:50:09 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
2008-01-08 00:13:12 +01:00
|
|
|
<b>Zilog Z16F</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<b>Zilog z16f Microncontroller</b>.
|
|
|
|
This port use the Zilog z16f2800100zcog development kit and the Zilog
|
|
|
|
ZDS-II Windows command line tools.
|
2008-01-08 23:19:32 +01:00
|
|
|
The development environment is Cygwin under WinXP.
|
2008-01-08 00:13:12 +01:00
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<b>STATUS:</b>
|
2008-02-11 18:11:20 +01:00
|
|
|
The initial release of support for the z16f was made available in NuttX version 0.3.7.
|
|
|
|
</p>
|
|
|
|
</td>
|
|
|
|
</tr>
|
2008-03-15 21:04:06 +01:00
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
2008-03-15 21:04:06 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
2008-11-07 01:28:42 +01:00
|
|
|
<b>Zilog eZ80 Acclaim!</b>
|
2008-03-15 21:04:06 +01:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<b>Zilog eZ80Acclaim! Microncontroller</b>.
|
|
|
|
This port uses the ZiLOG ez80f0910200kitg development kit, eZ80F091 part
|
|
|
|
and the Zilog ZDS-II Windows command line tools.
|
|
|
|
The development environment is Cygwin under WinXP.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<b>STATUS:</b>
|
|
|
|
This is a work in progress. Verified ez80 support will be announced in a future NuttX release.
|
|
|
|
</p>
|
|
|
|
</td>
|
|
|
|
</tr>
|
2008-02-11 18:11:20 +01:00
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
2008-02-11 18:11:20 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Zilog Z8Encore!</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<b>Zilog Z8Encore! Microncontroller</b>.
|
2008-03-11 00:37:56 +01:00
|
|
|
This port uses the either:
|
|
|
|
</p>
|
|
|
|
<ul>
|
|
|
|
<li>Zilog z8encore000zco development kit, Z8F6403 part, or</li>
|
|
|
|
<li>Zilog z8f64200100kit development kit, Z8F6423 part</li>
|
|
|
|
</ul>
|
|
|
|
<p>
|
|
|
|
and the Zilog ZDS-II Windows command line tools.
|
2008-02-11 18:11:20 +01:00
|
|
|
The development environment is Cygwin under WinXP.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<b>STATUS:</b>
|
2008-03-15 21:04:06 +01:00
|
|
|
This release has been verified only on the ZiLOG ZDS-II Z8Encore! chip simulation
|
|
|
|
as of nuttx-0.3.9.
|
2008-01-08 00:13:12 +01:00
|
|
|
</p>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 00:13:12 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Zilog Z80</b>
|
2007-12-31 01:50:09 +01:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
<b>Z80 Instruction Set Simulator</b>.
|
|
|
|
This port uses the <a href="http://sdcc.sourceforge.net/">SDCC</a> toolchain
|
2008-01-08 00:13:12 +01:00
|
|
|
under Linux or Cygwin (verified using version 2.6.0).
|
2007-12-31 01:50:09 +01:00
|
|
|
This port has been verified using only a Z80 instruction simulator.
|
|
|
|
That simulator can be found in the NuttX CVS
|
|
|
|
<a href="http://nuttx.cvs.sourceforge.net/nuttx/misc/sims/z80sim/">here</a>.
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
<b>STATUS:</b>
|
2008-01-08 23:19:32 +01:00
|
|
|
This port is complete and stable to the extent that it can be tested
|
2007-12-31 01:50:09 +01:00
|
|
|
using an instruction set simulator.
|
|
|
|
</p>
|
|
|
|
</td>
|
|
|
|
</tr>
|
2007-03-15 04:00:29 +01:00
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
2007-03-15 04:00:29 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Other ports</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
2007-03-09 20:17:40 +01:00
|
|
|
<p>
|
|
|
|
There are partial ports for the TI TMS320DM270 and for MIPS.
|
|
|
|
</p>
|
2007-03-15 04:00:29 +01:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table></center>
|
2007-02-28 02:16:49 +01:00
|
|
|
|
|
|
|
<blockquote>* A highly modified <a href="http://buildroot.uclibc.org/">buildroot</a>
|
2008-11-06 23:27:40 +01:00
|
|
|
is available that may be used to build a NuttX-compatible ELF toolchain under
|
|
|
|
Linux or Cygwin. Configurations are available in that buildroot to support ARM,
|
|
|
|
m68k, m68hc11, m68hc12, and SuperH ports.</blockquote>
|
2007-02-28 02:16:49 +01:00
|
|
|
|
2008-01-08 23:11:00 +01:00
|
|
|
<table width ="100%">
|
|
|
|
<tr bgcolor="#e4e4e4">
|
|
|
|
<td>
|
|
|
|
<a name="environments"><h1>Development Environments</h1></a>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<center><table width="90%">
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Linux + GNU make + GCC/binutils</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
The is the most natural development environment for NuttX.
|
|
|
|
Any version of the GCC/binutils toolchain may be used.
|
|
|
|
There is a highly modified <a href="http://buildroot.uclibc.org/">buildroot</a>
|
|
|
|
available for download from the
|
|
|
|
<a href="http://sourceforge.net/project/showfiles.php?group_id=189573">NuttX SourceForge</a>
|
|
|
|
page.
|
2008-11-06 23:27:40 +01:00
|
|
|
This download may be used to build a NuttX-compatible ELF toolchain under Linux or Cygwin.
|
|
|
|
That toolchain will support ARM, m68k, m68hc11, m68hc12, and SuperH ports.
|
|
|
|
The buildroot CVS may be accessed in the
|
2008-01-08 23:11:00 +01:00
|
|
|
<a href="http://nuttx.cvs.sourceforge.net/nuttx/misc/buildroot/">NuttX CVS</a>.
|
|
|
|
</p>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Linux + GNU make + SDCC</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
Also very usable is the Linux environment using the
|
|
|
|
<a href="http://sdcc.sourceforge.net/">SDCC</a> compiler.
|
|
|
|
The SDCC compiler provides support for the 8051/2, z80, hc08, and other microcontrollers.
|
|
|
|
The SDCC-based logic is less well exercised and you will likely find some compilation
|
|
|
|
issues if you use parts of NuttX with SDCC that have not been well-tested.
|
|
|
|
</p>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Cygwin + GNU make + GCC/binutils</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
This combination works well too.
|
|
|
|
It works just as well as the native Linux environment except
|
|
|
|
that compilation and build times are a little longer.
|
|
|
|
The custom NuttX buildroot referenced above may be build in
|
|
|
|
the Cygwin environment as well.
|
|
|
|
</p>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Cygwin + GNU make + SDCC</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
I have never tried this combination, but it would probably work just fine.
|
|
|
|
</p>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
|
|
|
<b>Cygwin + GNU make + Windows Native Toolchain</b>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
|
|
|
This is a tougher environment.
|
|
|
|
In this case, the Windows native toolchain is unaware of the the
|
|
|
|
Cygwin <i>sandbox</i> and, instead, operates in the native Windows environment.
|
|
|
|
The primary difficulties with this are:
|
|
|
|
</p>
|
|
|
|
<ul>
|
|
|
|
<li>
|
2008-01-08 23:19:32 +01:00
|
|
|
<b>Paths</b>.
|
|
|
|
Full paths for the native toolchain must follow Windows standards.
|
2008-01-08 23:11:00 +01:00
|
|
|
For example, the path <code>/home/my\ name/nuttx/include</code> my have to be
|
|
|
|
converted to something like <code>'C:\cygwin\home\my name\nuttx\include'</code>
|
|
|
|
to be usable by the toolchain.
|
|
|
|
</li>
|
|
|
|
<p>
|
|
|
|
Fortunately, this conversion is done simply using the <code>cygpath</code> utility.
|
|
|
|
</p>
|
|
|
|
<li>
|
|
|
|
<b>Symbolic Links</b>
|
|
|
|
NuttX depends on symbolic links to install platform-specific directories in the build system.
|
|
|
|
On Linux, true symbolic links are used.
|
|
|
|
On Cygwin, emulated symbolic links are used.
|
|
|
|
Unfortunately, for native Windows applications that operate outside of the
|
|
|
|
Cygwin <i>sandbox</i>, these symbolic links cannot be used.
|
|
|
|
</li>
|
|
|
|
<p>
|
|
|
|
The NuttX make system works around this limitation by copying the platform
|
|
|
|
specific directories in place.
|
|
|
|
These copied directories make work a little more complex, but otherwise work well.
|
|
|
|
</p>
|
|
|
|
</ul>
|
|
|
|
<p>
|
|
|
|
At present, on the Zilog Z16F port uses a native Windows toolchain
|
|
|
|
(the Zilog ZDS-II toolchain).
|
|
|
|
</p.
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top"><img height="20" width="20" src="favicon.ico"></td>
|
2008-01-08 23:11:00 +01:00
|
|
|
<td bgcolor="#5eaee1">
|
2008-11-06 23:27:40 +01:00
|
|
|
<b>Other Environments?</b>
|
2008-01-08 23:11:00 +01:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
|
|
|
<td><br></td>
|
|
|
|
<td>
|
|
|
|
<p>
|
2008-01-09 23:53:52 +01:00
|
|
|
The primary environmental dependency of NuttX are (1) GNU make,
|
|
|
|
(2) bash scripting, and (3) Linux utilities (such as sed).
|
2008-01-08 23:11:00 +01:00
|
|
|
If you have other platforms that support GNU make or make
|
|
|
|
utilities that are compatible with GNU make, then it is very
|
2008-01-09 23:53:52 +01:00
|
|
|
likely that NuttX would work in that environment as well (with some
|
|
|
|
porting effort). If GNU make is not supported, then some significant
|
|
|
|
modification of the Make system would be required.
|
2008-01-08 23:11:00 +01:00
|
|
|
</p>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table></center>
|
|
|
|
|
2007-03-15 04:00:29 +01:00
|
|
|
<table width ="100%">
|
|
|
|
<tr bgcolor="#e4e4e4">
|
|
|
|
<td>
|
|
|
|
<a name="footprint"><h1>Memory Footprint</h1></a>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
2007-02-28 02:16:49 +01:00
|
|
|
|
2007-03-15 04:00:29 +01:00
|
|
|
<ul>
|
2007-11-06 20:58:14 +01:00
|
|
|
<p><b>C5471 (ARM7)</b>
|
2007-03-09 18:22:55 +01:00
|
|
|
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
|
2007-03-14 00:03:12 +01:00
|
|
|
Linux <tt>size</tt> command is (3/9/07):
|
2007-03-01 22:05:55 +01:00
|
|
|
</p>
|
2007-03-09 18:22:55 +01:00
|
|
|
<pre>
|
|
|
|
text data bss dec hex filename
|
|
|
|
53272 428 3568 57268 dfb4 nuttx
|
|
|
|
</pre>
|
2007-11-06 20:58:14 +01:00
|
|
|
<p><b>DM320 (ARM9)</b>
|
2007-11-22 00:29:14 +01:00
|
|
|
This build for the ARM9 target includes a significant subset of OS
|
|
|
|
features, a filesystem, Ethernet driver, full TCP/IP, UDP and (minimal)
|
|
|
|
ICMP stacks (via uIP) and a small network test application: (11/8/07,
|
|
|
|
configuration netconfig, examples/nettest)
|
2007-11-06 20:58:14 +01:00
|
|
|
</p>
|
|
|
|
<pre>
|
|
|
|
text data bss dec hex filename
|
2007-11-08 18:12:12 +01:00
|
|
|
49472 296 3972 53740 d1ec nuttx
|
2007-11-06 20:58:14 +01:00
|
|
|
</pre>
|
2007-11-22 00:29:14 +01:00
|
|
|
<p>
|
|
|
|
Another build for the ARM9 target includes a minimal OS feature
|
|
|
|
set, Ethernet driver, full TCP/IP and (minimal) ICMP stacks, and
|
|
|
|
a small webserver: (11/20/07, configuration uipconfig, examples/uip)
|
|
|
|
</p>
|
|
|
|
<pre>
|
|
|
|
text data bss dec hex filename
|
|
|
|
52040 72 4148 56260 dbc4 nuttx
|
|
|
|
</pre>
|
2007-03-09 18:22:55 +01:00
|
|
|
<p><b>87C52</b>
|
2007-03-14 19:58:21 +01:00
|
|
|
A reduced functionality OS test for the 8052 target requires only
|
|
|
|
about 18-19Kb:
|
2007-03-01 22:05:55 +01:00
|
|
|
</p>
|
2007-03-14 19:58:21 +01:00
|
|
|
<pre>
|
|
|
|
Stack starts at: 0x21 (sp set to 0x20) with 223 bytes available.
|
|
|
|
|
|
|
|
Other memory:
|
|
|
|
Name Start End Size Max
|
|
|
|
---------------- -------- -------- -------- --------
|
|
|
|
PAGED EXT. RAM 0 256
|
|
|
|
EXTERNAL RAM 0x0100 0x02fd 510 7936
|
|
|
|
ROM/EPROM/FLASH 0x2100 0x6e55 19798 24384
|
|
|
|
</pre>
|
2007-03-15 04:00:29 +01:00
|
|
|
</ul>
|
2007-02-28 02:16:49 +01:00
|
|
|
|
2007-03-15 04:00:29 +01:00
|
|
|
<table width ="100%">
|
|
|
|
<tr bgcolor="#e4e4e4">
|
|
|
|
<td>
|
|
|
|
<a name="licensing"><h1>Licensing</h1></a>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
2007-02-28 02:16:49 +01:00
|
|
|
|
2007-03-15 04:00:29 +01:00
|
|
|
<ul>
|
|
|
|
<p>
|
|
|
|
NuttX is available under the highly permissive
|
2007-02-28 02:16:49 +01:00
|
|
|
<a href="http://en.wikipedia.org/wiki/BSD_license">BSD license</a>.
|
2007-03-09 20:17:40 +01:00
|
|
|
Other than some fine print that you agree to respect the copyright
|
2007-02-28 02:16:49 +01:00
|
|
|
you should feel absolutely free to use NuttX in any environment and
|
|
|
|
without any concern for jeopardizing any proprietary software that
|
2007-03-15 04:00:29 +01:00
|
|
|
you may link with it.
|
|
|
|
</p>
|
|
|
|
</ul>
|
2007-02-22 02:50:30 +01:00
|
|
|
|
2007-03-15 04:00:29 +01:00
|
|
|
<table width ="100%">
|
|
|
|
<tr bgcolor="#e4e4e4">
|
|
|
|
<td>
|
|
|
|
<a name="history"><h1>Release History</h1></a>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
2007-03-14 19:58:21 +01:00
|
|
|
|
2007-12-13 17:52:37 +01:00
|
|
|
<ul>
|
|
|
|
<p>
|
|
|
|
The current NuttX Change Log is available in CVS <a href="http://nuttx.cvs.sourceforge.net/*checkout*/nuttx/nuttx/ChangeLog">here</a>.
|
|
|
|
ChangeLog snapshots associated with the current release are available below.
|
|
|
|
</p>
|
|
|
|
</ul>
|
|
|
|
|
2007-05-21 19:17:42 +02:00
|
|
|
<center><table width ="80%">
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-05-21 19:17:42 +02:00
|
|
|
<td>
|
2008-02-03 15:03:34 +01:00
|
|
|
<a href="ChangeLog.txt">Change Logs for All NuttX Releases</a><br>
|
2007-05-21 19:17:42 +02:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-05-21 19:17:42 +02:00
|
|
|
<td>
|
2008-02-03 15:03:34 +01:00
|
|
|
<a href="#currentrelease">ChangeLog for Current Releases</a><br>
|
2007-05-21 19:17:42 +02:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-05-21 19:17:42 +02:00
|
|
|
<td>
|
|
|
|
<a href="#pendingchanges">Unreleased Changes</a>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table></center>
|
|
|
|
|
2007-11-28 19:31:33 +01:00
|
|
|
<table width ="100%">
|
|
|
|
<tr bgcolor="#e4e4e4">
|
|
|
|
<td>
|
2007-12-10 18:15:11 +01:00
|
|
|
<a name="currentrelease">ChangeLog for Current Release</a>
|
2007-11-28 19:31:33 +01:00
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<pre><ul>
|
2008-11-27 04:18:04 +01:00
|
|
|
nuttx-0.3.19 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
* Add poll() and select() APIs (in the initial check-in, these work only with character devices)
|
|
|
|
* Add poll() methods to /dev/null, /dev/zero, pipes, fifos, and serial drivers.
|
|
|
|
* Add examples/poll for testing poll() and select()
|
|
|
|
* Fix hostile behavior of getc, fgetc, getchar, etc.: the serial driver was waiting for a
|
|
|
|
full buffer of read data before return. This means that getc would stall when it needed
|
|
|
|
to refill the input buffer. The old behavior (read full blocks) might be useful in other
|
|
|
|
contexts, so it is still available within the driver as a configuration option.
|
|
|
|
* Implement poll() and select() support for TCP/IP sockets
|
|
|
|
* Fixed an important bug in the TCP/IP buffering logic. When TCP/IP read-ahead is enabled
|
|
|
|
and not recv() is in-place when a TCP/IP packet is received, the packet is placed into
|
|
|
|
a read-ahead buffer. However, the old contents of the read-ahead buffer were not being
|
|
|
|
cleared and old data would contaminate the newly received buffer.
|
|
|
|
* Implemented support for connection backlog. The size of the backlog is specified by the
|
|
|
|
second argument of the standard listen() API. Hooks are provided to support poll()/select()
|
|
|
|
waiting for connections, with a subsequent call to accept() to use the backlogged connection.
|
|
|
|
* Fixed a minor bug in accept(). It should allow the address and addresslen values to be NULL
|
|
|
|
* Added first-cut definition for a framebuffer interface (and simulated framebuffer for testing
|
|
|
|
purposes only)
|
|
|
|
* Added fixed precision math support
|
|
|
|
* Added some color converson routines into what may become a real graphics library someday.
|
|
|
|
* Added a framebuffer driver for the DM320 (untested on initial check-in)
|
|
|
|
* Network: add support for outgoing multicast addresses
|
|
|
|
* Added some rasterizers to the graphics library
|
2008-11-16 15:57:10 +01:00
|
|
|
|
|
|
|
pascal-0.1.2 2008-02-10 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
|
|
|
|
|
|
* Add logic to build and link with the ZDS-II toolchain
|
|
|
|
use with the z16f.
|
|
|
|
* Make sure that POFF header structures are aligned
|
|
|
|
* Standardized POFF file format to big-endian
|
|
|
|
* Break up large switch statements to lower complexity
|
|
|
|
and eliminate a compiler bug
|
|
|
|
* Changes so that runtime compiles with SDCC.
|
|
|
|
|
|
|
|
buildroot-0.1.2 2007-11-06 <spudmonkey@racsa.co.cr>
|
|
|
|
|
|
|
|
* Support for m68k-elf and m68hc11 toolchain
|
|
|
|
* Add patch to build older binutils with newer Texinfo version
|
|
|
|
* Add support for SH-1 toolchain
|
|
|
|
</pre></ul>
|
|
|
|
|
|
|
|
<table width ="100%">
|
|
|
|
<tr bgcolor="#e4e4e4">
|
|
|
|
<td>
|
|
|
|
<a name="pendingchanges">Unreleased Changes</a>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<pre><ul>
|
2008-11-27 04:18:04 +01:00
|
|
|
nuttx-0.3.20 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
2008-12-03 21:53:23 +01:00
|
|
|
* Initial release of a tiny windowing system for NuttX
|
2008-11-29 02:19:35 +01:00
|
|
|
* Add fixed precision sin() and cos() (not well tested at initial check-in)
|
2008-11-30 19:52:14 +01:00
|
|
|
* Add an X11-based simulated framebuffer driver
|
|
|
|
* The simulated target now has an option (CONFIG_SIM_WALLTIME) that will let the simulation
|
|
|
|
run in more-or-less realtime.
|
2008-12-03 21:53:23 +01:00
|
|
|
* Added more more extensive window support: frames, toolbars, etc.
|
|
|
|
* Added support for bitmap fonts
|
2008-12-05 00:32:06 +01:00
|
|
|
* Integrated the new font support with a font test in examples/nx
|
2008-09-08 21:14:25 +02:00
|
|
|
|
2008-02-10 15:08:11 +01:00
|
|
|
pascal-0.1.3 2008-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
2008-02-03 15:03:34 +01:00
|
|
|
|
2008-11-06 23:27:40 +01:00
|
|
|
buildroot-0.1.3 2008-xx-xx <spudmonkey@racsa.co.cr>
|
2008-11-06 18:37:16 +01:00
|
|
|
|
2008-11-13 21:16:42 +01:00
|
|
|
* Add support for H8/300 toolchain
|
2007-11-28 19:31:33 +01:00
|
|
|
</pre></ul>
|
|
|
|
|
2007-12-13 17:52:37 +01:00
|
|
|
<table width ="100%">
|
|
|
|
<tr bgcolor="#e4e4e4">
|
|
|
|
<td>
|
|
|
|
<a name="TODO"><h1>Bugs, Issues, <i>Things-To-Do</i></h1></a>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
<p>
|
|
|
|
The current list of NuttX <i>Things-To-Do</i> in CVS <a href="http://nuttx.cvs.sourceforge.net/*checkout*/nuttx/nuttx/TODO">here</a>.
|
|
|
|
A snapshot of the <i>To-Do</i> list associated with the current release are available <a href="TODO.txt">here</a>.
|
|
|
|
</p>
|
|
|
|
</ul>
|
2007-03-15 04:00:29 +01:00
|
|
|
<table width ="100%">
|
|
|
|
<tr bgcolor="#e4e4e4">
|
|
|
|
<td>
|
|
|
|
<a name="documentation"><h1>Other Documentation</h1></a>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
2007-02-22 02:50:30 +01:00
|
|
|
|
2007-03-15 04:00:29 +01:00
|
|
|
<ul><table>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-12-10 18:41:40 +01:00
|
|
|
<td><a href="NuttxUserGuide.html">User Guide</a></td>
|
2007-03-15 04:00:29 +01:00
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-12-10 18:41:40 +01:00
|
|
|
<td><a href="NuttxPortingGuide.html">Porting Guide</a></td>
|
2007-03-15 04:00:29 +01:00
|
|
|
</tr>
|
2008-09-04 02:04:52 +02:00
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2008-09-04 02:04:52 +02:00
|
|
|
<td><a href="NuttShell.html">NuttShell (NSH)</a></td>
|
|
|
|
</tr>
|
2007-12-13 17:52:37 +01:00
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-12-13 17:52:37 +01:00
|
|
|
<td><a href="ChangeLog.txt">Change Log</a></td>
|
|
|
|
</tr>
|
|
|
|
<tr>
|
2008-09-04 17:50:30 +02:00
|
|
|
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
|
2007-12-13 17:52:37 +01:00
|
|
|
<td><a href="TODO.txt">To-Do List</a></td>
|
|
|
|
</tr>
|
2007-03-15 04:00:29 +01:00
|
|
|
</center></ul>
|
2007-02-22 02:50:30 +01:00
|
|
|
|
2007-12-05 02:02:45 +01:00
|
|
|
<small>
|
|
|
|
<table width ="100%">
|
|
|
|
<tr bgcolor="#e4e4e4">
|
|
|
|
<td>
|
|
|
|
<a name="trademarks"><h1>Trademarks</h1></a>
|
|
|
|
</td>
|
|
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
<ul>
|
2007-12-31 16:45:58 +01:00
|
|
|
<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>
|
2008-01-08 00:13:12 +01:00
|
|
|
<li>ZDS, ZNEO, Z16F, Z80, and Zilog are a registered trademark of Zilog, Inc.</li>
|
2007-12-05 02:02:45 +01:00
|
|
|
</ul>
|
|
|
|
<p>
|
2007-12-05 02:27:17 +01:00
|
|
|
NOTE: NuttX is <i>not</i> licensed to use the POSIX trademark. NuttX uses the POSIX
|
|
|
|
standard as a development guideline only.
|
2007-12-05 02:02:45 +01:00
|
|
|
</p>
|
|
|
|
</small>
|
|
|
|
|
2007-02-22 02:50:30 +01:00
|
|
|
</body>
|
|
|
|
</html>
|
|
|
|
|