summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-11-05 15:42:58 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-11-05 15:42:58 +0000
commit45630c3d55a534689f83fd8871c06399934645e1 (patch)
treee66aec9f82d3eea48fe28e75da8c4534a42a5ad1
parent6dfde6fdb4a7d8cb1fc8a66d4dbd7056699f404e (diff)
downloadnuttx-6.23.tar.gz
nuttx-6.23.tar.bz2
nuttx-6.23.zip
Prep for 6.23 releasenuttx-6.23
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5313 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--apps/ChangeLog.txt3
-rw-r--r--misc/buildroot/ChangeLog3
-rw-r--r--misc/buildroot/ReleaseNotes43
-rw-r--r--misc/uClibc++/ChangeLog.txt7
-rwxr-xr-xmisc/uClibc++/README.txt4
-rw-r--r--misc/uClibc++/ReleaseNotes.txt32
-rwxr-xr-xmisc/uClibc++/zipme.sh80
-rw-r--r--nuttx/ChangeLog10
-rw-r--r--nuttx/Documentation/NuttX.html743
-rw-r--r--nuttx/ReleaseNotes78
-rw-r--r--nuttx/configs/stm32f4discovery/README.txt2
11 files changed, 506 insertions, 499 deletions
diff --git a/apps/ChangeLog.txt b/apps/ChangeLog.txt
index cd1b4eb53..8a168588b 100644
--- a/apps/ChangeLog.txt
+++ b/apps/ChangeLog.txt
@@ -349,7 +349,7 @@
* apps/NxWidgets/Kconfig: Add option to turn on the memory monitor
feature of the NxWidgets/NxWM unit tests.
-6.23 2012-xx-xx Gregory Nutt <gnutt@nuttx.org>
+6.23 2012-11-05 Gregory Nutt <gnutt@nuttx.org>
* vsn: Moved all NSH commands from vsn/ to system/. Deleted the vsn/
directory.
@@ -406,3 +406,4 @@
supports setting IP addresses, network masks, name server addresses,
and hardware address (from Darcy Gong).
+6.24 2012-xx-xx Gregory Nutt <gnutt@nuttx.org>
diff --git a/misc/buildroot/ChangeLog b/misc/buildroot/ChangeLog
index cdbef5da1..6b09b8b94 100644
--- a/misc/buildroot/ChangeLog
+++ b/misc/buildroot/ChangeLog
@@ -101,7 +101,7 @@ buildroot-1.10 2011-05-06 <gnutt@nuttx.org>
* configs/arm920t-eabi-defconfig-4.5.2 - Add a configuration to build a
GCC 4.5.2 EABI ARM toolchain for the ARM920t.
-buildroot-1.11 2011-xx-xx <gnutt@nuttx.org>
+buildroot-1.11 2011-11-05 <gnutt@nuttx.org>
* configs/avr-defconfig-4.3.3 - Added --enable-long-long as a GCC
option.
@@ -127,3 +127,4 @@ buildroot-1.11 2011-xx-xx <gnutt@nuttx.org>
past the end of allocated memory. Partial restoration of R_ARM_REL32
logic. There are lots of issues that I still do not understand here.
+buildroot-1.12 2011-xx-xx <gnutt@nuttx.org>
diff --git a/misc/buildroot/ReleaseNotes b/misc/buildroot/ReleaseNotes
index 889b97073..266354e63 100644
--- a/misc/buildroot/ReleaseNotes
+++ b/misc/buildroot/ReleaseNotes
@@ -1,5 +1,8 @@
-ReleaseNotes v0.1.10:
-^^^^^^^^^^^^^^^^^^^^^
+ReleaseNotes v0.1.11
+====================
+
+Supported Toolchains
+--------------------
This is a highly hacked up version of the buildroot (see
http://buildroot.uclibc.org/). It has been hacked so that it
@@ -13,7 +16,7 @@ can be used to build the following NuttX-compatible toolchains:
NXFLAT toolchain for use with the ARM7 and ARM9.
o arm-elf ARM Cortex-M3 (thumb2) toolchain needed for use with
- the Luminary LM3Sxxx, NXP 17xxxx, Atmel SAM3u, and STMicor
+ the Luminary LM3Sxxx, NXP 17xxxx, Atmel SAM3u, and STMicro
STM32 ports provided with the NuttX releases.
NXFLAT toolchain for use with the ARM Cortex-M3.
@@ -26,11 +29,11 @@ can be used to build the following NuttX-compatible toolchains:
o i486-elf toochain. Why would you want such a thing? On Linux, of
course, such a thing is not needed because you can use the installed GCC
- to build i486 ELF binaries. But that will not work under Cygwin! The
- Cygwin toolchain (and probably MinGW), build DOS MZ format executables
- (i.e., .exe files). That is probably not usable for most NuttX targets.
- Instead, you should use this i486-elf-gcc to generate true ELF binaries
- under Cygwin.
+ to build i486 ELF binaries. But that will not work under Cygwin! The
+ Cygwin toolchain (and probably MinGW), build DOS MZ format executables
+ (i.e., .exe files). That is probably not usable for most NuttX targets.
+ Instead, you should use this i486-elf-gcc to generate true ELF binaries
+ under Cygwin.
o bfin-elf toolchain not currently used in any NuttX
configuration).
@@ -59,8 +62,9 @@ Supported tool versions include:
o gcc-4.2.4 + binutils-2.19
o gcc-4.3.3 + binutils-2.19.1
o gcc-4.5.2 + binutils-2.21
+ o gcc-4.6.3 + binutils-2.22
-See the ChangeLog of features/architectures added in v0.1.9.
+See the ChangeLog of features/architectures added in v0.1.11.
Installation instructions:
@@ -79,11 +83,30 @@ then:
And set the "Path to the NuttX root directory" appropriately.
+Version Information
+-------------------
+
+buildroot release 1.11 corresponds to SVN revision r5313.
+
+Note that all SVN information has been stripped from the tarball. If you
+need the SVN configuration, you should check out directly from SVN. Revision
+r5313 should equivalent to release 1.0 of NuttX buildroot:
+
+ svn checkout -r5313 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
+
+Or
+
+ svn checkout -r5313 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
+
NXFLAT Toolchain Build
+----------------------
You can select to build the NXFLAT toolchain with GCC by selecting
the NXFLAT toolchin during the configuration process(you can also
select omit building GCC with and only build the NXFLAT toolchain
for use with your own GCC toolchain.
-NFFLAT is only available for ARM and Cortex-M3 architectures.
+NOTES:
+ - NFFLAT is only available for ARM and Cortex-M3 architectures.
+ - The GCC 4.6.3 will not work with NXFLAT. See "Toolchain Compatibility
+ Problem" at http://www.nuttx.org/doku.php?id=wiki:vfs:nxflat for details.
diff --git a/misc/uClibc++/ChangeLog.txt b/misc/uClibc++/ChangeLog.txt
new file mode 100644
index 000000000..8c680392c
--- /dev/null
+++ b/misc/uClibc++/ChangeLog.txt
@@ -0,0 +1,7 @@
+uClibc++-1.0 2011-11-05 <gnutt@nuttx.org>
+
+ * The initial release of the uClibc++ implementation of the standard
+ C++ library for NuttX. This package was contributed ay Qiang Yu and
+ David for the RGMP team.
+
+uClibc++-1.1 2011-xx-xx <gnutt@nuttx.org>
diff --git a/misc/uClibc++/README.txt b/misc/uClibc++/README.txt
index 751f23587..8d306fd5a 100755
--- a/misc/uClibc++/README.txt
+++ b/misc/uClibc++/README.txt
@@ -48,7 +48,7 @@ Dependencies
libraries.
2. NuttX C++ support
3. Math library
-4. TLS support is currenly provided only under RGMP
+4. TLS support is currently provided only under RGMP
NuttX Configuration File Changes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -64,7 +64,7 @@ If you choose to use the NuttX math library, that is enabled as follows:
CONFIG_LIBM=y
The math libraries depend on the float.h header file that is normally
-provided by your tooltchain. A dummy (and probably wrong) fload.h file
+provided by your toolchain. A dummy (and probably wrong) fload.h file
can be installed by setting:
CONFIG_ARCH_FLOAT_H=y
diff --git a/misc/uClibc++/ReleaseNotes.txt b/misc/uClibc++/ReleaseNotes.txt
new file mode 100644
index 000000000..63e4b7583
--- /dev/null
+++ b/misc/uClibc++/ReleaseNotes.txt
@@ -0,0 +1,32 @@
+uClibc++-1.0
+============
+
+This package is a version of the uClibc++ C++ library customized to work
+with NuttX. This code originates from http://cxx.uclibc.org/ and has been
+adapted for NuttX by the RGMP team (http://rgmp.sourceforge.net/wiki/index.php/Main_Page).
+Thanks go to Qiang Yu and David.
+
+uClibc++ is released as a separate packet rather than being integrated with
+the core NuttX source code. This separation is due to differences in
+licensing betweein uClibc++ and NuttX: NuttX is licensed under the
+permissive modified BSD License; uClibc, on the other hand, is licensed
+under the stricter GNU LGPL Version 3 license.
+
+A simple installation script is provided at misc/uClibc++/install.sh that
+can be used to install the uClibc++ components into the NuttX source tree.
+See the README file in the top-level uClibc++ directory for instructions on
+using the installation script. If you wish to use uClibc++ with NuttX, you
+will be required to comply with the licensing requires of the GNU LGPL
+Version 3 license.
+
+uClibc++ release 1.0 corresponds to SVN revision r5313.
+
+Note that all SVN information has been stripped from the tarball. If you
+need the SVN configuration, you should check out directly from SVN. Revision
+r5313 should equivalent to release 1.0 of NuttX uClibc++:
+
+ svn checkout -r5313 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
+
+Or
+
+ svn checkout -r5313 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
diff --git a/misc/uClibc++/zipme.sh b/misc/uClibc++/zipme.sh
new file mode 100755
index 000000000..d20a78463
--- /dev/null
+++ b/misc/uClibc++/zipme.sh
@@ -0,0 +1,80 @@
+#!/bin/sh
+#set -x
+
+WD=`pwd`
+VERSION=$1
+
+TAR="tar cvf"
+ZIP=gzip
+
+# Make sure we know what is going on
+
+if [ -z ${VERSION} ] ; then
+ echo "You must supply a version like xx.yy.zz as a parameter"
+ exit 1;
+fi
+
+# Find the directory we were executed from and where we expect to
+# see the directory to tar up
+
+MYNAME=`basename $0`
+UCLIBCXX_DIR=uClibc++-${VERSION}
+
+if [ -x ${WD}/${MYNAME} ] ; then
+ MISCDIR=`dirname ${WD}`
+else
+ if [ -x ${WD}/${UCLIBCXX_DIR}/${MYNAME} ] ; then
+ MISCDIR=${WD}
+ else
+ echo "You must cd into the misc/ or misc/${UCLIBCXX_DIR}/ directory to execute this script."
+ exit 1
+ fi
+fi
+
+# Get the path to the parent directory
+
+SUBDIR=`basename ${MISCDIR}`/${UCLIBCXX_DIR}
+PARENT=`dirname ${MISCDIR}`
+
+# The name of the directory must match the version number
+
+cd ${PARENT} || \
+ { echo "Failed to cd to ${PARENT}" ; exit 1 ; }
+
+if [ ! -d ${SUBDIR} ] ; then
+ echo "${PARENT}/${SUBDIR} does not exist!"
+ exit 1
+fi
+
+TAR_NAME=${UCLIBCXX_DIR}.tar
+ZIP_NAME=${TAR_NAME}.gz
+
+# Prepare the uClibc++ directory -- Remove editor garbage
+
+find ${SUBDIR} -name '*~' -exec rm -f '{}' ';' || \
+ { echo "Removal of emacs garbage failed!" ; exit 1 ; }
+find ${SUBDIR} -name '*.swp' -exec rm -f '{}' ';' || \
+ { echo "Removal of VI garbage failed!" ; exit 1 ; }
+
+# Remove any previous tarballs
+
+if [ -f ${TAR_NAME} ] ; then
+ echo "Removing ${TAR_NAME}"
+ rm -f ${TAR_NAME} || \
+ { echo "rm ${TAR_NAME} failed!" ; exit 1 ; }
+fi
+
+if [ -f ${ZIP_NAME} ] ; then
+ echo "Removing ${ZIP_NAME}"
+ rm -f ${ZIP_NAME} || \
+ { echo "rm ${ZIP_NAME} failed!" ; exit 1 ; }
+fi
+
+# Then zip it
+
+${TAR} ${TAR_NAME} ${SUBDIR} || \
+ { echo "tar of ${TAR_NAME} failed!" ; exit 1 ; }
+${ZIP} ${TAR_NAME} || \
+ { echo "zip of ${TAR_NAME} failed!" ; exit 1 ; }
+
+cd ${WD}
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index f4bdc7ed0..e131d26b2 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -3453,7 +3453,7 @@
* net/uip/uip_icmpping.c: Fix problem that prevented ping from
going outside of local network. Submitted by Darcy Gong
-6.23 2012-09-29 Gregory Nutt <gnutt@nuttx.org>
+6.23 2012-11-05 Gregory Nutt <gnutt@nuttx.org>
* arch/arm/src/stm32/stm32_rng.c, chip/stm32_rng.h, and other files:
Implementation of /dev/random using the STM32 Random Number
@@ -3480,7 +3480,7 @@
* drivers/input/max11802.c/h, and include/nuttx/input max11802.h: Adds
support for the Maxim MAX11802 touchscreen controller (contributed by
Petteri Aimonen).
- * graphics/nxtk/nxtk_events.c: Missing implementatin of the blocked
+ * graphics/nxtk/nxtk_events.c: Missing implementation of the blocked
method. This is a critical bugfix for graphics support (contributed
by Petteri Aimonen).
* drivers/usbdev/pl2303.c, drivers/usbdev/usbmsc.h, and
@@ -3537,7 +3537,7 @@
they don't draw in so much un-necessary code when doing a dumb link.
* binfmt/libelf: The ELF loader is working correctly with C++ static
constructors and destructors and all.
- * Documentation/NuttXBinfmt.html: Add documentionof the binary loader.
+ * Documentation/NuttXBinfmt.html: Add documentation of the binary loader.
* configs/sim/ostest: Converted to use the mconfig configuration tool.
* configs/sim/cxxtest: New test that will be used to verify the uClibc++
port (eventually).
@@ -3566,4 +3566,8 @@
and standardization of linker scripts from Freddie Chopin.
* net/netdev_ioctl.c: Add interface state flags and ioctl calls
to bring network interfaces up and down (from Darcy Gong).
+ * config/stm32f4discovery: Enable C++ exceptions. Now the entire
+ apps/examples/cxxtest works -- meaning the the uClibc++ is
+ complete and verified for the STM32 platform.
+6.24 2012-xx-xx Gregory Nutt <gnutt@nuttx.org>
diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html
index be23be91d..af8133534 100644
--- a/nuttx/Documentation/NuttX.html
+++ b/nuttx/Documentation/NuttX.html
@@ -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: October 29, 2012</p>
+ <p>Last Updated: November 5, 2012</p>
</td>
</tr>
</table>
@@ -537,14 +537,14 @@
<tr>
<td valign="top" width="22"><img height="20" width="20" src="favicon.ico"></td>
<td bgcolor="#5eaee1">
- <b>C Library</b>
+ <b>C/C++ Libraries</b>
</td>
</tr>
<tr>
<td><br></td>
<td>
<p>
- <li>Fully integrated into the OS.</li>
+ <li>Standard C Library Fully integrated into the OS.</li>
</p>
</td>
</tr>
@@ -552,7 +552,7 @@
<td><br></td>
<td>
<p>
- <li>Includes floating point math library.</li>
+ <li>Includes floating point support via a Standard Math Library.</li>
</p>
</td>
</tr>
@@ -560,7 +560,7 @@
<td><br></td>
<td>
<p>
- <li>Add-on <a href="http://cxx.uclibc.org/">uClibc++</a> C++ Library is available (LGPL).</li>
+ <li>Add-on <a href="http://cxx.uclibc.org/">uClibc++</a> module provides Standard C++ Library(LGPL).</li>
</p>
</td>
</tr>
@@ -1039,121 +1039,115 @@
</tr>
</table>
-<h2>NuttX-6.22 Release Notes</h2>
+<h2>NuttX-6.23 Release Notes</h2>
<p>
- The 89<sup>th</sup> release of NuttX, Version 6.22, was made on September 29, 2012, and is available for download from the
+ The 90<sup>th</sup> release of NuttX, Version 6.23, was made on November 5, 2012, and is available for download from the
<a href="http://sourceforge.net/projects/nuttx/files/">SourceForge</a> website.
- Note that the release consists of two tarballs: <code>nuttx-6.22.tar.gz</code> and <code>apps-6.22.tar.gz</code>.
+ Note that the release consists of two tarballs: <code>nuttx-6.23.tar.gz</code> and <code>apps-6.23.tar.gz</code>.
Both may be needed (see the top-level <code>nuttx/README.txt</code> file for build information)
The change log associated with the release is available <a href="#currentrelease">here</a>.
Unreleased changes after this release are available in SVN.
These unreleased changes are also listed <a href="#pendingchanges">here</a>.
</p>
<p>
- This release corresponds with SVN release number: r5206,
+ This release corresponds with SVN release number: r5313,
Note that all SVN information has been stripped from the tarballs.
If you need the SVN configuration, you should check out directly from SVN.
- Revision r5206 should equivalent to release 6.22 of NuttX 6.22:
+ Revision r5313 should equivalent to release 6.23 of NuttX:
</p>
<ul><pre>
-svn checkout -r5206 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
+svn checkout -r5313 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
</pre></ul>
<p>Or</p>
<ul><pre>
-svn checkout -r5206 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
+svn checkout -r5313 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
</pre></ul>
<p>
<b>Additional new features and extended functionality</b>
</p>
+
<ul>
<li>
<p>
<b>RTOS</b>:
- Application entry point is no longer user_start, but can be configured using <code>CONFIG_USER_ENTRYPOINT</code>.
- NuttX now supports two work queues: A lower priority work queue (for extended processing) and a higher priority work queue (for quick, high priority operations).
+ If both <code>atexit()</code> and <code>on_exit()</code> are enabled, use <code>on_exit()</code> to implement <code>atexit()</code>.
+ Updates for RGMP 4.0.
</p>
</li>
<li>
<p>
- <b>Memory Management</b>:
- Added a new granule-based allocated that can be used to manage, aligned and quantized DMA memory.
+ <b>Binfmt</b>:
+ Add support for loading and executing ELF binary modules from a file system.
</p>
</li>
<li>
<p>
- <b>File System</b>:
- Add hooks to allocate I/O memory with and external allocated (need if required by DMA).
+ <b>Drivers</b>:
+ Maxim MAX11802 touchscreen controller (Petteri Aimonen)
</p>
</li>
<li>
<p>
- <b>Networking</b>:
- ENC28J60 driver is (finally) verified.
+ <b>STM32 Driver</b>:
+ Implementation of <code>/dev/random</code> using the STM32 Random Number Generator (RNG).
</p>
</li>
<li>
<p>
- <b>Drivers</b>:
- Add hooks USB device drivers to allocate I/O memory with and external allocated (need if required by DMA).
- Driver for the Windbond SPI FLASH family (W25x16, W25x32, W25x64, and others).
- ADS7843E driver extended for TSC2046 and XPT2046 and verified.
+ <b>STM32 Boards</b>:
+ ADC support for the Shenzhou IV board.
+ Relay support for the Shenzhou IV board (both by Darcy Gong).
</p>
</li>
<li>
<p>
- <b>ARMv7-M</b>:
- Added logic to reset the MCU using the NVIC.
+ <b>C++ Standard Library</b>:
+ Support is now included for the add-on uClibc++ C++ standard library support.
+ This includes support for iostreams, strings, STL, RTTI, exceptions -- the complete C++ environment.
+ uClibc++ is provided as a separate add-on package due to licensing issues.
+ Contributed by Qiang Yu and David of the RGMP team.
</p>
- </li>
- <li>
<p>
- <b>STM32</b>:
- Add support for STM32F103VET6.
+ Add support for <code>__cxa_atexit()</code>.
</p>
</li>
<li>
<p>
- <b>STM32 Drivers</b>:
- Add logic to re-initialize UARTs a second time to enable DMA (Mike Smith).
- I2C driver error recovery (Mike Smith).
- </p>
- </li>
- <li>
+ <b>C Standard Library</b>:
<p>
- <b>STM32 boards</b>:
- Support for USB host added add to several configurations (or at least explained in README files).
- Support for the Shenzhou STM32F107 board (see www.armjishu.com).
- Support for M3 Wildfire STM32F103 board (v2 and v3).
+ Optimized generic and ARM-specific <code>memcpy()</code> function.
+ Optimized <code>memset()</code> function.
</p>
- </li>
- <li>
<p>
- <b>Build System:</b>:
- Kconfig string de-quoting logic.
- Remove comments from <code>defconfig</code> files (Kate).
- Add tool to create NuttX-style symbol tables.
- Numerous changes to configuration logic as needed for the new <code>mconf</code>-based configuration (much of this from Richard Cochran).
- Refactor common <code>Make.defs</code> logic into <code>tools/Config.mk</code> (Richard Cochran).
+ Add support for <code>ferror())</code>, <code>feof())</code>, and <code>clearerror())</code>.
</p>
</li>
<li>
<p>
- <b>Library</b>:
- Configurable terse output from <code>strerror()</code>.
- Added <code>perror()</code> (Kate).
- Add <code>%n</code> format to <code>sscanf()</code> (Kate).
+ <b>Standard Math Library</b>:
+ <p>
+ Port of the math library from Rhombus OS by Nick Johnson (Darcy Gong).
</p>
</li>
<li>
<p>
<b>Applications</b>:
- Numerous changes and extensions to the old uIP web server (from Kate and Max Holtzberg, see the ChangeLog for specific extensions).
- UDP network discovery utility (Max Holtzberg).
- Embeddable Lightweight XML-RPC Server (http://www.drdobbs.com/web-development/an-embeddable-lightweight-xml-rpc-server/184405364, Max Holtzberg).
+ New NSH commands: <code>ifup</code>, <code>ifdown</code>, <code>urlencode</code>, <code>urldecode</code>, <code>base64enc</code>, <code>bas64dec</code>, and <code>md5</code> (Darcy Gong).
+ Extensions to the <code>ifconfig</code> command (Darcy Gong),
+ Add support for NSH telnet login (Darcy Gong).
+ Enancements to NSH ping command to support pinging hosts with very long round-trip times.
+ </p>
+ <p>
+ Many extensions to the <code>webclient</code>/<code>wget</code> and DNS resolver logic from Darcy Gong.
+ SON, Base64, URL encoding, and MD5 libraries contributed by Darcy Gong.
+ </p>
+ <p>
+ New examples: ELF loader, JSON, wgetjson, cxxtest, relays.
</p>
</li>
</ul>
+
<p>
<b>Bugfixes</b> (see the change log for details)
Some of these are very important (marked <b><i>critical</i></b>):
@@ -1161,78 +1155,27 @@ svn checkout -r5206 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
<ul>
<li>
<p>
- <b>RTOS</b>:
- Fixes to priority inheritance logic (<b><i>critical</i></b>).
- <code>waitpid()</code> critical section.
- Assertion in <code>work_cancel()</code> (Mike Smith).
- <code>mmap()</code> (Kate).
- </p>
- </li>
- <li>
- <p>
- <b>FAT File System</b>:
- Improper Boolean expression caused un-necessary writes and performance issues (<b><i>critical</i></b>, Ronen Vainish).
- </p>
- </li>
- <li>
- <p>
- <b>Networking</b>:
- Remove an un-necessary delay from <code>recvfrom()</code>.
- This greatly improves network performance (<b><i>critical</i></b>, Max Holtzberg).
- </p>
- </li>
- <li>
- <p>
- <b>Graphics</b>:
- NX parameter checking errors.
- </p>
- </li>
- <li>
- <p>
<b>Drivers</b>:
- Fix double release of memory in SDIO-based, MMC/SD driver (Ronen Vainish).
- </p>
- </li>
- <li>
- <p>
- <b>LPC17xx</b>:
- Ethernet driver fixes needed for certain PHYs (Kate).
- </p>
- </li>
- <li>
- <p>
- <b>AVR</b>:
- Fix build error (Richard Cochran).
- </p>
- </li>
- <li>
- <p>
- <b>STM32</b>:
- USB OTG FS host driver NAKing an retries.
- Power management compilation errors (Diego Sanchez).
- Missing SPI3 remap logic.
+ W25 SPI FLASH
</p>
</li>
<li>
<p>
<b>STM32 Drivers</b>:
- Fix for Ethernet errata for STM32F107 (<b><i>critical</i></b>).
- Ethernet buffer alignment check.
- Add &quot;kludge&quot; to Ethernet driver to handle DM9161 PHY which (at least on the Shenzhou board), sometimes does not come up correctly.
+ ADC reset
</p>
</li>
<li>
<p>
- <b>Applications</b>:
- THTTPD (Kate).
- NSH <code>ping</code> when IP address is on a different network (Darcy Gong).
+ <b>Fraphics</b>:
+ Missing implementation of the blocked method (*critical*, Petteri Aimonen).
</p>
</li>
<li>
<p>
- <b>Library</b>:
- <code>fread()</code>, <code>fflush()</code>, <code>fdopen()</code>: Fix error handling logic (Ronen Vainish).
- Fix some field-width handling issues in <code>sscanf()</code>
+ <b>C Library</b>:
+ Floating point numbers in <code>printf</code> and related formatting functions (Mike Smith),
+ <code>cf[get|set]speed()</code> (Mike Smith)
</p>
</li>
</ul>
@@ -3238,351 +3181,179 @@ Other memory:
</table>
<ul><pre>
-nuttx-6.22 2012-09-29 Gregory Nutt &lt;gnutt@nuttx.org&gt;
-
- * include/semaphore.h, sched/sem_holders.c, and lib/semaphore/sem_init.c:
- Fix some strange (and probably wrong) list handling when
- CONFIG_PRIORITY_INHERITANCE and CONFIG_SEM_PREALLOCHOLDERS are defined.
- This list handling was probably causing errors reported by Mike Smith
- * sched/sched_waitpid.c: Fix a possible issue with logic logic that
- should be brought into a critical section (suggested by Mike Smith)
- * sched/sched_setuptaskfiles.c: Should be 'struct socket' not
- 'struct sockets'. How did this compile before? (found by Kate)
- * syscall/syscall.csv: Fix prototype for usleep() and prctl() (also
- from Kate).
- * arch/arm/src/lpc17xx/lpc17_ethernet.c: Conditionally elide setting PHY
- speed/duplex. This does not work for certain PHYs. Still some unresolved
- issues (also from Kate).
- * tools/Config.mk, Makefile, configs/*/Make.defs: Add a new Makefile
- fragment to de-quote certain strings from the Kconfig logic that
- need to be used at path segments (Richard Cochran).
- * arch/arm/src/stm32/stm32_usbotghost.c: The STM32 USB host driver only
- works with debug turned on. The problem appears to be that with debug
- OFF, there are more NAKs occuring in more places than before and this
- reveals a variety of errors. This check in improves NAK robustness
- for control transfers but does not resolve all of the issues.
- * configs/stm3220g-eval/*/defconfig: Calibrated delay loop. It had
- never been calibrated was way off.
- * sched/sem_holder.c: Add logic to handler some priority inheritance
- cases when sem_post() is called from an interrupt handler. The
- logic is clearly wrong, but it is not known if this is the
- cause of any known bugs.
- * lib/stdio/lib_perror(): Add perror(). Contributed by Kate.
- * lib/string/lib_strerror(): Add option CONFIG_LIBC_STRERROR that
- is now required to enabled strerror(). Add an option
- CONFIG_LIBC_STRERROR_SHORT that can be used to output shortened
- strings by strerror().
- * arch/arm/src/stm32/stm32_usbotghost.c: Finally... the USB OTG FS
- appears to handle NAKing correctly.
- * configs/stm32f4discovery/*: Added and verifed support for USB OTG FS
- host on the STM32F4Discovery board.
- * configs/*/defconfig: Remove configuration documentation from config
- files. It is redundant, error-prone, and difficult to maintain.
- Configuration documentation is available in configs/README.txt for
- common configurations and in configs/*/README.txt for board and MCU-
- specific configurations.
- * configs/stm3240g-eval: Add USB host support.
- * sched/os_bring.c, configs/*/defconfig, tools/mkconfig.c, and others: Added
- configuration variable CONFIG_USER_ENTRYPOINT that may be used to change
- the default entry from user_start to some other symbol. Contributed by
- Kate. NOTE: This change does introduce a minor backward incompatibility.
- For example, if your application uses NSH as its start-up program, then your
- build will now fail because it will be unable to find &quot;user_start&quot;. The fix
- for this link failure is to add the following to your configuration file:
- CONFIG_USER_ENTRYPOINT=&quot;nsh_main&quot;.
- * libs/stdio/lib_libfread.c and lib_*flush*.c: Correct a couple of
- error cases where the lib semaphore was not be released on error
- exits (thanks Ronen Vainish). Also, improved some error reporting:
- the generic ERROR was being used instead of the specific errno
- value; the errno variable was not always set correctly.
- * tools/mkfsdata.pl: The uIP web server CGI image making perl script was
- moved from apps/netutils/webserver/makefsdata to nuttx/tools/mkfsdata.pl
- (Part of a larger change submitted by Max Holtzberg).
- * configs/stm3240g-eval/script/ld.script: All of the identical ld.script
- files for the STM3240G-EVAL were replaced by one version in this directory.
- * configs/stm3240g-eval/webserver: Configuration submitted by Max Holtzberg
- for testing the changes to the uIP web server (see apps/ChangeLog.txt).
- * lib/stdio/lib_perror.c: Remove CONFIG_LIBC_PERROR_DEVNAME. What was I
- thinking? Arbitrary streams cannot be shared by different tasks.
- * tools/mksyscall.c, csvparser.c, and csvparser.h: Separate CSV parsing
- logic from mksyscall.c into files where it can be shared.
- * tools/mksymtab.c: Add a tool that can be used to convert a CSV file
- into a NuttX-style symbol table.
- * sched/work_cancel.c: Fix a bad assertion (reported by Mike Smith)
- * configs/stm3210e-eval/src/up_idle.c: Correct some power management
- compilation errors (reported by Diego Sanchez).
- * include/nuttx/wqueue.h, sched/work*, and others: Added logic to support
- a second, lower priority work queue (CONFIG_SCHED_LPWORK).
- * arch/arm/src/stm32/stm32_dma.c, chip/stm32*_memorymap.h: FSMC SRAM is
- only 16-bits wide and the SDIO DMA must be set up differently.
- * arch/arm/src/stm32/stm32_dma.c: Back out the 16-bit DMA change. It
- is incorrect.
- * configs/: Make use of UART4/5 vs USART4/5 consistent in all places.
- * Kconfig: Serial 2STOP setting must be integer 0/1, not a boolean.
- * lib/misc/sendfile.c and include/sys/sendfile.h: Add a Linux style
- sendfile() (non-standard!)
- * Kconfig: Refactor serial settings (moved from chip to drivers/serial).
- AVR &quot;teensy&quot; now builds with Kconfig (contributed by Richard Cochran).
- * Kconfig: Add configuration settings for the LPC17xx
- * Kconfig: Add configuration settings for the LM3S (from Richard Cochran).
- * Kconfig: Verify configuration settings for the STM32. This includes
- changes in the way that the external SRAM is configured: Define
- CONFIG_HEAP2_SIZE (decimal) instead of CONFIG_HEAP2_END (hex).
- * tools/configure.sh: Don't append the apps directory path setting
- if the correct setting is already in defined in the defconfig file.
- * fs/fat/fs_utils.c: Improperly constructed bool expression. This
- would cause many unnecessary writes to FLASH (Thanks Ronen Vainish).
- * Kconfig: Verify configuration settings for the LPC43xx. This includes
- some corrections to configuration variable names and defconfig settings.
- * Kconfig: Add and verify configuration settings for the LPC31xx.
- * arch/arm/src/stm32/stm32_uart.h and stm32_serial.c: Add logic to
- re-initialize the console UART as needed to enable DMA on the
- console UART (contributed by Mike Smith).
- * net/recvfrom.c, net/Kconfig, include/nuttx/net/uipopt.h: Remove delay
- after receiving data. That has historical reasons to be there (it
- was needed before read-ahead buffering was added), but kills performance.
- (Noted by Max Holtzberg).
- * configs/shenzhou: Add beginnings of a board configuration for the
- Shenzhou STM32107 board (see www.armjishu.com). Very little is in
- place as of this initial check-in.
- * QEMU: Fixes from Richard Cochran to build QEMU with Kconfig files.
- * arch/*/src/Makefile: Remove some old logic that was kicked off
- when CONFIG_BOOT_RUNFROMFLASH=y. The old logic used to use
- objcopy to move sections. Newer logic changes the load position
- of sections in the the linker script. As far as I can tell, there
- is nothing in the source tree now that depends on the old way of
- doing things (if I am wrong, they will need a change to the linker
- script).
- * configs/fire-stm32v2: Configuration for the M3 Wildfire board. I
- don't know very much about this board other than is has an
- STM32F103VET6 chip, LCD, touchscreen, and ENC28J60 network. Very
- little is in place on the initial check-in.
- * configs/shenzhou: Coding for the Shenzhou board port is complete,
- but tested has been deferred until I get the right tools.
- * arch/arc/include/stm32/chip.h and arch/arm/src/stm32/chip.h:
- Add support for the STM32F103VET6.
- * fs/fs_fdopen.c: Bad check for failure to allocate memory. (Noted
- by Ronen Vainish).
- * drivers/mmcsd/mmcsd_sdio.c: If the MMC/SD driver were ever
- uninitialized then there would be a double release of memory
- (Noted by Ronen Vainish).
- * fs/mmap/fs_rammap.c: Fix logic error and errno check (contributed
- by Kate).
- * arch/avr/src: Fixes from AVR32 build errors that have crept in
- over the time; incorporated Kconfig for AVR3 (Richard Cochran).
- * fs/fat and include/nuttx/fs/fat.h: The FAT file system allocates
- memory for sector I/O buffers used to exchange data with the
- configured block driver. In some contexts, the block driver may
- require DMA-capable memory. If CONFIG_FAT_DMAMEMORY is defined,
- then the FAT FS will use platform-provided DMA memory allocators
- to allocate the block driver I/O buffers.
- * CONFIG_NET_ENC28J60 renamed CONFIG_ENC28J60 to be consistent
- in all places.
- * drivers/enc28j60.c, include/nuttx/net/enc28j60.h, and
- olimex-strp711/src/up_enc28j60.c: No longer passes IRQ number
- as a parameter. Instead now passes a call table to manage
- ENC28J60 GPIO interrupts. That is because GPIO interrupts are
- handled in different ways by different MCUs and some do not
- support IRQ numbers for GPIO interrupts.
- * mm/mm_gran* and include/nuttx/gran.h: Add a simple granule-
- based allocator. The intent of this allocator is to support
- simple allocation of DMA I/O buffers. The initial check-in
- is code complete but untested (not event built into the
- mm/Makefile yet.
- * confgs/fire-stm32v2: The board port is basically functional.
- Not all features have been verified. The ENC28J60 network
- is not yet functional.
- * configs/stm3240g-eval/discover: A configuration for testing
- the UDP discovery utility. Contributed by Max Holtzberg.
- * mm/README.txt: Add a new README file.
- * include/nuttx/usb/usb.h, arch/*/src/*usb.c, and arch/*/src/*otg*.c:
- Add hooks to to use common, external DMA buffer allocation
- implementation.
- * net/recvfrom.c: Don't block in recvfrom if (1) read-ahead buffering
- is enabled and (2) some data was obtained from read-ahead buffers.
- Blocking is a bad idea in that case because there is no timeout!
- (submitted by Max Holtzberg).
- * configs/stm3240g-eval/xmlrpc: An example configuration for the
- Embeddable Lightweight XML-RPC Server at apps/examples/xmlrpc.
- See http://www.drdobbs.com/web-development/\
- an-embeddable-lightweight-xml-rpc-server/184405364 for more info.
- Contributed by Max Holtzberg.
- * configs/*/nxwm/defconfig and sched/task_exithook.c: Fixes for
- bugs that crept in during recent changes. (Submitted by Max
- Holtzberg).
- * arch/arm/include/armv7-m/irq.h: Fix a critical bug in irqsave().
- It looks like sometimes the compile will re-order some instructions
- inapproapriately. This end result is that interrupts will get
- stuck off.
- * drivers/mtd/w25.c: Beginning of a driver for the Windbond SPI
- FLASH family (W25x16, W25x32, and W25x64). The initial check-in
- is basically just the SST25 driver with some name changes.
- * arch/arm/include/armv7-m/irq.h and arch/arm/src/stm32/stm32_spi.c:
- Back out the last change in irq.h. It is (most likely) fine the
- way it was. The really interrupt related problem was in stm32_spi.c:
- When SPI3 is not enabled, then the irqrestore() falls in the
- else clause.
- * include/nuttx/compiler.h and other files: Moved always_inline
- and noinline __attributes__ here. Also replaced all occurrences
- of explicit __atributes__ in other files with definitions from
- this header file.
- * drivers/mtd/w25.c: The Windbond SPI FLASH W25 FLASH driver is
- code complete (but still untested).
- * arch/arm/src/stm32/stm32_i2c.c: I2C improvements from Mike Smith.
- Unified configuration logic; dynamic timeout calculations;
- I2C reset logic to recover from locked devices on the bus.
- * configs/*/*/Make.defs, tools/Config.mk, Makefile: Refactor all
- common make definitions from the various Make.defs files into
- the common tools/Config.mk. Add support for a verbosity options:
- Specify V=1 on the make command line in order to see the exact
- commands used in the build (Contributed by Richard Cochran).
- * drivers/net/enc28j60.c: The ENC28J60 Ethernet driver is
- now functional.
- * configs/fire-stm32v2: Add support or the fire-stm32v3 board as
- well (untested because I do not have a v3 board).
- * lib/stdio/lib_sscanf.c: Add %n psuedo-format (from Kate).
- * lib/stdio/lib_sscanf.c: There is an issue of handling input
- when (1) no fieldwidth is provided and (2) there is no space
- seperating the input values. No solutions is in place for this
- case now (either space or a fieldwidth must be provided). But
- at least some of the bad logic that attempted to handle this
- case has been removed (noted by Kate).
- * arch/arm/src/stm32/stm32_eth.c: DMA buffer sizes must be an
- even multiple of 4, 8, or 16 bytes.
- * arch/arm/src/stm32/stm32_idle.c: Fixes STM32F107 DMA issues:
- We cannot go into sleep mode while Ethernet is actively DMAing.
- * configs/shenzhou/src/up_ssd1289.c: Add infrastructure to support
- SSD1289 LCD. Initial checkin is just a clone of the
- STM32F4Discovery's FSMC-based LCD interface. The Shenzhou
- will need a completely need bit-banging interface; this
- initial check-in is only for the framework.
- * configs/shenzhou/src/up_ssd1289.c: Bit-banging driver is
- code complete.
- * configs/shenzhou/src/up_lcd.c: Oops. Shenzhou LCD does not
- have an SSD1289 controller. Its an ILI93xx. Ported the
- STM3240G-EVAL ILI93xx driver to work on the Shenzhou board.
- * configs/shenzhou/nxwm: Added an NxWM configuration for the
- Shenzhou board. This is untested on initial check-in. It will
- be used to verify the Shenzhou LCD driver (and eventually the
- touchscreen driver).
- * configs/shenzhou/src/up_touchscreen.c: Add ADS7843E touchscreen
- support for the Shenzhou board. The initial check-in is untested
- and basically a clone of the the touchscreen support for the SAM-3U.
- * tools/cfgparser.c: There are some NxWidget configuration
- settings that must be de-quoted.
- * arch/arm/src/stm32/Kconfig: There is no SPI4. Some platforms
- support SPI3 and some do not (still not clear).
- * nuttx/configs/shenzhou: Various fixes to build new NxWM
- configuration.
- * configs/shenzhou: Oops. The Shenzhou LCD is and SSD1289,
- not an ILI93xx.
- * configs/shenzhou/src/up_ssd1289.c: The LCD is basically functional
- on the Shenzhou board.
- * graphics/nxmu: Correct some bad parameter checking that caused
- failures when DEBUG was enabled.
- * arch/arm/src/armv7-m/nvic.h: Add bit definitions for the AIRCR
- register.
- * drivers/input/ads7843.c: Need semaphore protection in logic
- that samples the position.
- * drivers/lcd/ssd1289.c: On some platforms we are unable to
- read the device ID -- reason unknown; workaround in place.
- * drivers/input/ads7843.c: Add thresholding options and an
- option to swap X and Y positions. Fix some logic errors in
- the SPI locking/selecting logic.
- * arch/arm/src/armv7-m/up_systemreset.c: Add logic to reset
- the Cortex-Mx using the AIRCR register. Contributed by Darcy
- Gong.
- * arch/arm/src/stm32/up_eth.c: Add logic specifically for the
- DM9161 PHY. If the DM9161 failed to initialize, then use the
- up_sysemreset() logic to reset the MCU. Contributed by Darcy
- Gong.
- * arch/arm/src/stm32/stm32_gpio.c: Add missing logic to set bit
- for SPI3 remap. This fixes the XPT2046 touchscreen driver using
- drivers/input/ads7843.c
- * configs/shenzhou/src/up_ssd1289.c: Fix naming error in
- conditional compilation.
- * configs/shenzhou/nxwm/defconfig: Disable reading from the LCD.
- This does not work. The hardware and the driver support the
- capability, but there is some bug that causes memory corruption.
- The work around for now: Just disable reading from the LCD.
- * drivers/lcd/ssd1289.c: Add some logic to reduce the amount of
- output when CONFIG_DEBUG_LCD is enabled.
- * configs/shenzhou/nxwm/defconfig: Bug found and fixed... The
- original configuration had too much stuff turned on. Reducing
- stack sizes, some features, and buffer sizes made the
- configuration reliable (Reading from the LCD is still disabled).
- * net/uip/uip_icmpping.c: Fix problem that prevented ping from
- going outside of local network. Submitted by Darcy Gong
-
-apps-6.22 2012-09-29 Gregory Nutt &lt;gnutt@nuttx.org&gt;
-
- * apps/netutils/thttpd/thttpd_cgi.c: Missing NULL in argv[]
- list (contributed by Kate).
- * apps/nshlib/nsh_parse.c: CONFIG_NSH_DISABLE_WGET not CONFIG_NSH_DISABLE_GET
- in one location (found by Kate).
- * apps/examples/ostest/prioinherit.c: Limit the number of test
- threads to no more than 3 of each priority. Bad things happen
- when the existing logic tried to created several hundred test
- treads!
- * apps/nshlib/nsh.h: Both CONFIG_LIBC_STRERROR and CONFIG_NSH_STRERROR
- must be defined to use strerror() with NSH.
- * apps/examples/*/*_main.c, system/i2c/i2c_main.c, and others: Added
- configuration variable CONFIG_USER_ENTRYPOINT that may be used to change
- the default entry from user_start to some other symbol. Contributed by
- Kate.
- * apps/netutils/webserver/httpd/c: Fix a typo that as introduced in
- version r4402: 'lese' instead of 'else' (Noted by Max Holtzberg).
- * tools/mkfsdata.pl: The uIP web server CGI image making perl script was
- moved from apps/netutils/webserver/makefsdata to nuttx/tools/mkfsdata.pl
- (Part of a larger change submitted by Max Holtzberg).
- * apps/netutils/webserver, apps/examples/uip, and apps/include/netutils/httpd.h:
- The &quot;canned&quot; version of the uIP web servers content that was at
- netutils/webserver/httpd_fsdata.c has been replaced with a dynamically
- built configuration located at apps/examples/uip (Contributed by
- Max Holtzberg).
- * apps/netutils/webserver: Several inenhancements from Kate including the
- ability to elide scripting and SERVER headers and the ability to map
- files into memory before transferring them.
- * apps/netutils/webserver: Add ability to map a URL to CGI function.
- Contributed by Kate.
- * apps/nshlib/nsh_mntcmds.c: The changes of 6.21 introduced holes in the
- error handling: Now the number of arguments to mount can be 0 or 4.
- Additional parameter checking is required to prevent mysterious errors
- (submiteed by Kate).
- * apps/netutils/webserver/httpd_mmap.c: Fix errors when the mmap()
- length is zero (submitted by Kate).
- * apps/netutils/webserver/httpd_sendfile.c: Add and option,
- CONFIG_NETUTILS_HTTPD_SENDFILE to transfer files using the NuttX
- sendfile() interface.
- * apps/netutils/discover: A UDP network discovery utility contributed
- by Max Holtzberg.
- * apps/examples/discover: A test example for the UDP network discovery
- utility (also contribed by Max Holtzberg).
- * apps/examples/*/main.c: Too many files called main.c. Each renamed
- to something unique so that they will not collide in the archive.
- * apps/netutils/xmlrpc: The Embeddable Lightweight XML-RPC Server
- discussed at http://www.drdobbs.com/web-development/\
- an-embeddable-lightweight-xml-rpc-server/184405364. Contributed by
- Max Holtzberg.
- * apps/netutils/uip_listenon.c: Logic in uip_server.c that creates
- the listening socket was moved to this new file to support re-use.
- Contributed by Kate.
- * apps/netutils/webserver/httpd.c: The option CONFIG_NETUTILS_HTTPD_SINGLECONNECT
- can now be used to limit the server to a single thread. Option
- CONFIG_NETUTILS_HTTPD_TIMEOUT can be used to generate HTTP 408 errors.
- Both from Kate.
- * apps/netutils/webserver/httpd.c: Improvements to HTTP parser from
- Kate.
- * apps/netutils/webserver/httpd.c: Add support for Keep-alive connections
- (from Kate).
- * apps/NxWidget/Kconfig: This is a kludge. I created this NxWidgets
- directory that ONLY contains Kconfig. NxWidgets does not live in
- either the nuttx/ or the apps/ source trees. This kludge makes it
- possible to configure NxWidgets/NxWM without too much trouble (with
- the tradeoff being a kind ugly structure and some maintenance issues).
- * apps/examples/Make.defs: Missing support for apps/examples/watchdog.
- * apps/NxWidgets/Kconfig: Add option to turn on the memory monitor
- feature of the NxWidgets/NxWM unit tests.
+nuttx-6.23 2012-11-05 Gregory Nutt &lt;gnutt@nuttx.org&gt;
+
+ * arch/arm/src/stm32/stm32_rng.c, chip/stm32_rng.h, and other files:
+ Implementation of /dev/random using the STM32 Random Number
+ Generator (RNG).
+ * board.h file for shenzhou, fire-stm32v2, and olimex-stm32-p107:
+ Add frequencies for HSE, HSI, LSE, and LSI. These are needed
+ by the STM32 watchdog driver.
+ * CONFIG_EXAMPLES_*: To make things consistent, changed all occurrences
+ of CONFIG_EXAMPLE_* to CONFIG_EXAMPLES_*.
+ * drivers/mtd/w25.c and configs/*/src/up_w25.c: Several fixes for the
+ W25 SPI FLASH.
+ * configs/*/Make.defs: All buildroot tools now use the extension
+ xxx-nuttx-elf- vs. xxx-elf-
+ * configs/shenzhou/*/Make.defs: Now uses the new buildroot 4.6.3
+ EABI toolchain.
+ * lib/stdio/lib_libdtoa.c: Another dtoa() fix from Mike Smith.
+ * configs/shenzhou/src/up_adc.c: Add ADC support for the Shenzhou
+ board (Darcy Gong).
+ * configs/shenzhou/thttpd: Add a THTTPD configuration for the
+ Shenzhou board (Darcy Gong).
+ * include/termios.h and lib/termios/libcf*speed.c: The non-standard,
+ &quot;hidden&quot; c_speed cannot be type const or else static instantiations
+ of termios will be required to initialize it (Mike Smith).
+ * drivers/input/max11802.c/h, and include/nuttx/input max11802.h: Adds
+ support for the Maxim MAX11802 touchscreen controller (contributed by
+ Petteri Aimonen).
+ * graphics/nxtk/nxtk_events.c: Missing implementatin of the blocked
+ method. This is a critical bugfix for graphics support (contributed
+ by Petteri Aimonen).
+ * drivers/usbdev/pl2303.c, drivers/usbdev/usbmsc.h, and
+ include/nuttx/usb/cdcacm.h: USB_CONFIG_ATTR_SELFPOWER vs.
+ USB_CONFIG_ATT_SELFPOWER (contributed by Petteri Aimonen).
+ * arch/arm/src/armv7-m/up_memcpy.S: An optimized memcpy() function for
+ the ARMv7-M family contributed by Mike Smith.
+ * lib/strings/lib_vikmemcpy.c: As an option, the larger but faster
+ implemementation of memcpy from Daniel Vik is now available (this is
+ from http://www.danielvik.com/2010/02/fast-memcpy-in-c.html).
+ * lib/strings/lib_memset.c: CONFIG_MEMSET_OPTSPEED will select a
+ version of memset() optimized for speed. By default, memset() is
+ optimized for size.
+ * lib/strings/lib_memset.c: CONFIG_MEMSET_64BIT will perform 64-bit
+ aligned memset() operations.
+ * arch/arm/src/stm32/stm32_adc.c: Need to put the ADC back into the
+ initial reset in the open/setup logic. Opening the ADC driver works
+ the first time, but not the second because the device is left in a
+ powered down state on the last close.
+ * configs/olimex-lpc1766stck/scripts: Replace all of the identical
+ ld.script files with the common one in this directory.
+ * configs/stm3220g-eval/scripts: Replace all of the identical
+ ld.script files with the common one in this directory.
+ * configs/hymini-stm32v/scripts: Replace all of the identical
+ ld.script files with the common one in this directory.
+ * configs/lpcxpresso-lpc1768/scripts: Replace all of the identical
+ ld.script files with the common one in this directory.
+ * binfmt/elf.c, binfmt/libelf, include/elf.h, include/nuttx/elf.h: Add
+ basic framework for loadable ELF module support. The initial check-
+ in is non-functional and is simply the framework for ELF support.
+ * include/nuttx/binfmt.h, nxflat.h, elf.h, and symtab.h: Moved to
+ include/nuttx/binfmt/.
+ * arch/sim/src/up_elf.c and arch/x86/src/common/up_elf.c: Add
+ for ELF modules.
+ * arch/arm/include/elf.h: Added ARM ELF header file.
+ * include/elf32.h: Renamed elf.h to elf32.h.
+ * configs/stm32f4discovery/ostest: Converted to use the new
+ Kconfig-based configuration system.
+ * configs/stm32f4discovery/elf and configs/stm32f4discovery/scripts/gnu-elf.ld
+ Add a configuration for testing the ARM ELF loader.
+ * binfmt/libelf: Can't use fstat(). NuttX does not yet support it. Damn!
+ * binfmt/libelf: The basic ELF module execution appears fully functional.
+ * configs/shenzhou/src/up_relays.c: Add support for relays from the
+ Shenzhou board. Contributed by Darcy Gong.
+ * lib/fixedmath: Moved the old lib/math to lib/fixedmath to make room for
+ the math library from the Rhombus OS
+ * lib/math: Now contains the math library from the Rhombus OS by Nick Johnson
+ (submitted by Darcy Gong).
+ * include/float.h: Add a first cut at the float.h header file. This
+ really should be an architecture/toolchain-specific header file. It
+ is only used if CONFIG_ARCH_FLOAT_H is defined.
+ * lib/math: Files now conform to coding standards. Separated float,
+ double, and long double versions of code into separate files so that
+ they don't draw in so much un-necessary code when doing a dumb link.
+ * binfmt/libelf: The ELF loader is working correctly with C++ static
+ constructors and destructors and all.
+ * Documentation/NuttXBinfmt.html: Add documentionof the binary loader.
+ * configs/sim/ostest: Converted to use the mconfig configuration tool.
+ * configs/sim/cxxtest: New test that will be used to verify the uClibc++
+ port (eventually).
+ * include/nuttx/fs/fs.h, lib/stdio/lib_libfread.c, lib_ferror.c,
+ lib_feof.c, and lib_clearerr.c: Add support for ferror(), feof(),
+ and clearerror(). ferror() support is bogus at the moment (it
+ is equivalent to !feof()); the others should be good.
+ * configs/stm32f4discovery/include/board.h: Correct timer 2-7
+ base frequency (provided by Freddie Chopin).
+ * include/nuttx/sched.h, sched/atexit.c, and sched/task_deletehook.c:
+ If both atexit() and on_exit() are enabled, then implement atexit()
+ as just a special caseof on_exit(). This assumes that the ABI can
+ handle receipt of more call parameters than the receiving function
+ expects. That is usually the case if parameters are passed in
+ registers.
+ * libxx/libxx_cxa_atexit(): Implements __cxa_atexit()
+ * configs/stm32f4discovery/cxxtest: New test that will be used to
+ verify the uClibc++ port (eventually). The sim platform turned not
+ to be a good platform for testing uClibc++. The sim example will not
+ run because the simulator will attempt to execute the static
+ constructors before main() starts. BUT... NuttX is not initialized
+ and this results in a crash. On the STM324Discovery, I will have
+ better control over when the static constructors run.
+ * RGMP 4.0 updated from Qiany Yu.
+ * configs/*/Make.defs and configs/*/ld.script: Massive clean-up
+ and standardization of linker scripts from Freddie Chopin.
+ * net/netdev_ioctl.c: Add interface state flags and ioctl calls
+ to bring network interfaces up and down (from Darcy Gong).
+ * config/stm32f4discovery: Enable C++ exceptions. Now the entire
+ apps/examples/cxxtest works -- meaning the the uClibc++ is
+ complete and verified for the STM32 platform.
+
+apps-6.23 2012-11-05 Gregory Nutt &lt;gnutt@nuttx.org&gt;
+
+ * vsn: Moved all NSH commands from vsn/ to system/. Deleted the vsn/
+ directory.
+ * Makefile: Change order of includes when CONFIG_NEWCONFIG=y. In
+ that case, namedapp must be included first so that the namedapp
+ context is established first. If the namedapp context is established
+ later, it will overwrite any existing namedapp_list.h and nameapp_proto.h
+ files.
+ * CONFIG_EXAMPLES_*: To make things consistent, changed all occurrences
+ of CONFIG_EXAMPLE_* to CONFIG_EXAMPLES_*.
+ * Kconfig: Fleshed out apps/examples/adc/Kconfig and apps/examples/wget/Kconfig.
+ There are still a LOT of empty, stub Kconfig files.
+ * Kconfig: Fleshed out apps/examples/buttons/Kconfig. There are still a LOT
+ of empty, stub Kconfig files.
+ * apps/netutils/webserver/httpd.c: Fix a bug that I introduced in
+ recent check-ins (Darcy Gong).
+ * apps/netutils/webclient/webclient.c: Fix another but that I introduced
+ when I was trying to add correct handling for loss of connection (Darcy Gong)
+ * apps/nshlib/nsh_telnetd.c: Add support for login to Telnet session via
+ username and password (Darcy Gong).
+ * apps/netutils/resolv/resolv.c (and files using the DNS resolver): Various
+ DNS address resolution improvements from Darcy Gong.
+ * apps/nshlib/nsh_netcmds.c: The ping command now passes a maximum round
+ trip time to uip_icmpping(). This allows pinging of hosts on complex
+ networks where the ICMP ECHO round trip time may exceed the ping interval.
+ * apps/examples/nxtext/nxtext_main.c: Fix bad conditional compilation
+ when CONFIG_NX_KBD is not defined. Submitted by Petteri Aimonen.
+ * apps/examples/nximage/nximage_main.c: Add a 5 second delay after the
+ NX logo is presented so that there is time for the image to be verified.
+ Suggested by Petteri Aimonen.
+ * apps/Makefile: Small change that reduces the number of shell invocations
+ by one (Mike Smith).
+ * apps/examples/elf: Test example for the ELF loader.
+ * apps/examples/elf: The ELF module test example appears fully functional.
+ * apps/netutils/json: Add a snapshot of the cJSON project. Contributed by
+ Darcy Gong.
+ * apps/examples/json: Test example for cJSON from Darcy Gong
+ * apps/nshlib/nsh_netinit.c: Fix static IP DNS problem (Darcy Gong)
+ * apps/netutils/resolv/resolv.c: DNS fixes from Darcy Gong.
+ * COPYING: Licensing information added.
+ * apps/netutils/codec and include/netutils/urldecode.h, base64.h, and md5.h:
+ A port of the BASE46, MD5 and URL CODEC library from Darcy Gong.
+ * nsnlib/nsh_codeccmd.c: NSH commands to use the CODEC library.
+ Contributed by Darcy Gong.
+ * apps/examples/wgetjson: Test example contributed by Darcy Gong
+ * apps/examples/cxxtest: A test for the uClibc++ library provided by
+ Qiang Yu and the RGMP team.
+ * apps/netutils/webclient, apps/netutils.codes, and apps/examples/wgetjson:
+ Add support for wget POST interface. Contributed by Darcy Gong.
+ * apps/examples/relays: A relay example contributed by Darcy Gong.
+ * apps/nshlib/nsh_netcmds: Add ifup and ifdown commands (from Darcy
+ Gong).
+ * apps/nshlib/nsh_netcmds: Extend the ifconfig command so that it
+ supports setting IP addresses, network masks, name server addresses,
+ and hardware address (from Darcy Gong).
NxWidgets-1.3 2012-09-29 Gregory Nutt &lt;gnutt@nuttx.org&gt;
@@ -3597,36 +3368,44 @@ NxWidgets-1.3 2012-09-29 Gregory Nutt &lt;gnutt@nuttx.org&gt;
* Kconfig: Add option to turn on the memory monitor feature of the
NxWidgets/NxWM unit tests.
+uClibc++-1.0 2011-11-05 &lt;gnutt@nuttx.org&gt;
+
+ * The initial release of the uClibc++ implementation of the standard
+ C++ library for NuttX. This package was contributed ay Qiang Yu and
+ David for the RGMP team.
+
+buildroot-1.11 2011-11-05 &lt;gnutt@nuttx.org&gt;
+
+ * configs/avr-defconfig-4.3.3 - Added --enable-long-long as a GCC
+ option.
+ * configs/avr-defconfig-4.5.2 - New configuration.
+ * Config.in and almost all configurations in configs/ - Changed the
+ default nuttx path to $(TOPDIR)/../../nuttx
+ * Misc files. Patch provided by Gerd v. Egidy that solves the following
+ problems
+ - binutils 2.21 is not available on the gnu servers anymore, they replaced
+ it with 2.21.1
+ - there is some assembler error when compiling gcc for arm, gcc bugzilla
+ 43999
+ - you can't build nuttx for cortex m3/m4 because of a missing instruction
+ in the assembler, binutils bugzilla 12296
+ * Add support for binutils 2.22 and GCC 4.6.3.
+ * Change name of all tools from xxx-elf to xxx-nuttx-elf
+ * Added an ARM EABI GCC 4.6.3 configuration (tool name is arm-nuttx-eabi-).
+ * ldnxflat: Add support for the R_ARM_REL32 relocation. This relocation
+ type was not generated by GCC/LD prior to gcc-4.6.3
+ * R_ARM_REL32 logic is conditionally disabled because it has not been
+ tested.
+ * ldnxflat: Correct a memory allocation error that could cause written
+ past the end of allocated memory. Partial restoration of R_ARM_REL32
+ logic. There are lots of issues that I still do not understand here.
+
pascal-3.0 2011-05-15 Gregory Nutt &lt;gnutt@nuttx.org&gt;
* nuttx/: The Pascal add-on module now installs and builds under the
apps/interpreters directory. This means that the pascal-2.1 module is
incompatible with will all releases of NuttX prior to nuttx-6.0 where the
apps/ module was introduced.
-
-buildroot-1.10 2011-05-06 &lt;gnutt@nuttx.org&gt;
-
- * Add patch submitted by Dimiter Georgiev to work around problems in building
- GDB 6.8 with versions of Cygwin &gt; 1.7.
- * configs/i486-defconfig-4.3.3 - Builds an i486 cross development toolchain
- using gcc 4.3.3. Why wouldyou want such a thing? On Linux, of course,
- such a thing is not needed because you can use the installed GCC to build
- i486 ELF binaries. But that will not work under Cygwin! The Cygwin
- toolchain (and probably MinGW), build DOS MZ format executables (i.e.,
- .exe files). That is probably not usable for most NuttX targets.
- Instead, you should use this i486-nuttx-elf-gcc to generate true ELF binaries
- under Cygwin.
- * Makefile - Alter copy arguments to avoid permissions problems when
- copying NuttX header files.
- * toolchain/nxflat/nxflat.mk and Makefile - Fix include paths.
- * toolchain/gcc/3.3.6 - Added a patch to fixed compilation error on Ubuntu
- 9.10.
- * toolchain/nxflat/Makefile - Correct static library link order.
- * configs/arm920t-defconfig-4.3.3 - Enable support for NXFLAT tools.
- * toolchain/binutils/2.21 and toolchain/gcc/4.5.2 - Add support for GCC
- 4.5.2 with binutils 2.21.
- * configs/arm920t-eabi-defconfig-4.5.2 - Add a configuration to build a
- GCC 4.5.2 EABI ARM toolchain for the ARM920t.
</pre></ul>
<table width ="100%">
diff --git a/nuttx/ReleaseNotes b/nuttx/ReleaseNotes
index b1d5f6064..5fe67a663 100644
--- a/nuttx/ReleaseNotes
+++ b/nuttx/ReleaseNotes
@@ -3171,3 +3171,81 @@ Bugfixes (see the change log for details). Some of these are very important
Vainish). Fix some field-width handling issues in sscanf()
As well as other, less critical bugs (see the ChangeLog for details)
+
+NuttX-6.23
+^^^^^^^^^^
+
+The 90th release of NuttX, Version 6.23, was made on November 5, 2012,
+and is available for download from the SourceForge website. Note
+that release consists of two tarballs: nuttx-6.23.tar.gz and
+apps-6.23.tar.gz. Both may be needed (see the top-level nuttx/README.txt
+file for build information).
+
+This release corresponds with SVN release number: r5313
+
+Note that all SVN information has been stripped from the tarballs. If you
+r5313 the SVN configuration, you should check out directly from SVN. Revision
+r5206 should equivalent to release 6.22 of NuttX 6.22:
+
+ svn checkout -r5313 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
+
+Or
+
+ svn checkout -r5313 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
+
+Additional new features and extended functionality:
+
+ * RTOS: If both atexit() and on_exit() are enabled, use on_exit() to
+ implement atexit(). Updates for RGMP 4.0.
+
+ * Binfmt: Add support for loading and executing ELF binary modules from
+ a file system.
+
+ * Drivers: Maxim MAX11802 touchscreen controller (Petteri Aimonen)
+
+ * STM32 Driver: Implementation of /dev/random using the STM32 Random Number
+ Generator (RNG).
+
+ * STM32 Boards: ADC support for the Shenzhou IV board. Relay support for
+ the Shenzhou IV board.
+
+ * C Library: Support is now included for the add-on uClibc++ C++
+ standard library support. This includes support for iostreams, strings,
+ STL, RTTI, exceptions -- the complete C++ environment. (uClibc++ is
+ provided as a separate add-on package due to licensing issues).
+
+ Optimized generic and ARM-specific memcpy() function. Optimized
+ memset() function.
+
+ Add support for ferror(), feof(), and clearerror(). Add support for
+ __cxa_atexit().
+
+ Math Library: Port of the math library from Rhombus OS by Nick Johnson
+ (Darcy Gong).
+
+ * Applications: New NSH commands: ifup, ifdown, urlencode, urldecode,
+ base64enc, bas64dec, md5 (Darcy Gong). Add support for NSH telnet login
+ (Darcy Gong). Enancements to NSH ping command to support pinging hosts
+ with very long round-trip times. Extensions to the ifconfig command
+ Darcy Gong),
+
+ Many extensions to the webclient/wget and DNS resolver logic from Darcy
+ Gong. JSON, Base64, URL encoding, and MD5 libraries contributed by Darcy
+ Gong.
+
+ New examples: ELF loader, JSON, wgetjson, cxxtest, relays.
+
+Bugfixes (see the change log for details). Some of these are very important
+(marked *critical*):
+
+ * Drivers: W25 SPI FLASH
+
+ * STM32 Drivers: ADC reset
+
+ * Graphics: Missing implementation of the blocked method (*critical*,
+ Petteri Aimonen).
+
+ * C Library: Floating point numbers in printf and related formatting functions
+ (Mike Smith), cf[get|set]speed() (Mike Smith)
+
+As well as other, less critical bugs (see the ChangeLog for details)
diff --git a/nuttx/configs/stm32f4discovery/README.txt b/nuttx/configs/stm32f4discovery/README.txt
index db423d65b..b6591c754 100644
--- a/nuttx/configs/stm32f4discovery/README.txt
+++ b/nuttx/configs/stm32f4discovery/README.txt
@@ -1030,6 +1030,8 @@ Where <subdir> is one of the following:
3. Then remove vterminate.o from the library. At build time, the
uClibc++ package will provide a usable replacement vterminate.o.
+ Steps 2 and 3 will require root privileges on most systems (not Cygwin).
+
Now NuttX should link with no problem. If you want to restore the
vterminate.o that you removed from libsupc++, you can do that with: