mirror of
https://github.com/apache/nuttx.git
synced 2026-06-06 08:36:24 +08:00
Prep for 0.4.11 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2072 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
@@ -839,7 +839,7 @@
|
|||||||
* net/accept.c: Fix bug in accept(). The logic expected parts of the
|
* net/accept.c: Fix bug in accept(). The logic expected parts of the
|
||||||
return address structure to be initialized or it would return an error.
|
return address structure to be initialized or it would return an error.
|
||||||
|
|
||||||
0.4.11 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
0.4.11 2009-09-16 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||||
|
|
||||||
* fs/fs_read.c and fs/fs_write.c. read() and write() to socket is the
|
* fs/fs_read.c and fs/fs_write.c. read() and write() to socket is the
|
||||||
same as recv() and send() with flags = 0. Fixed!
|
same as recv() and send() with flags = 0. Fixed!
|
||||||
@@ -878,4 +878,19 @@
|
|||||||
to new tasks.
|
to new tasks.
|
||||||
* net/net_clone.c. Similarly, after a socket is cloned, its reference count
|
* net/net_clone.c. Similarly, after a socket is cloned, its reference count
|
||||||
was not being initialized.
|
was not being initialized.
|
||||||
|
* lib/lib_strstr.c. Improperly incremented pointer could cause comparison
|
||||||
|
failures.
|
||||||
|
* net/. Connection reference count must always be set to zero before calling
|
||||||
|
uip_tcpfree() or it could trigger a DEBUGASSERT that verifies that the
|
||||||
|
reference count is zero before freeing a connection structure.
|
||||||
|
* net/uip/uip_listen.c. uip_accept() consulted the wrong list to find the
|
||||||
|
listener on a socket. The previous logic worked most of the time, but
|
||||||
|
occasionally picked the wrong listener.
|
||||||
|
* net/net_close.c and net/net_sockets.c. Sockets were not being closed
|
||||||
|
when a task exits. If many server tasks are created and exit without closing
|
||||||
|
sockets (such as with CGI tasks), then eventually, you will run out of sockets.
|
||||||
|
* netutils/thttpd. Basic functionality of THTTPD is complete. This includes
|
||||||
|
serving up files from a file system and executing NXFLAT-based CGI programs
|
||||||
|
and pipe the stdout back to the HTTP client.
|
||||||
|
|
||||||
|
0.4.12 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||||
|
|||||||
+66
-87
@@ -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: September 15, 2009</p>
|
<p>Last Updated: September 16, 2009</p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@@ -706,32 +706,32 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<p><b>nuttx-0.4.10</b>.
|
<p><b>nuttx-0.4.11</b>.
|
||||||
This 42<sup>nd</sup> release of NuttX (nuttx-0.4.10) was made on August 8, 2009
|
|
||||||
and is available for download from the
|
<p>
|
||||||
<a href="http://sourceforge.net/project/showfiles.php?group_id=189573">SourceForge</a>
|
This 43<sup>rd</sup> release of NuttX was made on September 16, 2009 and is available for download from the
|
||||||
website.
|
<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>.
|
The change log associated with the release is available <a href="#currentrelease">here</a>.
|
||||||
Unreleased changes after this release are available in CVS.
|
Unreleased changes after this release are available in CVS.
|
||||||
These unreleased changes are listed <a href="#pendingchanges">here</a>.
|
These unreleased changes are listed <a href="#pendingchanges">here</a>.
|
||||||
|
This release of NuttX incorporates the verified port of Jeff Poskanzer's <a href="http://acme.com/software/thttpd">THTTPD</a> HTTP server.
|
||||||
|
Many of the key features of THTTPD have been tested on the Micromint Eagle-100 development board (Cortex-M3).
|
||||||
|
These tests verify:
|
||||||
</p>
|
</p>
|
||||||
The changes in thsi release focus on the port of Jeff Poskanzer's
|
<ul>
|
||||||
<a href="http://acme.com/software/thttpd/">THTTPD</a> to NuttX.
|
<li>Serving of files from any file system, and </li>
|
||||||
Do to limited time to work on NuttX, that port is still not fully functional.
|
<li>Execution of CGI executable.
|
||||||
However, numerous related bug-fixes and functional additions for THTTPD were
|
This release supports execution of <a href="http://www.nuttx.org/NuttXNxFlat.html">NXFLAT executables</a> residing on a ROMFS file system.
|
||||||
added:
|
</ul>
|
||||||
<ul>
|
<p>
|
||||||
<li>Several new standard C-library functions (<code>fileno</code>, <code>strstr</code>,
|
A standard CGI interface is used: Information is pasted to the CGI program via POST commands and via environment variables.
|
||||||
<code>strpbrk</code>, <code>fcntl</code>).</li>
|
CGI socket I/O is redirected to <code>stdin</code> and <code>stdout</code> so that the CGI program only need to <code>printf()</code> to send its content back to the HTTP client.
|
||||||
<li>Improved and extended timing APIs (<code>mktime</code>, <code>gmtime</code>, <code>gmtime_r</code>,
|
</p>
|
||||||
<code>gettimeofday</code>, <code>localtime</code>, <code>localtime_r</code>, and
|
<p>
|
||||||
<code>strftime</code>)</li>
|
Another value to this THTTPD integration effort has been that THTTPD has provided a very good test bed for finding NuttX networking bugs.
|
||||||
<li>Networking enhancements: <code>recvfrom</code> and <code>accept</code> now work with non-blocking
|
Several very critical networking bugs have been fixed with this 0.4.11 release (see the <a href="#currentrelease">ChangeLog</a> for details).
|
||||||
sockets.</li>
|
Networking throughput has also been greatly improved.
|
||||||
<li><a href="NuttXNxFlat.html">NXFLAT</a> extensions (<code>exec</code>)</li>
|
Anyone using NuttX networking should consider upgrading to this release.
|
||||||
<li>Pattern matching logic.</li>
|
|
||||||
<li>And miscellaneous bug fixes (see the <a href="#currentrelease">ChangeLog</a> for a complete list).</li>
|
|
||||||
</ul>
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<table width ="100%">
|
<table width ="100%">
|
||||||
@@ -1435,70 +1435,6 @@ Other memory:
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<ul><pre>
|
|
||||||
nuttx-0.4.10 2009-08-08 Gregory Nutt <spudmonkey@racsa.co.cr>
|
|
||||||
|
|
||||||
* lib/: Added some basic regex-subset, pattern matching functions
|
|
||||||
* lib/: Greatly simplified mktime() and gmtime_r(). The Gregorian and
|
|
||||||
Julian time calculations were interesting, but not necessary in the
|
|
||||||
typical embeddd system.
|
|
||||||
* sched/: Added gettimeofday(). This implementation is simply a thin
|
|
||||||
wrapper around clock_gettimer().
|
|
||||||
* lib/: Add gmtime(), localtime(), and strftime()
|
|
||||||
* binfmt/: Add exec(). This is just a wrapper that executes both
|
|
||||||
load_ and exec_module() in a more familiar manner. It is not consistent
|
|
||||||
with more standard exec() functions, however, because (1) it returns
|
|
||||||
and (2) it requires symbol table arguments.
|
|
||||||
* lib/: Add fileno()
|
|
||||||
* examples/ostest: Several of the tests used a big, hard-coded stack size
|
|
||||||
when creating test threads (16Kb stacksize). The stack size should
|
|
||||||
be controlled by the .config file or the OSTest won't work on platforms
|
|
||||||
with memory constraints.
|
|
||||||
* netutils/thttpd: An initial port of Jef Poskanzer's THTTPD HTTP server.
|
|
||||||
See http://acme.com/software/thttpd/.
|
|
||||||
* examples/thttpd: A basic test program for THTTPD
|
|
||||||
* configs/eagle100/thttpd: A build configuration for THTTPD on the Micromint
|
|
||||||
Eagle-100 LMS6918 (Cortex-M3) board.
|
|
||||||
* configs/ntosd-dm320/thttpd: A build configuration for THTTPD on the Neuros
|
|
||||||
DM320 platform.
|
|
||||||
* lib/: Added strstr() and strpbrk().
|
|
||||||
* net/recvfrom.c and net/accept(): Sockets now support some non-blocking
|
|
||||||
operations, specifically for (1) TCP/IP read operations when read-ahead
|
|
||||||
buffering is enabled, and (2) TCP/IP accept() operations when TCP/IP
|
|
||||||
connection backlog is enabled.
|
|
||||||
* fs/fs_fcntl.c and net/net_vfcntl.c: Minimal support provided for fcntl().
|
|
||||||
It can, at least, be used to mark sockets as blocking or non-blocking.
|
|
||||||
* net/net_close.c: Fix bug in close(). If reference count not set to zero
|
|
||||||
then uip_tcpfree() will assert when DEBUG is enabled.
|
|
||||||
* net/accept.c: Fix bug in accept(). The logic expected parts of the
|
|
||||||
return address structure to be initialized or it would return an error.
|
|
||||||
|
|
||||||
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.7 2009-06-26 <spudmonkey@racsa.co.cr>
|
|
||||||
|
|
||||||
* configs/avr-defconfig-4.3.3: Added support for AVR to support a NuttX
|
|
||||||
port of the ATmega128.
|
|
||||||
* toolchain/nxflat: Added logic to build NuttX NXFLAT binding support tools
|
|
||||||
* toolchain/genromfs: Added support for the genromfs tool
|
|
||||||
</pre></ul>
|
|
||||||
|
|
||||||
<table width ="100%">
|
|
||||||
<tr bgcolor="#e4e4e4">
|
|
||||||
<td>
|
|
||||||
<a name="pendingchanges">Unreleased Changes</a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<ul><pre>
|
<ul><pre>
|
||||||
nuttx-0.4.11 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
nuttx-0.4.11 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||||
|
|
||||||
@@ -1538,6 +1474,49 @@ nuttx-0.4.11 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
|||||||
to new tasks.
|
to new tasks.
|
||||||
* net/net_clone.c. Similarly, after a socket is cloned, its reference count
|
* net/net_clone.c. Similarly, after a socket is cloned, its reference count
|
||||||
was not being initialized.
|
was not being initialized.
|
||||||
|
* lib/lib_strstr.c. Improperly incremented pointer could cause comparison
|
||||||
|
failures.
|
||||||
|
* net/. Connection reference count must always be set to zero before calling
|
||||||
|
uip_tcpfree() or it could trigger a DEBUGASSERT that verifies that the
|
||||||
|
reference count is zero before freeing a connection structure.
|
||||||
|
* net/uip/uip_listen.c. uip_accept() consulted the wrong list to find the
|
||||||
|
listener on a socket. The previous logic worked most of the time, but
|
||||||
|
occasionally picked the wrong listener.
|
||||||
|
* net/net_close.c and net/net_sockets.c. Sockets were not being closed
|
||||||
|
when a task exits. If many server tasks are created and exit without closing
|
||||||
|
sockets (such as with CGI tasks), then eventually, you will run out of sockets.
|
||||||
|
* netutils/thttpd. Basic functionality of THTTPD is complete. This includes
|
||||||
|
serving up files from a file system and executing NXFLAT-based CGI programs
|
||||||
|
and pipe the stdout back to the HTTP client.
|
||||||
|
|
||||||
|
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.7 2009-06-26 <spudmonkey@racsa.co.cr>
|
||||||
|
|
||||||
|
* configs/avr-defconfig-4.3.3: Added support for AVR to support a NuttX
|
||||||
|
port of the ATmega128.
|
||||||
|
* toolchain/nxflat: Added logic to build NuttX NXFLAT binding support tools
|
||||||
|
* toolchain/genromfs: Added support for the genromfs tool
|
||||||
|
</pre></ul>
|
||||||
|
|
||||||
|
<table width ="100%">
|
||||||
|
<tr bgcolor="#e4e4e4">
|
||||||
|
<td>
|
||||||
|
<a name="pendingchanges">Unreleased Changes</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<ul><pre>
|
||||||
|
nuttx-0.4.12 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||||
|
|
||||||
pascal-0.1.3 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
pascal-0.1.3 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||||
|
|
||||||
|
|||||||
@@ -957,4 +957,27 @@ added:
|
|||||||
|
|
||||||
This tarball contains a complete CVS snapshot from August 8, 2009.
|
This tarball contains a complete CVS snapshot from August 8, 2009.
|
||||||
|
|
||||||
|
nuttx-0.4.11
|
||||||
|
^^^^^^^^^^^^
|
||||||
|
|
||||||
|
This is the 43rd release of NuttX. This release of NuttX incorporates the
|
||||||
|
verified port of Jeff Poskanzer's THTTPD HTTP server (see http://acme.com/software/thttpd/.).
|
||||||
|
Many of the key features of THTTPD have been tested on the Micromint Eagle-100
|
||||||
|
development board (Cortex-M3). These tests verify:
|
||||||
|
|
||||||
|
* Serving of files from any file system
|
||||||
|
* Execution of CGI executable. This release supports execution of
|
||||||
|
NXFLAT executables on a ROMFS file system (http://www.nuttx.org/NuttXNxFlat.html)
|
||||||
|
|
||||||
|
A standard CGI interface is used: Information is pasted to the CGI program via POST
|
||||||
|
commands and via environment variables. CGI socket I/O is redirected to stdin and stdout
|
||||||
|
so that the CGI program only need to printf() to send its content back to the HTTP
|
||||||
|
client.
|
||||||
|
|
||||||
|
Another value to this THTTPD integration effort has been that THTTPD has provided a very
|
||||||
|
good test bed for finding NuttX networking bugs. Several very critical networking bugs
|
||||||
|
have been fixed with this 0.4.11 release (see the ChangeLog for details). Networking
|
||||||
|
throughput has also been greatly improved. Anyone using NuttX networking should consider
|
||||||
|
upgrading to this release.
|
||||||
|
|
||||||
|
This tarball contains a complete CVS snapshot from September 16, 2009
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
NuttX TODO List (Last updated September 15, 2009)
|
NuttX TODO List (Last updated September 16, 2009)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
(5) Task/Scheduler (sched/)
|
(5) Task/Scheduler (sched/)
|
||||||
@@ -7,7 +7,8 @@ NuttX TODO List (Last updated September 15, 2009)
|
|||||||
(1) pthreads (sched/)
|
(1) pthreads (sched/)
|
||||||
(1) C++ Support
|
(1) C++ Support
|
||||||
(5) Binary loaders (binfmt/)
|
(5) Binary loaders (binfmt/)
|
||||||
(15) Network (net/, netutils/)
|
(13) Network (net/, netutils/)
|
||||||
|
(4) Network Utilities (netutils/)
|
||||||
(1) USB (drivers/usbdev)
|
(1) USB (drivers/usbdev)
|
||||||
(5) Libraries (lib/)
|
(5) Libraries (lib/)
|
||||||
(8) File system/Generic drivers (fs/, drivers/)
|
(8) File system/Generic drivers (fs/, drivers/)
|
||||||
@@ -136,15 +137,8 @@ o Binary loaders (binfmt/)
|
|||||||
Status: Open
|
Status: Open
|
||||||
Priority: Low
|
Priority: Low
|
||||||
|
|
||||||
o Network (net/, netutils/)
|
o Network (net/)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^
|
||||||
|
|
||||||
Description: One critical part of netutils/ apps is untested: The uIP
|
|
||||||
resolver in netutils/resolv. The webclient code has been
|
|
||||||
tested on host using gethosbyname(), but still depends on the
|
|
||||||
untested resolve logic.
|
|
||||||
Status: Open
|
|
||||||
Priority: Medium, Important but not core NuttX functionality
|
|
||||||
|
|
||||||
Description: Should implement SOCK_RAW, SOCK_PACKET
|
Description: Should implement SOCK_RAW, SOCK_PACKET
|
||||||
Status: Open
|
Status: Open
|
||||||
@@ -204,10 +198,6 @@ o Network (net/, netutils/)
|
|||||||
Status: Open
|
Status: Open
|
||||||
Priority: Medium
|
Priority: Medium
|
||||||
|
|
||||||
Description: Port PPP support from http://contiki.cvs.sourceforge.net/contiki/contiki-2.x/backyard/core/net/ppp/
|
|
||||||
Status: Open
|
|
||||||
Priority: Low
|
|
||||||
|
|
||||||
Description: At present, there cannot be two concurrent active TCP send
|
Description: At present, there cannot be two concurrent active TCP send
|
||||||
operations in progress using the same socket. This is because
|
operations in progress using the same socket. This is because
|
||||||
the uIP ACK logic will support only one transfer at a time. The
|
the uIP ACK logic will support only one transfer at a time. The
|
||||||
@@ -244,15 +234,36 @@ o Network (net/, netutils/)
|
|||||||
|
|
||||||
Description: sockets do not support all modes except for O_NONBLOCK. Sockets
|
Description: sockets do not support all modes except for O_NONBLOCK. Sockets
|
||||||
support only (1) TCP/IP non-blocking read operations when read-ahead
|
support only (1) TCP/IP non-blocking read operations when read-ahead
|
||||||
buffering is enabled, and (2) TCP/IP accept() operations when TCP/IP
|
buffering is enabled, and (2) TCP/IP accept() operations when TCP/IP
|
||||||
connection backlog is enabled.
|
connection backlog is enabled.
|
||||||
Status: Open
|
Status: Open
|
||||||
Priority: Low.
|
Priority: Low.
|
||||||
|
|
||||||
Description: THTTPD is included in the source tree, but has not yet been fully
|
o Network Utilities (netutils/)
|
||||||
integrated.
|
|
||||||
|
Description: One critical part of netutils/ apps is untested: The uIP
|
||||||
|
resolver in netutils/resolv. The webclient code has been
|
||||||
|
tested on host using gethosbyname(), but still depends on the
|
||||||
|
untested resolve logic.
|
||||||
Status: Open
|
Status: Open
|
||||||
Priority: High
|
Priority: Medium, Important but not core NuttX functionality
|
||||||
|
|
||||||
|
Description: Port PPP support from http://contiki.cvs.sourceforge.net/contiki/contiki-2.x/backyard/core/net/ppp/
|
||||||
|
Status: Open
|
||||||
|
Priority: Low
|
||||||
|
|
||||||
|
Description: Not all THTTPD features/options have been verified. In particular, there is no
|
||||||
|
test case of a CGI program receiving POST input. Only the configuration of
|
||||||
|
examples/thttpd has been tested.
|
||||||
|
Status: Open
|
||||||
|
Priority: Medium
|
||||||
|
|
||||||
|
Description: The first GET received by THTTPD is not responded to. Refreshing the page
|
||||||
|
from the browser solves the problem and THTTPD works fine after thatg. I
|
||||||
|
believe that this is the duplicate of another bug: "Outgoing [uIP] packets are dropped
|
||||||
|
and overwritten by ARP packets if the destination IP has not been mapped to a MAC."
|
||||||
|
Status: Open
|
||||||
|
Priority: Medium
|
||||||
|
|
||||||
o USB (drivers/usbdev)
|
o USB (drivers/usbdev)
|
||||||
^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|||||||
Reference in New Issue
Block a user