Prep for 5.10 release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2928 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
c67fb1b79e
commit
4a77775512
@ -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: September 5, 2010</p>
|
||||
<p>Last Updated: September 7, 2010</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -772,58 +772,72 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p><b>nuttx-5.9 Release Notes</b>:
|
||||
<p><b>nuttx-5.10 Release Notes</b>:
|
||||
|
||||
<p>
|
||||
This 56<sup>th</sup> release of NuttX was made on August 25, 2010 and is available for download from the
|
||||
This 57<sup>th</sup> release of NuttX, Version 5.10, was made on September 7, 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>
|
||||
This release is difficult to categorize;
|
||||
NuttX-5.9 was really released because there were too many changes accumulating in CVS --
|
||||
a few important, some large, unverified implementations, and a couple of important bugfixes.
|
||||
<ul>
|
||||
<li>
|
||||
By far biggest change in this release is the complete implementation of on-demand paging support.
|
||||
This feature will allow you to execute large programs on a mass storage device (such as SPI FLASH) in a small RAM.
|
||||
All of the core on-demand paging logic was completed
|
||||
(see <a href="http://www.nuttx.org/NuttXDemandPaging.html">NuttXDemandPaging.html</a>)
|
||||
and support was implemented for the ARM-9 family.
|
||||
A test configuration is in place for the NXP LPC3131.
|
||||
It has been verified that this new logic does not interfere with normal fixed-page ARM9 operation, but otherwise this new on-demand paging feature is untested.
|
||||
</li>
|
||||
<li>
|
||||
Add support for the CodeSourcery toolchain to the Olimex-lpc2378 port and for the Neuros OSD port.
|
||||
</li>
|
||||
<li>
|
||||
The Neuros OSD port has been updated to work with the production v1.0 OSD
|
||||
(previously there was NuttX support only for the development board).
|
||||
</li>
|
||||
<li>
|
||||
And some miscellaneous feature enhancements as detailed in the <a href="#currentrelease">ChangeLog</a>.
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
This includes several important bugfixes:
|
||||
This release includes a combination of some new features as well as several bugfixes.
|
||||
New features include:
|
||||
<ul>
|
||||
<li>
|
||||
NXP LPC17xx - Fixed a critical bug in the GPIO configuratino logic:
|
||||
When attempting to set no pull-up or pull-down (floating), it would, instead, select pull-down.
|
||||
<b>TI/Luminary Stellaris LM3S9B96</b>.
|
||||
Header file changes contributed by Tiago Maluta.
|
||||
</li>
|
||||
<li>
|
||||
TI/Luminary LM3Sxxxx - Fixed (1) a logic error in an address table lookup,
|
||||
(2) GPIO port encoding the limited support to only 8 GPIO ports.
|
||||
<b>TI/Luminary Stellaris LM3S8962</b>.
|
||||
Header file changes and support for the Stellaris LM3S8962 Ethernet+CAN Evaluation Board contributed by Larry Arnold.
|
||||
</li>
|
||||
<li>
|
||||
Corrected the lease time in the DHCPC implementation:
|
||||
It was not in host byte order.
|
||||
<b>On-Demand Paging Support</b>.
|
||||
The basic logic for the On-Demand Paging feature is complete, implemented for the NXP LPC3131, and partially tested.
|
||||
See <a href="http://www.nuttx.org/NuttXDemandPaging.html">On-Demand Paging Documentation</a>.
|
||||
Some additional test infrastructure will be needed in order to complete the verification.
|
||||
See the EA3131 <a href="http://nuttx.cvs.sourceforge.net/viewvc/nuttx/nuttx/configs/ea3131/README.txt?view=log">README</a> file for details.
|
||||
</li>
|
||||
<li>
|
||||
And several other less important bugs as documented in the <a href="#currentrelease">ChangeLog</a>:
|
||||
Warnings, cornercase compilation problems, etc.
|
||||
<b>Two Pass Build Support</b>.
|
||||
The make system now supports a two pass build where a relocatable, partially linked object is created on the first pass and that object is linked with the NuttX libraris to produce the final executable on the second pass.
|
||||
This two pass build is currently only used to support the On-Demand paging feature:
|
||||
The first pass link forces critical logic into the locked text region;
|
||||
the second pass builds the NuttX executable more-or-less as normal.
|
||||
<li>
|
||||
<b><code>CONFIG_APP_DIR</code></b>.
|
||||
Generalized the way in which applications are built and linked with NuttX.
|
||||
The new configuration <code>CONFIG_APP_DIR</code> replaces <code>CONFIG_EXAMPLE</code>.
|
||||
<code>CONFIG_EXAMPLE</code> used to identify the sub-directory within the NuttX <code>examples/</code> directory that held the example application to be built.
|
||||
That made it awkward to configure to build an application that resided outside of the NuttX <code>examples/</code> directory.
|
||||
<code>CONFIG_APP_DIR</code> is more general;
|
||||
it can be used to refer to any directory containing the application to be built.
|
||||
<ul>
|
||||
<p><small>
|
||||
For people who have their own configurations and/or Makefiles, you will need to make a couple of changes:
|
||||
<ul>
|
||||
<li>
|
||||
Replace all occurrences of <code>CONFIG_EXAMPLE=foobar</code> with <code>CONFIG_APP_DIR=examples/foobar</code> in all of the configuration files.
|
||||
</li>
|
||||
<li>
|
||||
Replace any occurrences of <code>examples/$(CONFIG_EXAMPLE)</code> with <code>$(CONFIG_APP_DIR)</code>
|
||||
</li>
|
||||
<li>
|
||||
Replace any occurrences of <code>lib$(CONFIG_EXAMPLE)$(LIBEXT)</code> with <code>libapp$(LIBEXT)</code> in your Makefiles.
|
||||
</li>
|
||||
<li>
|
||||
Check any other occurrences of <code>CONFIG_EXAMPLE</code>.
|
||||
</li>
|
||||
</ul>
|
||||
</small></p>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<b>Other</b>.
|
||||
Several bugfixes are included as well as code changes to eliminate some warnings.
|
||||
See the ChangeLog for details.
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
@ -1153,6 +1167,20 @@
|
||||
<td><br></td>
|
||||
<td><hr></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
<td>
|
||||
<p>
|
||||
<b>Luminary/TI LM3S9B96</b>.
|
||||
Header file support was contributed by Tiago Maluta for this part.
|
||||
However, no complete board support configuration is available as of this writing.
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
<td><hr></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><br></td>
|
||||
<td>
|
||||
@ -1244,15 +1272,15 @@
|
||||
<b>STATUS:</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.
|
||||
additional enhancements through NuttX-5.9.
|
||||
That initial, 5.6, basic release included timer interrupts and a serial console and was
|
||||
verified using the NuttX OS test (<code>examples/ostest</code>).
|
||||
Configurations available include include a verified NuttShell (NSH) configuration
|
||||
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
|
||||
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 it has been reported to me that the SPI microSD is functional on other platforms).
|
||||
However, due to some technical reasons, neither the SPI nor the USB device drivers are fully verified.
|
||||
(Although it has been reported to me that the SPI microSD is functional on other platforms).
|
||||
</p>
|
||||
<p>
|
||||
<b>Development Environments:</b>
|
||||
@ -1933,14 +1961,14 @@ nuttx-5.10 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
For people who have their own configurations and/or Makefiles,
|
||||
you will need to make a couple of changes:
|
||||
|
||||
- Replace all occurrences of CONFIG_EXAMPLE=foobar with
|
||||
- Replace all occurrences of CONFIG_EXAMPLE=foobar with
|
||||
CONFIG_APP_DIR=examples/foobar in all of the configuration
|
||||
files.
|
||||
- Replace any occurrences of examples/$(CONFIG_EXAMPLE) with
|
||||
$(CONFIG_APP_DIR)
|
||||
- Replace any occurrences of lib$(CONFIG_EXAMPLE)$(LIBEXT)
|
||||
with libapp$(LIBEXT) in your Makefiles.
|
||||
- Check any other occurrences of CONFIG_EXAMPLE.pascal-2.1 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
- Check any other occurrences of CONFIG_EXAMPLE.
|
||||
|
||||
* arch/arm/src/lpc313x/lpc313x_spi.c - Fix compilation error when
|
||||
when CONFIG_DEBUG is enabled.
|
||||
@ -1952,6 +1980,12 @@ nuttx-5.10 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
should not be conditioned on CONFIG_ARCH_LEDs being defined!
|
||||
* arch/arm/src/lpc313x/ - APB0 and APB1 cannot lie in different
|
||||
sections; they are too close together.
|
||||
* arch/arm/src/lpc313x/lpc13x_boot.c - Resetting all of the clocking
|
||||
had a side effect of wiping out the first 6 words of memory where the
|
||||
interrupt vectors are located (and also not resetting the fractional
|
||||
dividers). This is not usually noticeable because the IRQ vectors
|
||||
are after this point, but really causes problems if you want to handle
|
||||
data and prefectch aborts which are within this zeroed region.
|
||||
|
||||
pascal-2.1 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
|
||||
|
||||
|
46
ReleaseNotes
46
ReleaseNotes
@ -1367,3 +1367,49 @@ This includes several important bugfixes:
|
||||
* And several other less important bugs as documented in the ChangeLog:
|
||||
Warnings, cornercase compilation problems, etc.
|
||||
|
||||
nuttx-5.10
|
||||
^^^^^^^^^^
|
||||
|
||||
This is the 57th release of NuttX. This release includes a combination of
|
||||
some new features as well as several bugfixes. New features include:
|
||||
|
||||
* TI/Luminary Stellaris LM3S9B96. Header file changes contributed by
|
||||
Tiago Maluta.
|
||||
* TI/Luminary Stellaris LM3S8962. Header file changes and support for
|
||||
the Stellaris LM3S8962 Ethernet+CAN Evaluation Board contributed by
|
||||
Larry Arnold.
|
||||
* On-Demand Paging Support. The basic logic for the On-Demand Paging
|
||||
feature is complete, implemented for the NXP LPC3131, and partially
|
||||
tested. See http://www.nuttx.org/NuttXDemandPaging.html. Some additional
|
||||
test infrastructure will be needed in order to complete the verification.
|
||||
See configs/ea3131/README.txt for details.
|
||||
* Two Pass Build Support. The make system now supports a two pass build
|
||||
where a relocatable, partially linked object is created on the first
|
||||
pass and that object is linked with the NuttX libraris to produce the
|
||||
final executable on the second pass. This two pass build is currently
|
||||
only used to support the On-Demand paging feature: The first pass
|
||||
link forces critical logic into the locked text region; the second pass
|
||||
builds the NuttX executable more-or-less as normal.
|
||||
* CONFIG_APP_DIR. Generalized the way in which applications are built
|
||||
and linked with NuttX. The new configuration CONFIG_APP_DIR replaces
|
||||
CONFIG_EXAMPLE. CONFIG_EXAMPLE used to identify the sub-directory within
|
||||
the NuttX examples/ directory that held the example application to be
|
||||
built. That made it awkward to configure to build an application that
|
||||
resides outside of the NuttX examples/ directory. CONFIG_APP_DIR is
|
||||
more general; it can be used to refer to any directory containing the
|
||||
application to be built.
|
||||
|
||||
For people who have their own configurations and/or Makefiles,
|
||||
you will need to make a couple of changes:
|
||||
|
||||
- Replace all occurrences of CONFIG_EXAMPLE=foobar with
|
||||
CONFIG_APP_DIR=examples/foobar in all of the configuration
|
||||
files.
|
||||
- Replace any occurrences of examples/$(CONFIG_EXAMPLE) with
|
||||
$(CONFIG_APP_DIR)
|
||||
- Replace any occurrences of lib$(CONFIG_EXAMPLE)$(LIBEXT)
|
||||
with libapp$(LIBEXT) in your Makefiles.
|
||||
- Check any other occurrences of CONFIG_EXAMPLE.
|
||||
|
||||
* Several bugfixes are included as well as code changes to eliminate
|
||||
some warnings. See the ChangeLog for details.
|
||||
|
14
TODO
14
TODO
@ -1,5 +1,5 @@
|
||||
NuttX TODO List (Last updated August 21, 2010)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
NuttX TODO List (Last updated September 6, 2010)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
(5) Task/Scheduler (sched/)
|
||||
(1) On-demand paging (sched/)
|
||||
@ -70,9 +70,13 @@ o On-demand paging (sched/)
|
||||
|
||||
Description: On-demand paging has recently been incorporated into the RTOS.
|
||||
The design of this feature is described here:
|
||||
http://www.nuttx.org/NuttXDemandPaging.html.
|
||||
As of this writing, the feature is incomplete and untested.
|
||||
It should not be enabled!
|
||||
http://www.nuttx.org/NuttXDemandPaging.html.
|
||||
As of this writing, the basic feature implementation is
|
||||
complete and much of the logic has been verified. The test
|
||||
harness for the feature exists only for the NXP LPC3131 (see
|
||||
configs/ea3131/pgnsh and locked directories). There are
|
||||
some limitations of this testing so I still cannot say that
|
||||
the feature is fully functional.
|
||||
Status: Open, in work
|
||||
Priority: Medium-Low
|
||||
|
||||
|
@ -389,7 +389,32 @@ On-Demand Paging
|
||||
This example is incomplete in that it does not have any media to reload the
|
||||
page text region from: The file configs/ea3131/src/up_fillpage.c is only
|
||||
a stub. That logic to actually reload the page from some storage medium
|
||||
would have to be implemented in order to complete this example.
|
||||
(among other things) would have to be implemented in order to complete this
|
||||
example. At present, the example works correctly up to the point where
|
||||
up_fillpage() is first called and then fails in the expected way.
|
||||
|
||||
Here are the detailed list of things that would need to be done in addition
|
||||
to finishing th up_fillpage() logic (this assumes that SPI NOR FLASH is the
|
||||
media on which the NuttX image is stored):
|
||||
|
||||
1. Develop a NOR FLASH layout can can be used to (1) boot the locked text
|
||||
section into memory on a reset, and (2) map a virtual fault address
|
||||
to an offset into paged text section in NOR FLASH.
|
||||
2. Develop/modify the build logic to build the binaries for this NOR
|
||||
flash layout: Can the NuttX image be formed as a single image that
|
||||
is larger than the IRAM? Can we boot from such a large image? If
|
||||
so, then no special build modifications are required. Or, does the
|
||||
locked section have to be smaller with a separate paged text section
|
||||
image in FLASH? In this case, some tool will be needed to break
|
||||
the nuttx.bin file into the two pieces.
|
||||
3. Develop a mechanism to load the NuttX image into SPI NOR FLASH. A
|
||||
basic procedure is already documented in NXP publications: "LPC313x
|
||||
Linux Quick Start Guide, Version 2.0" and "AN10811 Programming SPI
|
||||
flash on EA3131 boards, V1 (May 1, 2009)." That procedure may be
|
||||
sufficient, depending on the decisions made in (1) and (2):
|
||||
4. Develop a procedure to boot the locked text image from SPI NOR.
|
||||
The references and issues related to this are discussed in (2)
|
||||
and (3) above.
|
||||
|
||||
ARM/EA3131-specific Configuration Options
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
Loading…
Reference in New Issue
Block a user