Prep for 5.15 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3169 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
4234f96d0a
commit
7b0f520210
@ -8,7 +8,7 @@
|
||||
<tr align="center" bgcolor="#e4e4e4">
|
||||
<td>
|
||||
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
|
||||
<p>Last Updated: December 6, 2010</p>
|
||||
<p>Last Updated: December 12, 2010</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -772,57 +772,63 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p><b>nuttx-5.14 Release Notes</b>:
|
||||
<p><b>nuttx-5.15 Release Notes</b>:
|
||||
|
||||
<p>
|
||||
This 61<sup>st</sup> release of NuttX, Version 5.14, was made on November 27, 2010 and is available for download from the
|
||||
This 62<sup>nd</sup> release of NuttX, Version 5.15, was made on December12, 2010 and is available for download 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>.
|
||||
Unreleased changes after this release are available in CVS.
|
||||
These unreleased changes are listed <a href="#pendingchanges">here</a>.
|
||||
</p>
|
||||
<p>
|
||||
This release includes multiple, important bugfixes as well as a new driver for the NXP LPC1766.
|
||||
Important bugfixes include:
|
||||
This release includes several bugfixes as well as feature enhancements, primarily for the Olimex LPC1766-STK board.
|
||||
Important bugfxes included:
|
||||
<ul>
|
||||
<li>
|
||||
Cortex-M3 Hard Fault.
|
||||
Fixed a hard fault problem that can occur if certaintypes of interrupts are pending at the time another interrupt returns.
|
||||
This problem has only been observed on the LPC1766 (returning from a SYSTICK interrupt with a pending Ethernet interrupt).
|
||||
However, it is assumed that all Cortex-M3 ports could have this as a latent bug.
|
||||
</li>
|
||||
<li>
|
||||
TCP/IP Sequence Number Bug.
|
||||
Corrected errors some important logic in the way that sequence numbers are managed when <code>send()</code> sends out packets before a previous packet has been acknowledged.
|
||||
Some of that send() logic was incompatible with logicin the uIP layer.
|
||||
Errors seen include:
|
||||
(1) The final final packet in a sequence of packets might be too large!
|
||||
In the THTTPD example, this might leave some garbage at the bottom of the display.
|
||||
Or (2) <code>send()</code> might hang with outstanding, unacknowledged data (and with no re-transmission requests).
|
||||
This was due to differences in sequence number handling in <code>send()</code> and in <code>uip_tcpinput.c</code>;
|
||||
<code>uip_tcpinput.c</code> thought (incorrectly) that all of the bytes were acknowledged;
|
||||
<code>send.c</code> knew that they were not.
|
||||
</li>
|
||||
<li>
|
||||
One-Shot POSIX Timer Bug.
|
||||
Fixed an error in set-up of a one-shot POSIX timer.
|
||||
It was using the repititive timer value (which is zero in the one-shot case), always resulting in a 10Ms timer!
|
||||
Found and fixed by Wilton Tong.
|
||||
</li>
|
||||
Additional fixes needed with the TCP sequence number problem "fixed" in nuttx-5.14.
|
||||
</li>
|
||||
<li>
|
||||
In the <code>send()</code> logic, now checks if the destination IP address is in the ARP table before sending the packet;
|
||||
an ARP request will go out instead of the TCP packet.
|
||||
This improves behavior, for example, on the first on the first GET request from a browser
|
||||
</li>
|
||||
<li>
|
||||
All USB class drivers need to call DEV_CONNECT() when they are ready to be enumerated.
|
||||
That is, (1) initially when bound to the USB driver, and (2) after a USB reset.
|
||||
</li>
|
||||
<li>
|
||||
The SPI_SETBITS macro was calling the SPI setmode method.
|
||||
</li>
|
||||
<li>
|
||||
And several other bug fixes of lower criticality (see the ChangeLog for details).
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
Additional support has been included for the Olimex-LPC1766.
|
||||
Support for that board was added to NuttX 5.13.
|
||||
This release extends that support with an Ethernet driver.
|
||||
Verified configurations are now available for the NuttX OS test,
|
||||
for the NuttShell (NSH, see the <a href="ttp://www.nuttx.org/NuttShell.html">NSH User Guide</a>),
|
||||
for the NuttX network test, and for the <a href="http://acme.com/software/thttpd">THTTPD</a> webserver.
|
||||
(Additional USB configurations are in the release as well, but those have not yet been verified).
|
||||
Goals for NuttX-5.15 (and beyond) include: (1) Verified USB support, (2) SD card support, and (3) LCD support.
|
||||
</p>
|
||||
<p>
|
||||
Additional changes and bugfixes as detailed in the ChangeLog.
|
||||
And feature enhancements:
|
||||
<ul>
|
||||
<li>
|
||||
The LPC176x Ethernet driver was using all of AHB SRAM Bank0 for Ethernet packet buffers (16Kb).
|
||||
An option was added to limit the amount of SRAM used for packet buffering and to re-use any extra Bank0 memory for heap.
|
||||
</li>
|
||||
<li>
|
||||
Enabled networking and SD/MMC card support in the Olimex LPC1766-STK NuttShell (NSH) configuration.
|
||||
</li>
|
||||
<li>
|
||||
The LPC176x USB driver is now fully fully functional.
|
||||
</li>
|
||||
<li>
|
||||
Added an optional <code>cmddata()</code> method to the SPI interface.
|
||||
Some devices require an additional out-of-band bit to specify if the next word sent to the device is a command or data.
|
||||
The <code>cmddata()</code> method provides selection of command or data.
|
||||
</li>
|
||||
<li>
|
||||
A driver for the Nokia 6100 LCD (with either the Phillips PCF8833 LCD controller and for the Epson S1D15G10 LCD controller)
|
||||
and an NX graphics configuration for the Olimex LPC1766-STK have been added.
|
||||
However, neither the LCD driver nor the NX configuration have been verified as of the this release.
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<table width ="100%">
|
||||
@ -1266,31 +1272,37 @@
|
||||
<ul>
|
||||
<p>
|
||||
<b>STATUS:</b>
|
||||
Some initial files for the LPC17xx family were released in NuttX 5.6, but the first
|
||||
</p>
|
||||
<p>
|
||||
<b>Nucleus2G LPC1768</b>.
|
||||
Some initial files for the LPC17xx family were released in NuttX 5.6, but the first
|
||||
functional release for the NXP LPC1768/Nucleus2G occured with NuttX 5.7 with some
|
||||
additional enhancements through NuttX-5.9.
|
||||
That initial, 5.6, basic release included timer interrupts and a serial console and was
|
||||
That initial, 5.6, basic release included <i>timer</i> interrupts and a <i>serial console</i> and was
|
||||
verified using the NuttX OS test (<code>examples/ostest</code>).
|
||||
Configurations available include include a verified NuttShell (NSH) configuration
|
||||
(see the <a href="http://www.nuttx.org/NuttShell.html">NSH User Guide</a>).
|
||||
The NSH configuration support the Nucleus2G's microSD slot and additional configurations
|
||||
The NSH configuration supports the Nucleus2G's microSD slot and additional configurations
|
||||
are available to exercise the the USB serial and USB mass storage devices.
|
||||
However, due to some technical reasons, neither the SPI nor the USB device drivers are fully verified.
|
||||
(Although they have since been verfiied on other platforms; this needs to be revisited on the Nucleus2G).
|
||||
</p>
|
||||
<p>
|
||||
<b>mbed LPC1768</b>.
|
||||
Support for the mbed board was contributed by Dave Marples and released in NuttX-5.11.
|
||||
This port includes a NuttX OS test configuration(see <code>examples/ostest</code>).
|
||||
This port includes a NuttX OS test configuration (see <code>examples/ostest</code>).
|
||||
</p>
|
||||
<p>
|
||||
<b>Olimex LPC1766-STK</b>.
|
||||
Support for that Olimex-LPC1766-STK board was added to NuttX 5.13.
|
||||
The NuttX-5.14 release extended that support with an Ethernet driver.
|
||||
The NuttX-5.14 release extended that support with an <i>Ethernet driver</i>.
|
||||
And the NuttX-5.15 release further extended the support with a functional <i>USB driver</i> and <i>SPI-based micro-SD</i>.
|
||||
Verified configurations are now available for the NuttX OS test,
|
||||
for the NuttShell (NSH, see the <a href="ttp://www.nuttx.org/NuttShell.html">NSH User Guide</a>),
|
||||
for the NuttX network test, and for the <a href="http://acme.com/software/thttpd">THTTPD</a> webserver.
|
||||
Additional drivers for USB device and MicroSD have also be added and have been verified and are available in CVS;
|
||||
A driver for the Nokia 6100 LCD has been added and is under test now.
|
||||
All are expected to be released in NuttX-5.15.
|
||||
for the NuttShell with networking and microSD support(NSH, see the <a href="ttp://www.nuttx.org/NuttShell.html">NSH User Guide</a>),
|
||||
for the NuttX network test, for the <a href="http://acme.com/software/thttpd">THTTPD</a> webserver,
|
||||
and for USB serial and USB storage examples.
|
||||
A driver for the <i>Nokia 6100 LCD</i> and an NX graphics configuration for the Olimex LPC1766-STK have been added.
|
||||
However, neither the LCD driver nor the NX configuration have been verified as of the the NuttX-5.15 release.
|
||||
</p>
|
||||
<p>
|
||||
<b>Development Environments:</b>
|
||||
@ -1926,34 +1938,50 @@ Other memory:
|
||||
</table>
|
||||
|
||||
<ul><pre>
|
||||
5.14 2010-11-27 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
5.15 2010-12-12 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* configs/olimex-lpc1766stk/nettest - Add examples/nettest configuration to
|
||||
verify the LPC17xx ethernet driver currently under development.
|
||||
* arch/arm/src/lpc17xx/lpc17xx_ethernet.c/.h - Began development of
|
||||
the LPC17xx Ethernet driver. Driver in CVS functional after 2010-11-23.
|
||||
* sched/timer_settime.c - Fix an error in set-up of a one-shot POSIX timer. It
|
||||
was using the repititive timer value (which is zero in the one-shot case),
|
||||
always resulting in a 10Ms timer! Found and fixed by Wilton Tong.
|
||||
* arch/arm/src/lpc17xx/lpc17_vector.S, stm32/stm32_vector.S, lm3s/lm3s_vector.S,
|
||||
sam3u/sam3u_vector.S -- Fixed a hard fault problem that can occur if certain
|
||||
types of interrupts are pending at the time another interrupt returns
|
||||
(SYSTICK). This has not been verified on all plaforms, but is a critical
|
||||
fixed that is needed by all Cortex-M3 NuttX users.
|
||||
* configs/olimex-lpc1766stk/thttpd - Add a THTTPD configuration for the
|
||||
Olimex LPC2766-STK board. Verified successfully.
|
||||
* net/uip/uip_tcpappsend.c - Correct an important logic bug in some uIP state
|
||||
data the is used to manage retransmissions. The uIP logic was incompatible
|
||||
with the retransmission logic of net/send.c in one place. The final error
|
||||
was that the final packet in a sequence of packets was too large! In the
|
||||
THTTPD example, this would leave some garbage at the bottom of the display
|
||||
(or worse). I don't know why I haven't see this bug before???
|
||||
* net/uip/uip_tcpinput.c -- The change to uip_tcpappsend.c unmasked an
|
||||
additional error in the TCP sequence number handling. This sympom was that
|
||||
the send() function would hang with outstanding, unacknowledged data (with
|
||||
no re-transmit requests). The was due to differences in sequence number
|
||||
handling in send() and in uip_tcpinput.c; uip_tcpinput.c thought (incorrectly)
|
||||
that all of the bytes were acknowledged; send.c knew that they were not.
|
||||
* net/uip/uip_tcpaddsend.c and net/send.c -- Another place where the TCP sequence
|
||||
number problem "fixed" in 5.14 might occur.
|
||||
* net/send.c -- Check if the destination IP address is in the ARP table. If
|
||||
not, then don't consider the packet sent. It won't be, an ARP packet will go
|
||||
out instead. This improves behavior, for example, on the first GET request
|
||||
from a browser.
|
||||
* arch/arm/src/lpc17xx/lpc17_emacram.h and lpc17_allocateheap.c -- The Ethernet
|
||||
logic was using all of AHB SRAM Bank0 for Ethernet packet buffers (16Kb). An
|
||||
option was added to limit the amount of SRAM used for packet buffering and to
|
||||
re-use any extra Bank0 memory for heap. configs/olimex-lpc1766stk/nettest
|
||||
now uses only 8Kb at the beginning of Bank0; the 8Kb at the end of Bank0 is
|
||||
included in the heap
|
||||
* arch/arm/src/lpc17xx/lpc17_ssp.c -- Fix compilation errors when SSP1 is
|
||||
selected.
|
||||
* configs/olimex-lpc1766stk/nsh -- Enable network and SD/MMC card support in
|
||||
NSH. Networking and telnetd interface as well as SPI-based microSD are
|
||||
now functional.
|
||||
* examples/nsh/nsh_netinit.c -- Fix NSH bug. If CONFIG_NET is selected, but
|
||||
CONFIG_EXAMPLES_NSH_TELNETD is not selected, then the network is never
|
||||
initialized and bad things happen if you try to ping.
|
||||
* drivers/lcd -- Add header files for the Phillips PCF8833 LCD controller and
|
||||
for the Epson S1D15G10 LCD controller. A driver for the Nokia 6100 LCD is
|
||||
coming.
|
||||
* include/nuttx/spi.h and almost all other SPI files -- Added an optional
|
||||
cmddata() method to the SPI interface. Some devices require an additional
|
||||
out-of-band bit to specify if the next word sent to the device is a command
|
||||
or data. This is typical, for example, in "9-bit" displays where the 9th bit
|
||||
is the CMD/DATA bit. The cmddata method provides selection of command or data.
|
||||
* drivers/lcd/p14201.c -- Now uses the cmddata() method of the SPI interface.
|
||||
* arch/arm/src/lpc17xx/lpc17_usbdev.c -- LPC17xx USB driver now appears to
|
||||
to be fully functional. examples/usbstorage configuration verified (the
|
||||
examples/usbserial configuration is untested).
|
||||
* drivers/usbdev/usbserial.c and usbstorage.c -- All USB class drivers need
|
||||
to call DEV_CONNECT() when they are ready to be enumerated. That is,
|
||||
(1) initially when bound to the USB driver, and (2) after a USB reset.
|
||||
* drivers/lcd/nokia6100.c -- A driver for the Nokia 6100 LCD. This driver
|
||||
has not be verified as of the initial check-in.
|
||||
* configs/olimex-lpc1766stk/nx -- A NX graphics configuration for the Olimex
|
||||
LPC1766-STK board using the Nokia 6100 LCD driver. This configuration has
|
||||
not been verified as of the initial check-in.
|
||||
* include/nuttx/spi.h -- the SPI_SETBITS macro was calling the setmode method.
|
||||
This is a very important bug-fix in some usages.
|
||||
|
||||
pascal-2.0 2009-12-21 Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
@ -1983,47 +2011,7 @@ buildroot-1.8 2009-12-21 <spudmonkey@racsa.co.cr>
|
||||
</table>
|
||||
|
||||
<ul><pre>
|
||||
nuttx-5.15 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
* net/uip/uip_tcpaddsend.c and net/send.c -- Another place where the TCP sequence
|
||||
number problem "fixed" in 5.14 might occur.
|
||||
* net/send.c -- Check if the destination IP address is in the ARP table. If
|
||||
not, then don't consider the packet sent. It won't be, an ARP packet will go
|
||||
out instead.
|
||||
* arch/arm/src/lpc17xx/lpc17_emacram.h and lpc17_allocateheap.c -- The Ethernet
|
||||
logic was using all of AHB SRAM Bank0 for Ethernet packet buffers (16Kb). An
|
||||
option was added to limit the amount of SRAM used for packet buffering and to
|
||||
re-use any extra Bank0 memory for heap. configs/olimex-lpc1766stk/nettest
|
||||
now uses only 8Kb at the beginning of Bank0; the 8Kb at the end of Bank0 is
|
||||
included in the heap
|
||||
* arch/arm/src/lpc17xx/lpc17_ssp.c -- Fix compilation errors when SSP1 is
|
||||
selected.
|
||||
* configs/olimex-lpc1766stk/nsh -- Enable network and SD/MMC card support in
|
||||
NSH. Networking and telnetd interface functional. Still testing SPI-based
|
||||
SD/MMC.
|
||||
* examples/nsh/nsh_netinit.c -- Fix NSH bug. If CONFIG_NET is selected, but
|
||||
CONFIG_EXAMPLES_NSH_TELNETD is not selected, then the network is never
|
||||
initialized and bad things happen if you try to ping.
|
||||
* drivers/lcd -- Add header files for the Phillips PCF8833 LCD controller and
|
||||
for the Epson S1D15G10 LCD controller. A driver for the Nokia 6100 LCD is
|
||||
coming.
|
||||
* include/nuttx/spi.h and almost all other SPI files -- Added an optional
|
||||
cmddata() method to the SPI interface. Some devices require and additional
|
||||
out-of-band bit to specify if the next word sent to the device is a command
|
||||
or data. This is typical, for example, in "9-bit" displays where the 9th bit
|
||||
is the CMD/DATA bit. The cmddata method provides selection of command or data.
|
||||
* drivers/lcd/p14201.c -- Now uses the cmddata() method of the SPI interface.
|
||||
* arch/arm/src/lpc17xx/lpc17_usbdev.c -- LPC17xx USB driver now appears to
|
||||
to be fully functional. examples/usbstorage configuration verified (the
|
||||
examples/usbserial configuration is untested).
|
||||
* drivers/usbdev/usbserial.c and usbstorage.c -- All USB class drivers need
|
||||
to call DEV_CONNECT() when they are ready to be enumerated. That is,
|
||||
(1) initially when bound to the USB driver, and (2) after a USB reset.
|
||||
* drivers/lcd/nokia6100.c -- A driver for the Nokia 6100 LCD.
|
||||
* configs/olimex-lpc1766stk/nx -- A NX graphics configuration for the Olimex
|
||||
LPC1766-STK board using the Nokia 6100 LCD driver.
|
||||
* include/nuttx/spi.h -- the SPI_SETBITS macro was calling the setmode method.
|
||||
This is a very important bug-fix in some usages.
|
||||
nuttx-5.16 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
pascal-2.1 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user