aboutsummaryrefslogtreecommitdiff
path: root/nuttx/ReleaseNotes
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/ReleaseNotes')
-rw-r--r--nuttx/ReleaseNotes3762
1 files changed, 0 insertions, 3762 deletions
diff --git a/nuttx/ReleaseNotes b/nuttx/ReleaseNotes
deleted file mode 100644
index 4e8768b96..000000000
--- a/nuttx/ReleaseNotes
+++ /dev/null
@@ -1,3762 +0,0 @@
-NuttX-0.1.0
-^^^^^^^^^^^
-
-This is the initial. This initial includes the complete NuttX RTOS
-with support for the Linux user mode simulation and the TI TMS320C5471
-(Arm7) processor. Partial support for the 87C52 is included.
-
-This release has been verified on both the Linux user-mode and C5471
-platforms using the test program under examples/ostest. Test results
-for the C5471 can be found in arch/c5471/doc/test-results.txt.
-
-This tarball contains a complete CVS snapshot from March 9,2007.
-
-NuttX-0.1.1
-^^^^^^^^^^^
-
-This is the second release of NuttX. This release includes the following.
-See the ChangeLog for more detailed description of the changes.
-
-(1) General OS bugfixes (see the ChangeLog for details),
-(2) bugfixes for the TI TMS320C5471 (Arm7) platform (see
- the ChangeLog)
-(3) Complete support for the 87C52. (However, the 87C52
- release is not stable enough for general usage).
-(4) Added the beginning of a shell call NuttShell (nsh)
-
-This release has been verified on the Linux user-mode platform, the
-Spectrum Digital TMS320C5471 EVM, and the PJRC 87C52 development board
-using the test program under examples/ostest.
-
-STATUS: The development status remains as ALPHA until further testing
-is performed.
-
-This tarball contains a complete CVS snapshot from March 14, 2007.
-
-NuttX-0.1.2
-^^^^^^^^^^^
-
-This is the third release of NuttX. This release is
-primarily a bugfix release with minimal new features. See
-the ChangeLog for a more detailed description of the
-changes.
-
-(1) Several important OS and ARM7 bugfixes,
-(2) opendir(), closedir(), readdir(), etc. added
-(3) Added C5471 watchdog timer.
-(4) Created a shareable, serial driver.
-(5) Added 'ls' command to NuttShell (nsh)
-(6) Added a test of the round robin scheduler
-
-This release has been verified on the Linux user-mode
-platform, the Spectrum Digital TMS320C5471 EVM using the
-test program under examples/ostest.
-
-This tarball contains a CVS snapshot from March 19, 2007.
-
-NuttX-0.2.1
-^^^^^^^^^^^
-
-This is the fourth release of NuttX. This release adds adds
-support for a new platform, restructures many header files,
-and adds a few new features:
-
-(1) Support for Neuros OSD / DM320
-(2) Restructuring of header files for better POSIX compliance
-(3) Added kill()
-(4) Added POSIX timers
-(5) bugfixes and documentation updates
-
-This release has been verified on the Linux user-mode
-platform, the Spectrum Digital TMS320C5471 EVM, and the
-Neuros OSD using the test program under examples/ostest. Because
-of the stability of these tests, the project status
-has been upgraded to 'beta.'
-
-This tarball contains a complete CVS snapshot from March 22, 2007.
-
-NuttX-0.2.2
-^^^^^^^^^^^^
-
-This is the fifth release of NuttX. There is no major new
-functionality in this release. This release adds support
-for new pthread barrier APIs, changes the directory
-structure, to better handle different board configurations
-using the same processor architecture, and corrects a few
-defects.
-
-See the ChangeLog for a complete list of changes.
-
-This release has been verified on the Linux user-mode
-platform and the Neuros OSD using the test program under
-examples/ostest. There are no known, critical defects but
-the project development status remains at 'beta' status
-pending further test and evaluation.
-
-This tarball contains a complete CVS snapshot from
-March 26, 2007.
-
-NuttX-0.2.3
-^^^^^^^^^^^^
-
-This is the sixth release of NuttX. This release is
-primarily a bugfix release. Numerous problems were fixed
-as detailed in the change log. New functionality includes
-support for timed message queues.
-
-See the ChangeLog for a complete list of changes.
-
-This release has been verified on the Linux user-mode
-platform and the Neuros OSD using the test program under
-examples/ostest. The results of the testing is available in
-the source tree under configs/ntosd-dm320/doc/test-results.
-There are no known, critical defects but the project
-development status remains at 'beta' status pending further
-test and evaluation.
-
-This tarball contains a complete CVS snapshot from March 29,
-2007.
-
-NuttX-0.2.4
-^^^^^^^^^^^^
-
-This is the 7th release of NuttX. This release is only to roll out
-build changes to better support different SoC's that use the same
-processor architecture. In particular, the two existing ARM architectures,
-c5471 and DM320 were combined into a single ARM directory. This was done
-in preparation for an LPC2148 port that is currently in progress. There
-is NO new functionality or significant bugfixes in this release.
-
-See the ChangeLog for a complete list of changes.
-
-This release has been verified on the Linux user-mode platform
-and the Neuros OSD using the test program under examples/ostest.
-The results of the testing is available in the source tree under
-configs/ntosd-dm320/doc/test-results and under configs/sim/doc/test-results.
-There are no known, critical defects but the project development status
-remains at 'beta' status pending further test and evaluation.
-
-This tarball contains a complete CVS snapshot from April 28, 2007.
-
-NuttX-0.2.5
-^^^^^^^^^^^^
-
-This is the 8th release of NuttX. This release includes:
-
-(1) Several bug fixes
-(2) Initial support for FAT filesystems. Testing has not
- been exhaustive and some functionality is missing
- (mkdir, stat, unlink chmod, and rename functionality is
- not yet implemented).
-(3) Support for the NXP lpc2148 processor is included but
- is untested as of this writing. The current
- implementation includes only support for serial console
- and timer interrupt.
-
-See the ChangeLog for a complete list of changes.
-
-This release has been verified only on the Linux user-mode
-platform.
-
-This tarball contains a complete CVS snapshot from May 19,
-2007.
-
-NuttX-0.2.6
-^^^^^^^^^^^
-
-This is the 9th release of NuttX. This is primarily a
-bugfix release to correct a number of problems introduced
-with the 0.2.5 release. This release does include some FAT
-filesystem extensions including unlink(), mkdir(), rmdir(),
-rename(), opendir(), closedir(), readdir(), seekdir(),
-telldir(), rewindir(). There are some pending FAT changes
-that did not make it into this release including stat(),
-truncate(), and long file names.
-
-See the ChangeLog for a complete list of changes.
-
-This release has been verified only on the Linux user-mode platform.
-
-This tarball contains a complete CVS snapshot from May 26, 2007.
-
-NuttX-0.2.7
-^^^^^^^^^^^
-
-This is the 10th release of NuttX. This is primarily a bugfix
-release to correct a number of problems reported to me (thanks
-Didier!). This release does include the final changes complete the
-FAT filesystem logic including stat(), statfs(), and non-standard
-APIs to manage FAT attributes. At present, FAT long file names and
-file truncate() are still not supported.
-
-See the ChangeLog for a complete list of changes.
-
-This release has been verified only on the Linux user-mode platform.
-
-This tarball contains a complete CVS snapshot from June 9, 2007.
-
-NuttX-0.2.8
-^^^^^^^^^^^
-
-This is the 11th release of NuttX. This release:
-(1) corrects important bugs in opendir() and realloc()
-(2) adds support for environment variables
-(3) adds several new C library interfaces
-(4) extends several example programs
-
-See the ChangeLog for a complete list of changes.
-
-This release has been verified only on the Linux user-mode platform.
-
-This tarball contains a complete CVS snapshot from July 2, 2007.
-
-NuttX-0.3.0
-^^^^^^^^^^^
-
-This is the 12th release of NuttX. This release includes the initial
-integration of a network subsystem and the uIP TCP/IP stack into NuttX
-(see http://www.sics.se/~adam/uip/index.php/Main_Page). Also included
-is a device driver for the Davicom DM90x0 Ethernet controller.
-
-This integration is very preliminary. Only a small portion of the
-network functionality has been integrated and there are a number of
-open issues (see the TODO file). The network subsystem is pre-alpha
-at this point in time. I expect that it will stabilize and mature
-over the next few releases.
-
-The baseline functionality of NuttX continues to mature and remains at
-post-beta (as long as the network is not used).
-
-See the ChangeLog for a complete list of changes.
-
-This release has been verified only on the Neuros OSD (DM320 ARM9)
-platform using the DM90x0 driver.
-
-This tarball contains a complete CVS snapshot from November 6, 2007.
-
-NuttX-0.3.1
-^^^^^^^^^^^
-
-This is the 13th release of NuttX and the second release containing
-the integration of a network subsystem and the uIP TCP/IP, UDP, and
-ICMP stacks into NuttX (see http://www.sics.se/~adam/uip/index.php/Main_Page).
-
-Many network-related problems have been fixed and the implementation
-has matured significantly. However, the level of network reliability
-is probably still at the pre-alpha or early level. It is sufficiently
-complete that you may begin to perform some network integration and
-is expected to achieve beta level of reliability over the next few
-releases.
-
-The baseline functionality of NuttX continues to mature and remains at
-post-beta (as long as the network is not used).
-
-See the ChangeLog for a complete list of changes.
-
-This release has been verified only on the Neuros OSD (DM320 ARM9)
-platform using the DM90x0 driver.
-
-This tarball contains a complete CVS snapshot from November 19, 2007.
-
-NuttX-0.3.2
-^^^^^^^^^^^
-
-This is the 14th release of NuttX and the 3rd release containing
-the integration of a network subsystem and the uIP TCP/IP, UDP, and
-ICMP stacks into NuttX (see http://www.sics.se/~adam/uip/index.php/Main_Page).
-
-Many network-related problems have been fixed and the implementation
-has matured significantly. This release consists of:
-
-o TCP-related bug-fixes
-o TCP performance improvements
-o Initial UDP integration
-o Initial uIP micro webserver integration
-
-See the ChangeLog for a complete list of changes.
-
-The level of network reliability is at alpha level is expected to
-achieve beta level of reliability over the next few releases.
-
-The baseline functionality of NuttX continues to mature and remains at
-post-beta.
-
-This release has been verified only on the Neuros OSD (DM320 ARM9)
-platform using the DM90x0 driver.
-
-This tarball contains a complete CVS snapshot from November 23, 2007.
-
-NuttX-0.3.3
-^^^^^^^^^^^
-
-This is the 15th release of NuttX and the 4th release containing
-the integration of a network subsystem and the uIP TCP/IP, UDP, and
-ICMP stacks into NuttX (see http://www.sics.se/~adam/uip/index.php/Main_Page).
-
-Many network-related problems have been fixed and the implementation
-has matured significantly. This release consists of:
-
-o TCP-related bug-fixes for disconnecting sockets
-o Correction of some TCP read-ahead logic
-o TCP performance improvements
-o Misc. additions and cleanup (See the ChangeLog for a complete list of
- changes).
-
-The level of network reliability is at an early beta release level. The
-baseline functionality of NuttX continues to mature and remains at
-post-beta. Open network-related issues include only:
-
-o Some minor unimplemented BSD socket functionality,
-o Thread safety issues: the same socket cannot be used concurrently on
- different threads.
-o Pending design changes necessary to support multiple network interfaces.
-o IPv6 support is incomplete.
-
-This release has been verified only on the Neuros OSD (DM320 ARM9)
-platform using the DM90x0 driver. Any feedback for improving the network
-reliability/performance would be greatly appreciated.
-
-This tarball contains a complete CVS snapshot from November 28, 2007.
-
-NuttX-0.3.4
-^^^^^^^^^^^
-
-This is the 16th release of NuttX and the 5th release containing
-the integration of a network subsystem and the uIP TCP/IP, UDP, and
-ICMP stacks into NuttX (see http://www.sics.se/~adam/uip/index.php/Main_Page).
-
-This release is primarily a bug-fix release. New features include
-only:
-
-o TELNET front-end to NSH,
-o DHCPC server functionality, and
-o C5471 Ethernet driver.
-
-Numerous network related problems were fixed related to DHCPC, UDP
-input processing, UDP broadcast, send timeouts, and bad compilation when
-uIP is compiled at high levels of optimization.
-
-The level of network reliability is at a strong beta release level. The
-baseline functionality of NuttX continues to mature and remains at
-post-beta or production level.
-
-Parts of this release were verified only on the Neuros OSD (DM320 ARM9)
-platform using the DM90x0 Ethernet driver and other parts on the Spectrum
-Digital C5471 EVM using the C5471 Ethernet driver. Any feedback about bugs
-or suggestions for improving the network reliability/performance would be
-greatly appreciated.
-
-This tarball contains a complete CVS snapshot from December 10, 2007.
-
-NuttX-0.3.5
-^^^^^^^^^^^
-
-This is the 17th release of NuttX this release is primarily a bug-fix
-release and intended to synchronize with the current CVS contents. See
-the ChangeLog for a detailed list of changes and fixes.
-
-This release were verified only on the Spectrum Digital C5471 EVM using
-the C5471 Ethernet driver. Any feedback about bugs or suggestions for
-improvement would be greatly appreciated.
-
-This tarball contains a complete CVS snapshot from December 18, 2007.
-
-NuttX-0.3.6
-^^^^^^^^^^^
-
-This is the 18th release of NuttX. This release contains on a few
-changes. The primary purpose of this release is to synchronize with
-the release of the pascal-0.1.0 add-on package.
-
-This release of NuttX includes the following changes:
-
-* Fixes for use with SDCC compiler
-* Added a simulated z80 target (arch/z80)
-* Fix deadlock errors when using stdio but with no buffering
-* Add support for the add-on Pascal P-Code interpreter (pcode/)
- (see the pascal-0.1.0 package)
-
-This release were verified only on the simulated Z80 and and host
-simulation targets. As usual, any feedback about bugs or suggestions
-for improvement would be greatly appreciated.
-
-This tarball contains a complete CVS snapshot from January 6, 2007.
-
-====
-
-There was an error in the initial 0.3.6 release that prevented
-a successful build unless the Pascal add-on was present. The
-tarball was patched to include the fix. Make sure that you download
-the nuttx-0.3.6.1.tar.gz version to avoid this problem.
-
-NuttX-0.3.7
-^^^^^^^^^^^
-
-This is the 19th release of NuttX. This release includes the
-preliminary port of NuttX to the ZiLOG z16f 16-bit microcontroller.
-This port was verified using the ZiLOG z16f2800100zcog Development
-and the ZiLOG ZDS-II toolchain. See http://www.zilog.com for
-further information.
-
-I emphasize that this is a preliminary release of the z16f port and
-is only alpha or, perhaps, pre-alpha quality as of this writing.
-There are a list of known issues in the TODO file in the root of
-the NuttX directory. The overall quality of NuttX (excluding the
-z16f port) continues to improve beyond the late beta level.
-
-The z16f port required numerous changes to NuttX to handle:
-
-* NEAR and FAR addressing, and
-* Use of a Windows native toolchain in a Cygwin build environment.
-
-In addition to the z16f port, at least one very critical bug was
-found and corrected in NuttX: The thread-specific errno value of one
-task was being randomly trashed when a different thread exited.
-
-This release were verified on the ZiLOG z16f2800100zcog, Neuros OSD
-(ARM9), and the simulation platforms. As usual, any feedback about bugs
-or suggestions for improvement would be greatly appreciated.
-
-This tarball contains a complete CVS snapshot from January 31, 2008.
-
-NuttX-0.3.8
-^^^^^^^^^^^
-
-This is the 20th release of NuttX. This is a minor bugfix release.
-It corrects a few minor problems, adds a few minor features, and
-continues the integration of the ZiLOG Z18F and of the Pascal P-Code
-add-on. This release is synchronized with the release of Pascal-0.1.2.
-
-This tarball contains a complete CVS snapshot from February 10, 2008.
-
-NuttX-0.3.9
-^^^^^^^^^^^
-
-This is the 21st release of NuttX. This is a minor future enhancement
-release. This release includes support for the ZiLOG Z8Encore! micro-
-controller. Also included is the initial framework for support for
-the Z80, XTRS platform (http://www.tim-mann.org/xtrs.html).
-
-This released has been verified only on the ZiLOG ZDS-II Z8Encore!
-chip simulation.
-
-This tarball contains a complete CVS snapshot from March 9, 2008.
-
-NuttX-0.3.10
-^^^^^^^^^^^^
-
-This is the 22nd release of NuttX. This is an important bug fix
-release. This release incorporates fixes to correct critical list
-handling errors in task shutdown logic: One in timer deletion logic
-(timer_delete.c) and one in stream logic (lib_init.c). This release
-also includes support to ZiLOG EZ80Acclaim microcontroller (EZ80F91
-chip) and configurations for the ZiLOG z8f64200100kit (Z8F6423) and
-ez80f0910200kitg (EZ80F091) development kit.
-
-NuttX-0.3.11
-^^^^^^^^^^^^
-
-This is the 23rd release of NuttX. This is another important bugfix
-release. This releases fixes several bugs:
-
-* Two POSIX timer bugs: a memory leak as well a fatal sequencing error.
-* Several FAT filesystem errors.
-* A deadlock that can occur in opendir()
-
-A few new features were also added:
-
-* Support for recursive mutexes
-* Added a RAM disk block driver
-* The host simulator no longer uses direct Linux system calls and
- now also works on Cygwin.
-* The OS test was strengthen and now runs as an endurance test
-
-These changes were verified only on the Host simulator under Cygwin.
-Please report any errors to me.
-
-This tarball contains a complete CVS snapshot from June 1, 2008.
-
-NuttX-0.3.12
-^^^^^^^^^^^^
-
-This is the 24th release of NuttX. This release includes some minor
-bugfixes as well as a few new features. Bugs fixed include:
-
-* Corrected an error in recursive mutex implementation.
-* task_create() was only dup()ing the first three file descriptors.
-* Fixed driver open reference counting errors in dup(), dup2(), and exit().
-* Fixed error handling logic in fflush().
-
-New features were also added:
-
-* Pipes and pipe() API
-* FIFOs and mkfifo() API
-* mkfatfs() API can be used to format FAT file systems.
-
-These changes were verified only on the Host simulator under Cygwin.
-Please report any errors to me.
-
-This tarball contains a complete CVS snapshot from August 10, 2008.
-
-NuttX-0.3.13
-^^^^^^^^^^^^
-
-This is the 25th release of NuttX. This release includes some
-important bugfixes as well as a few new features. Bugs fixed
-include:
-
-* Fixed problems with Cygwin-based console input. NSH now works
- with the Cygwin simulator.
-* sched_get_priority_max/min returned error on SCHED_RR
-* Corrected detection of End-of-File in fgets()
-* Fixed an error in opendir() that could cause an assertion to fail
- inappropriately.
-* Corrected an error in the FAT that caused files opened for writing
- with O_APPEND to fail.
-* Fix error in getopt() when called with argc==1
-* Fix error in stat() when used on the root directory
-* Fixed a critical bug that effects the way that environment variables
- are shared among pthreads.
-* uIP port now supports multi-threaded, concurrent socket access.
- So, for example, one thread can be reading from a socket while
- another is writing to the socket.
-
-New features were also added:
-
-* New OS APIs: chdir() and getcwd()
-* The Nuttx shell (NSH) has been extended in many ways.
- - New commands: mkfatfs, mkfifo, sleep, usleep, nice, sh, cd, and pwd
- - New memory inspection commands and heap usage commands
- - New capabilities:
- - Execution of commands in background
- - Execution of simple scripts
- - Redirection of command output
- - Last command status ($?)
- - Now supports if-then[-else]-fi construct
- - Other features as noted in the ChangeLog.
-
-These changes were verified only on the Host simulator under Cygwin
-and under Linux and also on the Neuros OSD (ARM9). Please report
-any errors to me.
-
-This tarball contains a complete CVS snapshot from September 1, 2008.
-
-nutt-0.3.14
-^^^^^^^^^^^
-
-This is the 26th release of NuttX. This release includes some
-important bugfixes as well as a few new features. Critical bugs
-fixed include:
-
-FAT FS:
- * Fixed several critical bugs with regard to fat reading and
- writing and FAT12 accesses. Basically the FAT FS only worked
- with my tiny test files and test cases. A lot of stronger FAT
- tested is still needed!
- * Fixed another FAT bug in implementation of FAT lseek();
- this prohibited correct random access to large files.
-
-Network:
- * Corrected a critical bug that may prevent recvfrom from receiving
- packets from most remote UDP port numbers.
- * Corrected an error in multi-threaded socket handling in send() and
- sendto(). Outgoing data could overwrite incoming data.
- * Corrected IP checksum calculation in ICMP and UDP message send logic.
- * Corrected an error in send() timeout logic.
-
-New features were also added:
-
-Network:
- * Added support for application access to ICMP protocol stacks
- * Added ping request logic (net/uip).
- * Added basic TFTP client logic (netutils/tftpc).
-
-NuttShell (NSH):
- * New commands: 'test', '[', 'ping', 'mkrd', 'xd', and TFTP 'get' and 'put'
- See the new NuttShell User Guide for additional information.
-
-Other less critical bugs were also fixed and other less important
-features were were added. See the ChangeLog for details.
-
-These changes were verified only on the Neuros OSD (ARM9). Please
-report any errors to me.
-
-This tarball contains a complete CVS snapshot from September 8, 2008.
-
-nutt-0.3.15
-^^^^^^^^^^^
-
-This is the 27th release of NuttX. This release includes some new features:
-
-* Adds support for the ROMFS filesystem
-* ROMFS supports mmap() to provide eXecute In Place (XIP) capability
-* NuttShell (NSH) can be configured to use ROMFS to provide a tiny read-only
- filesystem with a startup script in /etc.
-* Completed the basic port of the NXP LPC2148 on the mcu123.com board.
- The basic port includes successful booting, timer interrupts,
- serial console, successfully passing the examples/ostest, and a
- NuttShell (NSH) configuration.
-
-These changes were verified only on the mcu123.com NXP LPC2148
-board. Please report any errors to me.
-
-This tarball contains a complete CVS snapshot from September 20, 2008.
-
-nutt-0.3.16
-^^^^^^^^^^^
-
-This is the 28th release of NuttX. This release includes the first
-support for USB in NuttX. A set of USB APIs were added to support
-USB device controller drivers and bindings to USB device class
-drivers. The form of the interface was inspired by the Linux Gadget APIs.
-
-At present USB device controller drivers are included for:
- * The NXP LPC214x. This driver has been verified and is an early alpha
- stage in quality.
- * TI DM320. Coding for this driver is complete but it is completely
- untested as of this release.
-
-A controller-independent class driver is also included for:
- * USB serial class device driver (emulates the Prolific PL2303
- serial-to-USB adapter). This driver has only been verified with
- the Linux host PL2303 driver.
-
-Other new features include:
- * Add an option to set aside a separate stack for interrupt
- handling (ARM only). This is useful when memory is constrained,
- there are multiple tasks, and the interrupt stack requirement
- is high (as when USB is enabled).
-
-A few bugs were also fixed:
- * Fixed the frequency of system timer interrupts in the NXP LPC214x port
- (off by 20x in nuttx-0.3.15)
- * Fixed serial driver bugs related to (1) open counts and (2) recognizing
- O_NONBLOCK on read.
- * Fixed an error in read(); it was not setting the errno on errors returned
- from the driver.
-
-These changes were verified only on the mcu123.com NXP LPC2148 board
-using with a Linux host. Please report any errors to me.
-
-This tarball contains a complete CVS snapshot from October 10, 2008.
-
-UPDATE
-^^^^^^
-This release does not build for the ARM target when USB is disabled.
-Here is the fix:
-
-Index: arch/arm/src/common/up_internal.h
-===================================================================
-RCS file: /cvsroot/nuttx/nuttx/arch/arm/src/common/up_internal.h,v
-retrieving revision 1.13
-diff -u -r1.13 up_internal.h
---- arch/arm/src/common/up_internal.h 6 Oct 2008 16:20:52 -0000 1.13
-+++ arch/arm/src/common/up_internal.h 13 Oct 2008 20:48:21 -0000
-@@ -200,7 +200,8 @@
- extern void up_usbinitialize(void);
- extern void up_usbuninitialize(void);
- #else
--# define up_netinitialize()
-+# define up_usbinitialize()
-+# define up_usbuninitialize()
- #endif
-
- #endif /* __ASSEMBLY__ */
-
-NuttX-0.3.17
-^^^^^^^^^^^^
-
-This is the 29th release of NuttX. This release includes the
-additional support for USB in NuttX. The following new features
-were added:
-
-* Added support for SPI-based MMC/SD cards (with an SPI driver
- for the NXP LPC214x).
-* Added USB storage class device side driver (BBB)
-* Added an example that demonstrates the USB storage class by
- exporting the SPI based MMC/SD card on the NXP LPC214x.
-
-This is an early alpha release of these drivers. At present they
-only work with debug features enabled so there are probably some
-race conditions that occur only with debug features disabled.
-(Anyone out there with a USB analyzer? I would love to know what
-is happening.)
-
-Several important bugs were also fixed in the FAT file system, USB
-serial driver and NXP LPC214x USB controller driver. (See the ChangeLog
-for details.)
-
-These changes were verified only on the mcu123.com NXP LPC2148 board
-using a Linux development environment. USB testing was performed
-using both a Linux host and a WinXP host. Please report any errors
-to me.
-
-This tarball contains a complete CVS snapshot from October 28, 2008.
-
-NuttX-0.3.18
-^^^^^^^^^^^^
-
-This is the 30th release of NuttX. This release includes two
-partially completed ports, several new features, and a couple of
-important bug fixes. The two partially completed ports are:
-
- * The STMicro STR71x processor and configuration for the Olimex
- STR-P711 board.
- * The Hitachi SH-1 using the SH1_LCEVB1 (SH-1/US7032EVB1) board
-
-Progress on these ports is stalled (as detailed in the ChangeLog).
-
-The new features focus primarily on management of block devices and
-extensions of the NuttShell (NSH). These include:
-
- * A loop device that converts a file into a block device.
- * A block to character (BCH) driver that allow access a block device as
- if it were character device.
- * Added strcasecmp() and strncasecmp() libc functions.
- * Added the 'dd' and 'losetup' commands to NSH. These commands
- (along with mkfatfs and mount), give good management of filesystems
- on the target.
-
-Several bugs were fixed, the most important of which are:
-
- * Fixed a race condition workaround delay in LPC214X SPI logic.
- This was also the cause of some bad MMC/SD performance on that
- platform.
-
- * Fixed a recently introduced FAT file system problem: It would
- mount a (invalid) FAT file system even if the medium is not formatted!
-
- * Corrected two other important errors in the FAT lseek() implementation:
- 1 - The sectors-per-cluster value was being reset to "1".
- 2 - Important lseek logic was omitted when the seek position was zero.
-
-The FAT filesystem has had many bugs fixed in it and, I think, is
-now maturing and becoming stable.
-
-These changes were verified only on the mcu123.com NXP LPC2148
-board, the Hitachi SH1_LCEVB1 board, and the Linux simulator, all
-using a Linux development environment. Please report any errors
-to me.
-
-This tarball contains a complete CVS snapshot from November 16, 2008.
-
-NuttX-0.3.19
-^^^^^^^^^^^^
-
-This is the 31st release of NuttX. This release includes the
-following new feature:
-
- * Add poll() and select() APIs that may be used to monitor for
- data availability on character devices or TCP/IP sockets.
- * Implemented support TCP/IP connection backlog. This allows
- select() to wake-up on new connections to a listener socket.
- * Added definition of a framebuffer driver and implement framebuffer
- drivers for the simulated platform and the TI DM320 (untested
- as of the initial check-in).
- * Partially developed a graphics framework based on the framebuffer
- drivers, however, this will not be ready for use for a few more
- releases. Currently this includes only a few color conversion
- routines and some rasterizing functions. A tiny windowing system
- is under development but not ready for check-in yet.
- * Added support for fixed precision math.
- * Added support for outgoing multicast packets.
-
-Several bugs were fixed, the most important of which are:
-
- * Fixed an important bug in the TCP/IP buffering logic. When
- TCP/IP read-ahead is enabled and not recv() is in-place when a
- TCP/IP packet is received, the packet is placed into a read-ahead
- buffer. However, the old contents of the read-ahead buffer
- were not being cleared and old data would contaminate the newly
- received buffer.
-
- * Changed the behavior of the serial driver read. It now returns
- data as it is available rather than waiting for the full requested
- read size. This makes functions like fgetc() work much more
- smoothly.
-
-These changes were verified only on the Neuros OSD (ARM9) using a
-Linux development environment. Please report any errors to me.
-
-This tarball contains a complete CVS snapshot from November 26, 2008.
-
-NuttX-0.4.0
-^^^^^^^^^^^
-
-This is the 32nd release of NuttX. This release adds graphics
-support and a tiny windowing subsystem. That new graphics subsystem
-is documented at http://nuttx.sourceforge.net/NXGraphicsSubsystem.html.
-No other substantial changes were made.
-
-These changes were verified only on the NuttX simulation platform
-with X11 windows simulating a device framebuffer. Please report any
-errors to me.
-
-The version number was bumped up to 0.4.0 in part to reflect the
-new graphics subsystem, but also to recognize the NuttX is approaching
-complete functionality. In the 0.3.x versions, network support was
-added, Pascal P-code runtime support was added, FAT and ROMFS
-filesystems were added, MMC/SD and USB device support were added.
-There were also numerous extensions to the NuttShell, NuttX APIs,
-and architecture ports.
-
-This tarball contains a complete CVS snapshot from December 6, 2008.
-
-NuttX-0.4.1
-^^^^^^^^^^^
-
-This is the 33rd release of NuttX. This is a minor bugfix release.
-The primary reason for this release is to correct numerous build
-errors that have accumulated for the ZiLOG ZDS-II based targets.
-All ZDS-II targets now build correctly (but have not been re-tested).
-In addition to platform-specific build failures, this release also
-adds the following features which were not tested as of the time
-of the release:
-
- * Board support for the ZiLog ez80Acclaim! ez80f910200zco Development Kit
- * ZiLOG eZ80F91 EMAC driver
-
-These changes were verified only on the NuttX simulation platform.
-Please report any errors to me.
-
-This tarball contains a complete CVS snapshot from February 6, 2009.
-
-NuttX-0.4.2
-^^^^^^^^^^^
-
-This is the 34th release of NuttX. This release adds no new OS
-features but does include support for two new architectures:
-
- * ez80Acclaim! Basic support has been integrated and verified
- for the ez80f910200zcog-d board (eZ80F91-based). That basic
- support includes timer interrupts and serial console. Ongoing
- work includes an EMAC driver that should be integrated for the
- next release nuttx-0.4.2. eZ80Acclaim! support has been in the
- code base for some time, but has only just been integrated due
- to toolchain issues.
-
- * Renesas M16C/20. Support for the Renesas SKP16C20 board has
- been included in the NuttX source tree. However, as the
- eZ80Acclaim!, testing and integration of that port is stalled
- due to toolchain issues.
-
-These changes were verified only on the ZiLOG eZ80910200zcog-d
-board. Please report any errors to me.
-
-This tarball contains a complete CVS snapshot from February 28, 2009.
-
-NuttX-0.4.3
-^^^^^^^^^^^
-
-This is the 35th release of NuttX. This release one important new
-OS feature and corrects and extends the eZ80 port:
-
- * Priority Inheritance. The basic NuttX waiting logic was extended
- to support priority inheritance. See the NuttX User Manual for
- further information:
- http://www.nuttx.org/NuttxUserGuide.html#priorityinheritance.
-
- * ez80Acclaim! Corrected several critical, show-stopping bugs on that
- platform including:
- - Errors in the serial driver interrupts.
- - An error in the eZ80 table.
- * eZ80Acclaim!: Completed integration of the eZ80F91 EMAC driver.
-
-These changes were verified only on the ZiLOG eZ80910200zcog-d board
-and on Cygwin-based simulation platform in various configurations.
-Please report any errors to me.
-
-This tarball contains a complete CVS snapshot from March 13, 2009.
-
-NuttX-0.4.4
-^^^^^^^^^^^
-
-This is the 36th release of NuttX. This release focuses on bugfixes
-and extending and verifying certain networking features.
-
- * Important bugs were fixed in NSH, UDP checksum calculation, UDP
- bind() behavior for port==0, the eZ80Acclaim! EMAC driver, Z80
- interrupt handling, and in the C libraries.
-
- * Testing was extended to further verify the tiny webserver,
- DHCPD, wget(), and sendmail.
-
-See the Changelog for a detailed description of these changes.
-
-These changes were verified only on the ZiLOG eZ80910200zcog-d board
-using the ZDS-II toolchain in Cygwin-based environment. Please
-report any errors to me.
-
-This tarball contains a complete CVS snapshot from March 29, 2009.
-
-NuttX-0.4.5
-^^^^^^^^^^^
-
-This is the 37th release of NuttX. This release focuses on a few new features.
-
- * The basic port for the Freescale ARM920T i.MX1 processor on the
- Freescale MX1ADS board. Coding is complete for this port, but
- it is has not yet fully integrated
- * Extended I2C and SPI interface definitions
- * Add basic support for C++ applications. Very simple C++
- applications can now be built against NuttX without any external
- libraries. At present, only the most primitive C++ programs
- are supported, but it is hoped that this support will be extended
- in future releases.
-
-See the Changelog for a detailed description of these changes.
-
-This tarball contains a complete CVS snapshot from April 19, 2009.
-
-NuttX-0.4.6
-^^^^^^^^^^^
-
-This is the 38th release of NuttX. The release features support
-for the Micromint Eagle-100 development board. This board is based
-around, the Luminary LM3S6918 MCU. This is the first ARM Cortex-M3
-architecture supported by Nuttx. This initial, basic port includes
-timer and serial console with configurations to execute the NuttX
-OS test and to run the NuttShell (NSH). Work is still underway on
-this port and current plans are to have I2C, SSI, MMC/SD, and and
-Ethernet driver in the 0.4.7 release.
-
-Additional work was done on the MXADS i.MX1 port, however, that
-work has been set aside until I complete work on the Eagle-100 (I
-also need to come up with a 3V power supply).
-
-Other changes in this release include: Extensions to the SPI interface
-definition in order to handle 9-bit interfaces to displays. Several
-bugs were fixed (see the ChangeLog for a complete list of changes).
-
-This tarball contains a complete CVS snapshot from May 19, 2009.
-
-NuttX-0.4.7
-^^^^^^^^^^^
-
-This is the 39th release of NuttX. This release focuses on cleaning
-up and extending the Eagle100/LM3S6918 port released in nuttx-0.4.6
-and on improved MMC/SD support. New features include:
-
- * Improved reliably and additional drivers for the Eagle-100 board
- (LM3S6918 ARM Cortex-M3). Additional drivers include Ethernet,
- SSI, and support for the on-board LEDs and microSD cards.
-
- * The SPI-based MMC/SD driver was extended to support SDHC Version
- 2.xx cards.
-
-In addition, this release includes several important bugfixes for
-the LM3S6918, the LPC2148, the SPI-based MMC/SD driver, and to
-FAT32. See the ChangeLog for details of these bugfixes.
-
-This tarball contains a complete CVS snapshot from May 29, 2009.
-
-NuttX-0.4.8
-^^^^^^^^^^^
-
-This is the 40th release of NuttX. This release adds:
-
- * Support for the Olimex STRP711 board. That board is based on
- the STMicro STR711 MCU (ARM7TDMI). Integration is complete on
- the basic port (boot logic, system time, serial console). Two
- configurations have been verified: (1) The board boots and
- passes the OS test with console output visible on UART0, and
- the NuttShell (NSH) is fully functional with interrupt driven
- serial console. An SPI driver is available but untested (because
- the Olimex card slot appears to accept only MMC cards; I have
- only SD cards). Additional needed: USB and driver, MMC
- integration.
-
- * Support for the CodeSourcery and devkitARM Windows-native GNU
- toolchains. Makefiles have been modified for the LM3S6918,
- LPC2148, and STR711 to support these toolchains under Cygwin.
-
-This tarball contains a complete CVS snapshot from June 13, 2009.
-
-NuttX-0.4.9
-^^^^^^^^^^^
-
-This is the 41st release of NuttX. This release adds:
-
- * Support for a new binary format call NXFLAT that can be used to
- execute separately linked programs in place in a file system.
- See http://www.nuttx.org/NuttXNxFlat.html.
-
- * Several important bugs were files related to networking and ROMFS.
- See the ChangeLog for a complete list.
-
-This tarball contains a complete CVS snapshot from June 26, 2009.
-
-NuttX-0.4.10
-^^^^^^^^^^^
-
-This is the 42nd release of NuttX. This released focused on the
-port of Jeff Poskanzer's THTTPD HTTP server (see
-http://acme.com/software/thttpd/). As of the 0.4.10 release, that
-port is still not fully complete and functional. However, numerous
-related bug-fixes and functional additions for THTTPD were added:
-
- * Several new standard C-library functions (fileno, strstr,
- strpbrk, fcntl).
- * Improved and extended timing APIs (mktime, gmtime, gmtime_r,
- gettimeofday, localtime, localtime_r, and strftime)
- * Networking enhancements: recvfrom() and accept() now work with
- non-blocking sockets.
- * NXFLAT extensions (exec)
- * Pattern matching logic.
- * And miscellaneous bug fixes (see the ChangeLog for details).
-
-This tarball contains a complete CVS snapshot from August 8, 2009.
-
-NuttX-0.4.11
-^^^^^^^^^^^^
-
-This is the 43rd release of NuttX. This release of NuttX incorporates
-the verified port of Jeff Poskanzer's THTTPD HTTP server (see
-http://acme.com/software/thttpd/). Many of the key features of
-THTTPD have been tested on the Micromint Eagle-100 development board
-(Cortex-M3). These tests verify:
-
- * Serving of files from any file system
- * Execution of CGI executable. This release supports execution
- of NXFLAT executables on a ROMFS file system
- (http://www.nuttx.org/NuttXNxFlat.html)
-
-A standard CGI interface is used: Information is pasted to the CGI
-program via POST commands and via environment variables. CGI socket
-I/O is redirected to stdin and stdout so that the CGI program only
-need to printf() to send its content back to the HTTP client.
-
-Another value to this THTTPD integration effort has been that THTTPD
-has provided a very good test bed for finding NuttX networking bugs.
-Several very critical networking bugs have been fixed with this
-0.4.11 release (see the ChangeLog for details). Networking throughput
-has also been greatly improved. Anyone using NuttX networking
-should consider upgrading to this release.
-
-This tarball contains a complete CVS snapshot from September 16, 2009
-
-NuttX-0.4.12
-^^^^^^^^^^^^
-
-This is the 44th release of NuttX. This release adds basic support
-for the STMicro STM32, Cortex-M3 MCU. The specific port is to the
-STMicro STM3210E-EVAL development board based around the STM32F103ZET6
-MCU. Some highlights of this port:
-
- * This basic port includes boot-up logic, interrupt driven serial
- console, and system timer interrupts.
- * Includes a basic STMicro RIDE7 project that can be used to
- perform basic STM32 board bring-up (due to RIDE7 size limitations,
- it cannot be used for the full NuttX bring-up).
- * Working, Tested Configurations: the NuttX OS test and the
- NuttShell (NSH) example.
-
-This basic STM32 port will be extended in the 0.4.13 NuttX release.
-Functionality needed for complete STM32 support includes: USB
-device driver, LCD driver and NX bringup on the development board's
-display and MicroSD support. An SPI driver and a DMA support was
-included in this 0.4.12 release, but is not yet tested.
-
-This tarball contains a complete CVS snapshot from October 17, 2009
-
-NuttX-0.4.13
-^^^^^^^^^^^^
-
-This is the 45th release of NuttX. The release extends the support
-for the STMicro STM32 microcontroller. Minimal support for the
-STM3210E-EVAL development board based around the STM32F103ZET6 MCU
-was released in NuttX-0.4.12. This release adds:
-
- * A simple interface definition to support some FLASH, EEPROM,
- NVRAM, etc. devices.
- * Verified SPI operation using driver for SPI based FLASH parts
- M25P64 and M25P128.
- * Improved Cortex-M3 context switching. This should improve
- context switching performance be 2x in certain cases.
- * Added a USB device-side driver for the STM32. This is an early
- release of a very complex driver; some bugs are expected.
- * The USB driver has been verified against the USB serial device
- class driver. There is at least one known outstanding issue
- (see the full bug description in the TODO list).
-
-This release also corrects some important bugs in the early STM32 release:
-
- * Fixed several errors the prevented operation of NuttX on an
- STM32 development board using USART2 as the serial console.
- * Fixed and optimization-dependent race condition in the clock
- initialization.
- * Fixed a critical bug in the interrupt control logic that could
- cause interrupt operations to failed used for interrupts in a
- certain range.
-
-This tarball contains a complete CVS snapshot from November 4, 2009
-
-NuttX-4.14
-^^^^^^^^^^
-
-This is the 46th release of NuttX. The release extends the support
-for the STMicro STM32 microcontroller. Minimal support for the
-STM3210E-EVAL development board based around the STM32F103ZET6 MCU
-was released in NuttX-0.4.12 and extended in Nuttx-0.4.13 to include
-initial USB support. This completes the STM32F103ZET6 and adds:
-
-New Generic RTOS Features:
-
- * Added generic support that can be included in any block driver
- to provide read-ahead buffering and write buffering for improved
- driver performance.
- * Added a generic worker thread that can used to defer processing
- from an interrupt to a task.
- * Defined a generic SD/SDIO interface can can be bound to a MMC/SD
- or SDIO driver to provide SDIO support.
- * Implemented a an SDIO-based MMC/SD driver using this new SDIO
- interface.
-
-New STM32 Features:
-
- * Add support to configure an STM32 input GPIO to generate an
- EXTI interrupt.
- * Added support for buttons on the STM3210E-EVAL board.
- * Implemented an STM32 version of the common the SDIO interface.
- * Added a configuration to exercise the STM32 with the USB mass
- storage device class example.
-
-This release also corrects some important bugs in the early STM32 release:
-
- * Correct error handling in the mount() logic.
- * Fixed several STM32 DMA-related issues. Integrated and debugged
- STM32 DMA functionality that was added in 0.4.12.
- * Fixed several bugs in the STM32 USB device-side driver.
-
-NOTE: This version, 4.14, is equivalent to what would have been
-called 0.4.14 to follow 0.4.13. The zero has been eliminated from
-the front of the version number to avoid confusion about the state
-of development: Some have interpreted the leading zero to mean
-that the code is in some way unstable. That was not the intent.
-Beginning in January 2010, I will switch to the 2010.nn versioning
-as many others have done to avoid such confusion.
-
-This tarball contains a complete CVS snapshot from December 2, 2009
-
-NuttX-5.0
-^^^^^^^^^
-
-This is 47th release of NuttX and the successor to nuttx-4.14. This
-major revision number has been incremented to indicate that an
-incompatibility with previous nuttx releases has been introduced.
-This version adopts standard fixed width integer names as specified
-by the ANSI C99 standard. The core logic of NuttX is older than
-that standard and did not conform to it.
-
-If you have applications running on NuttX-4.14, those applications
-should continue to build and execute without problem on NuttX-5.0.
-However, if you have device drivers or other OS-internal logic, you
-will probably have to make some minor changes to your code to use
-this version. Below is a summary of those changes:
-
- * If you include sys/types.h to get the non-standard, fixed width
- integer types (uint32, uint16, ubyte, etc.), that is no longer
- necessary.
- * Instead, you will need to include stdint.h where the new fixed
- width integer types are defined (uint32_t, uint16_t, uint8_t, etc).
- * You will have to change all occurrences of the following types:
-
- uint32 -> uint32_t
- uint16 -> uint16_t
- ubyte -> uint8_t
- uint8 -> uint8_t
- sint32 -> int32_t
- sint16 -> int16_t
- sint8 -> int8_t
-
- * In addition, the non-standard type 'boolean' must replaced with
- the standard type 'bool'. The type definition for 'bool' is in
- stdbool.h
-
-This change in typing caused small changes to many, many files. It
-was verified that all configurations in the release still build
-correctly (other than the SDCC-based configurations). Regression
-testing was performed on a few configurations, but it is possible
-that minor build issues still exist. (If you encounter any, please
-let me know and I will help you to fix them.)
-
-In the course of the regression testing, several important bugs
-unrelated to the type changes were found and corrected.
-
- * Fixed an important error in the RX FIFO handling logic of the
- LM3S6918 Ethernet driver.
- * Corrected the handling of TCP sequence numbers in the TCP stack.
- * And other less important bugs as detailed in the ChangeLog.
-
-The primary focus of this release was standards compatibility, but
-a few new features were added including a (1) Flash Translation
-Layer (FTL) that will support filesystems on a FLASH device and (2)
-partial ports for the STM32F107VC and HCS12 C9S12NE64 MCUs. Those
-ports are very incomplete as of this writing.
-
-This tarball contains a complete CVS snapshot from December 21, 2009
-
-NuttX-5.1
-^^^^^^^^^
-
-This is the 48th release of NuttX. This release adds support for
-two new MCU architectures in various states of development:
-
-* AT91SAM3U (http://www.atmel.com/products/at91/sam3landing.asp?family_id=605)
-
- This release adds support for the SAM3U-EK development board with
- the AT91SAM3U4E MCU
- (http://www.atmel.com/dyn/products/product_card_mcu.asp?part_id=4562).
- As with most NuttX architecture releases, the release will be
- rolled out in two parts: A basic port and an extended port.
-
- NuttX-5.1 includes the basic port for the SAM3U-EK board. This
- release passes the NuttX OS test and is proven to have a valid
- OS implementation. It supports the basic boot-up, serial console
- and timer interrupts. A configuration to support the NuttShell
- is also included.
-
- The extended port will also include support for SDIO-based SD
- cards and USB device (and possible LCD support). These extensions
- may or may not happen by the Nuttx 5.2 release as my plate is
- kind of full now.
-
-* LPC3131 (http://ics.nxp.com/products/lpc3000/lpc313x.lpc314x.lpc315x/)
-
- This release also adds the complete implementation of the basic
- port for the NXP LPC3131 MCU on the Embedded Artists EA3131 board
- (http://www.embeddedartists.com/products/kits/lpc3131_kit.php).
- That port, unfortunately has stalled due to tools issues. Those
- tool issues have been resolved and I am confident that the verified
- basic port will be available in NuttX-5.2.
-
- The extended release will follow and should include SDIO-based
- SD card support and device USB.
-
-A few additional features and bugfixes of a minor nature were also
-incorporated as detailed in the ChangeLog.
-
-NuttX-5.2
-^^^^^^^^^
-
-This is the 49th release of NuttX. This release completes the
-verification of the basic port for the NXP LPC3131 MCU on the
-Embedded Artists EA3131 board
-(http://www.embeddedartists.com/products/kits/lpc3131_kit.php).
-This basic port includes basic boot-up, serial console, and timer
-interrupts. This port has been verified on the using the NuttX OS
-test and includes a working implementation of the NuttShell (NSH).
-
-An extended release will follow and should include SDIO-based SD
-card support and device USB.
-
-NuttX-5.3
-^^^^^^^^^
-
-This is the 50th release of NuttX. This release support for one new
-architecture:
-
- * A basic port for the NXP LPC2378 MCU on the Olimex-LPC2378
- development board was contributed by Rommel Marcelo.
-
-And extensions to two existing architectures:
-
- * David Hewson contributed a dual-speed (full/high) USB device-side
- driver for the NXP LPC3131 on the Embedded Artists EA3131
- development board.
-
- * A DMA driver and a high speed MCI driver for the Atmel AT91SAM3U
- are included (but not fully tested in this release).
-
-Two important bugfix was also included:
-
- * An important fix to the USB mass storage driver was contributed
- by David Hewson.
- * A serious error in the AT91SAM3U PIO handling was fixed.
-
-NuttX-5.4
-^^^^^^^^^
-
-This is the 51st release of NuttX. This release includes one new,
-important extension to th NX graphics system (See
-http://www.nuttx.org/NXGraphicsSubsystem.html).
-
-NX was develop a couple years back on hardware that supported only
-framebuffer devices, that is, video hardware with video memory
-directly converts the memory content to video. However, most MCUs
-that NuttX focuses on do not support such video memory; rather,
-that typically only support LCDs via parallel or serial interfaces.
-
-This release of NuttX extends NX so that now renders directly to
-the LCD device via its serial or parallel interface. No in-memory
-copy of the screen memory need be maintained so this solution should
-also work in MCUs with very limited SRAM.
-
-This initial release of this feature includes the verified NX
-extensions plus a driver for the HX8347, 16-bit parallel LCD. This
-LCD supports 16-bit RGB (5:6:5).
-
-NuttX-5.5
-^^^^^^^^^
-
-This is the 52nd release of NuttX. This release includes one new
-port, some new drivers and some important bugfixes:
-
- * NuttX was ported to the Luminary/TI LM3S6965 Ethernet Evaluation
- Kit. At present, that port includes an OS test configuration
- and a NuttShell (NSH) configuration with Telnet support.
-
- MMC/SD and Networking support are provided but not thoroughly
- verified in this release: Current development efforts are focused
- on porting the NuttX window system (NX) to work with the
- Evaluation Kits OLED display.
-
- * A NuttX Ethernet driver for the Microchip ENC28J60 SPI Ethernet
- chip is available in the source tree (but has not yet been fully
- verified because I haven't properly connected it to hardware
- yet).
-
- * The Olimex STR-P711 NuttX port was extended to support the
- ENC28J60 and some new networking configurations were added.
- The ENC28J60 has not been tested on the STR-P711, however,
- because of hardware issues (I don't think the USB powered board
- provides enough power for the ENC28J60 and I don't have the
- right wall wart yet).
-
- Along the way, external interrupt support (XTI) was added to
- the STMicro STR-P711 port and some important bugs were fixed
- in the STR-P711 SPI driver.
-
- * Added (optional) floating point support for printf().
- (Contributed by Yolande Cates.)
-
- * Corrected an important UDP reference counting error. It was
- not a serious error, but it trigger an assertion was IS a serious
- error.
-
-NuttX-5.6
-^^^^^^^^^
-
-This is the 53rd release of NuttX. This release includes one several
-new drivers for existing NuttX ports:
-
- * This port adds support for the RiT displays P14201 4-bpp,
- greyscale OLED. 4-bpp greyscale support was integrated into
- the NX graphics sub-system and verified using the TI/Luminary
- LP3S6965 Ethernet Evaluation Kit.
-
- * The M25Px driver was extended for the M24P1 FLASH part (see NOTE).
-
- * An I2C driver and (basic) SPI driver were added for the NXP
- LPC313x port. The I2C interface definition was extended to
- efficiently handle multiple I2C transfers.
- (Contributed by David Hewson.)
-
-As well as a few, important USB-related bugfixes (See the ChangeLog
-for details).
-
-This release also includes the beginnings of a port for the NXP
-LPC1768 MCU. However, it is too early for that port to be useful
-(stay tuned for a future announce of the availability of the LPC1768
-port).
-
-NuttX-5.7
-^^^^^^^^^
-
-This is the 54th release of NuttX. This release adds basic support
-for one new ARM Cortex-M3 architecture:
-
- * Added support for NXP LPC1768 MCU as provided on the Nucleus
- 2G board from 2G Engineering (http://www.2g-eng.com).
- * Some initial files for the LPC17xx family were released in NuttX
- 5.6, but the first functional release for the NXP LPC1768/Nucleus2G
- occurred with NuttX 5.7.
- * That initial basic release included timer interrupts and a
- serial console and was verified using the NuttX OS test.
- * That release includes a verified NuttShell (NSH) configuration
- (see the http://www.nuttx.org/NuttShell.html).
- * Also included are unverified SPI and USB device drivers.
-
-Further efforts include:
- (1) development of a DMA support library
- (2) SPI-based MMC/SD support
- (3) verification of the USB driver
-
-Watch for announcement of the completed LPC1768 port expected in
-NuttX-5.8.
-
-NuttX-5.8
-^^^^^^^^^
-
-This is the 55th release of NuttX. This includes several important
-bugfixes:
-
- * Corrects some interrupt vectoring for the TI/Stellarix LM3S
- port
- * Correct initialization logic for NXP LPC17xxx NuttX ports:
- Power was not being provided to the GPIO module!
- * Corrected (but did not verify) implementation of the optional
- interrupt stack feature (all Cortex M3 architectures).
- * Correct a HardFault in the LPC17xx SSP driver.
-
-Additional minor fixes are also included as detailed in the ChangeLog.
-
-Several new features have been fully developed and included in this
-release, but full verification of most of these new features has
-been blocked for a variety of issues:
-
- * Added microSD support for the NuttShell (NSH) configuration in
- the Nucleus2G LPC1768 port. For reasons that have not yet been
- determined, I have not successfully accessed the microSD card
- as of this writing.
- * Two USB configurations were also added for the Nucleus2G board:
- One to support the USB serial device and one for the USB mass
- storage device. Some testing of the USB driver was performed,
- but full verification is stalled for an OTG style USB cable.
- * LEDs now work correctly on the Nucleus2G LPC1768 board.
- * The NuttX/uIP networking subsystem now supports IGMPv2 client.
- IGMP (Internet Group Multicast Protocol) network "appliances"
- to join into multicast groups. Outbound traffic to enter and
- leave multicast groups has been verified, but full verification
- will require a switch capable of multicast. Issues associated
- with the receipt of multicast packets are likely.
-
-NuttX-5.9
-^^^^^^^^^
-
-This is the 56th release of NuttX. 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 unfinished
-implementations, and a couple of important bugfixes.
-
- * 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 http://www.nuttx.org/NuttXDemandPaging.html)
- 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.
- * Add support for the CodeSourcery toolchain to the Olimex-lpc2378
- port and for the Neuros OSD port.
- * The Neuros OSD port has been updated to work with the production
- v1.0 OSD (previously it only worked with the development board).
- * And some miscellaneous feature enhancements as detailed in the
- ChangeLog.
-
-This includes several important bugfixes:
-
- * NXP LPC17xx - Fixed a critical bug in the GPIO configuration
- logic: When attempting to set no pull-up or pull-down (floating),
- it would, instead, select pull-down.
-
- * 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.
-
- * Corrected the lease time in the DHCPC implementation: It was
- not in host byte order.
-
- * 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 libraries 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.
-
-NuttX-5.11
-^^^^^^^^^^
-
-This is the 58th release of NuttX. This is a bugfix release.
-
- * One very important bug fixes a race condition that can occur
- using semaphores that can be awakened by signals. Under this
- particular race condition, a task could hang waiting for a
- semaphore.
- * Corrections to lm3s8962 port contributed by Larry Arnold. That
- port is purported to work correctly with these changes in place.
-
-Plus less critical bugfixes as detailed in the ChangeLog. New features
-include:
-
- * A new configuration to support the mbed.org LPC1768 board.
- (Contributed by Dave Marples.)
- * A driver for the Atmel AT45DB161D 4Mbit SPI FLASH part
-
-NuttX-5.12
-^^^^^^^^^^
-
-This is the 59th release of NuttX. This is a critical bugfix release.
-
- * Fixed an important error in the signal trampoline logic.
- Essentially, interrupts are re-enabled while the signal handler
- executes, but the logic to re-disable the interrupts before
- returning from the signal handler trampoline was missing. Under
- certain circumstances, this can cause stack corruption. This
- was discovered by David Hewson on an ARM9 platform, but since
- the code has been leveraged, the bug has been propagated from
- ARM to Cortex-M3, AVR32, M16C, SH1, ZNEO, eZ80, Z8, and Z80 --
- almost every architecture. The correction has been incorporated
- for all architectures but only verified on a few.
-
-Other notable changes in NuttX-5.12:
-
- * A complete port for the AVR32 (AT32UC3B0256) is incorporated
- in the source tree. Testing of this port is underway now. This
- release was made before verifying this port in order to get the
- important bugfix in place.
-
- * Other miscellaneous bugfix and enhancements as noted in the
- ChangeLog.
-
-NuttX-5.13
-^^^^^^^^^^
-
-This is the 60th release of NuttX. Headlines for this release
-include:
-
- * AVR32, www.mcuzone.com AVR32DEV1
-
- The port for the www.mcuzone.com AVRDEV1 board based on the
- Atmel AT32UC3B0256 MCU was (almost) fully integrated. The port
- now successfully passes the NuttX OS test (examples/ostest).
- A NuttShell (NSH) configuration is in place (see the NSH User
- Guide at http://www.nuttx.org/NuttShell.html). Testing of that
- NSH configuration, however, has been postponed (because it got
- bumped by the Olimex LPC1766-STK port -- see below)
-
- Current Status: I think I have a hardware problem with my serial
- port setup. There is a good chance that the NSH port is complete
- and functional, but I am not yet able to demonstrate that. At
- present, I get nothing coming in the serial RXD line (probably
- because the pins are configured wrong or I have the MAX232
- connected wrong).
-
- A complete port will include drivers for additional AVR32 UC3
- devices -- like SPI and USB --- and will be available in a
- later release, time permitting.
-
- * LPC1766, Olimex LPC1766-STK
-
- Support for the Olimex-LPC1766 is newly added to NuttX and is
- still undergoing development, test, and integration. Verified
- configurations for the NuttX OS test and for the NuttShell (NSH,
- see the NSH User Guide at http://www.nuttx.org/NuttShell.html.
- Additional USB configurations are in the release as well, but
- they have not yet been verified. Goals for NuttX-5.14 include:
- (1) An Ethernet driver, (2) Verified USB support, and (3) SD
- card support.
-
- * Additional changes and bugfixes as detailed in the ChangeLog.
-
-NuttX-5.14
-^^^^^^^^^^
-
-The 61st release of NuttX, NuttX-5.14, was made on November 27,
-2010. This release includes multiple, important bugfixes as well
-as a new driver for the NXP LPC1766.
-
-This release corresponds with SVN release number: r3137
-
-Important bugfixes include:
-
- * Cortex-M3 Hard Fault. Fixed a hard fault problem that can occur
- if certain types 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.
-
- * TCP/IP Sequence Number Bug. Corrected errors some important
- logic in the way that sequence numbers are managed when send()
- sends out packets before a previous packet has been acknowledged.
- Some of that send() logic was incompatible with logic in 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) send() might hang with outstanding, unacknowledged data
- (and with no re-transmission requests). This 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.
-
- * One-Shot POSIX Timer Bug. Fixed an error in set-up of a one-shot
- POSIX timer. It was using the repetitive timer value (which
- is zero in the one-shot case), always resulting in a 10Ms timer!
- Found and fixed by Wilton Tong.
-
-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
-http://www.nuttx.org/NuttShell.html), for the NuttX network test,
-and for the THTTPD 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.
-
-NuttX-5.15
-^^^^^^^^^^
-
-The 62nd release of NuttX, NuttX-5.15, was made on December 12,
-2010. This release includes several bugfixes as well as feature
-enhancements, primarily for the Olimex LPC1766-STK board.
-
-Important bugfixes included:
-
- * Additional fixes needed with the TCP sequence number problem
- "fixed" in NuttX-5.14.
- * In the send() logic, now checks if the destination IP address
- is in the ARP table before sending the packet; an ARP request
- will go out instead. This improves behavior, for example, on
- the first on the first GET request from a browser
- * 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.
- * The SPI_SETBITS macro was calling the SPI setmode method.
- * And several other bug fixes of lower importance (see the
- ChangeLog for details).
-
-And feature enhancements:
-
- * The LPC176x Ethernet driver was using all of AHB SRAM Bank0 for
- Ethernet packet buffers (16K). An option was added to limit
- the amount of SRAM used for packet buffering and to re-use any
- extra Bank0 memory for heap.
-
- * Enabled networking and SD/MMC card support in the Olimex
- LPC1766-STK NuttShell (NSH) configuration.
-
- * The LPC176x USB driver is now fully fully functional.
- * 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. The cmddata
- method provides selection of command or data.
-
- * 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.
-
-NuttX-5.16
-^^^^^^^^^^
-
-The 63rd release of NuttX, Version 5.16, was made on January 10,
-2010 and is available for download from the SourceForge website.
-This release includes initial support for USB host in NuttX. The
-USB host infrastructure is new to NuttX. This initial USB host release
-is probably only beta quality; it is expected the some bugs remain
-in the logic and that the functionality requires extension.
-
-Below is a summary of the NuttX USB host implementation as extracted
-from the NuttX Porting Guide:
-
- 6.3.9 USB Host-Side Drivers
- * include/nuttx/usb/usbhost.h. All structures and APIs needed to
- work with USB host-side drivers are provided in this header
- file.
- * struct usbhost_driver_s. Each USB host controller driver must
- implement an instance of struct usbhost_driver_s. This structure
- is defined in include/nuttx/usb/usbhost.h. Examples:
- arch/arm/src/lpc17xx/lpc17_usbhost.c.
- * struct usbhost_class_s. Each USB host class driver must implement
- an instance of struct usbhost_class_s. This structure is also
- defined in include/nuttx/usb/usbhost.h. Examples:
- drivers/usbhost/usbhost_storage.c
- * USB Host Class Driver Registry. The NuttX USB host infrastructure
- includes a registry. During its initialization, each USB host
- class driver must call the interface, usbhost_registerclass()
- in order add its interface to the registry. Later, when a USB
- device is connected, the USB host controller will look up the
- USB host class driver that is needed to support the connected
- device in this registry. Examples: drivers/usbhost/usbhost_registry.c,
- drivers/usbhost/usbhost_registerclass.c, and
- drivers/usbhost/usbhost_findclass.c,
- * Detection and Enumeration of Connected Devices. Each USB host
- device controller supports two methods that are used to detect
- and enumeration newly connected devices (and also detect
- disconnected devices):
- + int (*wait)(FAR struct usbhost_driver_s *drvr, bool connected);
- Wait for a device to be connected or disconnected.
- + int (*enumerate)(FAR struct usbhost_driver_s *drvr);
- Enumerate the connected device. As part of this enumeration
- process, the driver will (1) get the device's configuration
- descriptor, (2) extract the class ID info from the configuration
- descriptor, (3) call usbhost_findclass() to find the class
- that supports this device, (4) call the create() method on
- the struct usbhost_registry_s interface to get a class instance,
- and finally (5) call the connect() method of the struct
- usbhost_class_s interface. After that, the class is in charge
- of the sequence of operations.
- * Binding USB Host-Side Drivers. USB host-side controller drivers
- are not normally directly accessed by user code, but are usually
- bound to another, higher level USB host class driver. The class
- driver exports the standard NuttX device interface so that the
- connected USB device can be accessed just as with other, similar,
- on-board devices. For example, the USB host mass storage class
- driver (drivers/usbhost/usbhost_storage.c) will register a
- standard, NuttX block driver interface (like /dev/sda) that can
- be used to mount a file system just as with any other other
- block driver instance. In general, the binding sequence is:
-
- 1. Each USB host class driver includes an initialization entry
- point that is called from the application at initialization
- time. This driver calls usbhost_registerclass() during this
- initialization in order to makes itself available in the
- event the the device that it supports is connected. Examples:
- The function usbhost_storageinit() in the file
- drivers/usbhost/usbhost_storage.c
- 2. Each application must include a waiter thread thread that
- (1) calls the USB host controller driver's wait() to detect
- the connection of a device, and then (2) call the USB host
- controller driver's enumerate method to bind the registered
- USB host class driver to the USB host controller driver.
- Examples: The function nsh_waiter() in the file
- configs/nucleus2g/src/up_nsh.c and the function nsh_waiter()
- in the file configs/olimex-lpc1766stk/src/up_nsh.c.
- 3. As part of its operation during the binding operation, the
- USB host class driver will register an instances of a standard
- NuttX driver under the /dev directory. To repeat the above
- example, the USB host mass storage class driver
- (drivers/usbhost/usbhost_storage.c) will register a standard,
- NuttX block driver interface (like /dev/sda) that can be
- used to mount a file system just as with any other other
- block driver instance. Examples: See the call to
- register_blockdriver() in the function usbhost_initvolume()
- in the file drivers/usbhost/usbhost_storage.c.
-
-NuttX-5.17
-^^^^^^^^^^
-
-The 64th release of NuttX, Version 5.17, was made on January 19,
-2011 and is available for download from the SourceForge website.
-This release follows close on the heels of the 5.16 release and
-extends the USB host capabilities first introduced in that version.
-
- * The LPC17xx USB host controller driver was extended to (1) add
- support for low-speed devices, (2) handle multiple concurrent
- transfers on different endpoints (still only one TD per endpoint),
- and (3) handle periodic interrupt endpoint types.
-
- * Add a USB host HID keyboard class driver. Now you can connect
- a standard USB keyboard to NuttX and receive keyboard input for
- an application.
-
-And other changes as detailed in the ChangeLog.
-
-NuttX-5.18
-^^^^^^^^^^
-
-The 65th release of NuttX, Version 5.18, was made on February 27,
-2011 and is available for download from the SourceForge website.
-This is first release from the new NuttX SVN repository. This
-release is made primarily to keep the release tarball in synchronization
-with SVN. Many smaller changes have been made as identified in the
-ChangeLog. Headlines include:
-
- * Incorporate several important uIP patches -- including the well
- known patch to handle missing SYNACK.
- * The Freescale mc8s12ne64 port is code complete but testing has
- not yet begun due to toolchain issues. Added support for the
- Future Electronics Group NE64 Badge board.
- * Added support for a new STM32 board, the ISOTEL NetClamps VSN
- V1.2 ready2go sensor network platform. This board is based on
- a STM32F103RET6 and includes some interesting power saving/clock
- control extensions.
- * USB host support expanded to handle vendor specific USB devices.
- * Incorporated the LUFA HID parser.
- * Various bugfix as detailed in the ChangeLog
-
-NuttX-5.19
-^^^^^^^^^^
-
-The 66th release of NuttX, Version 5.19, was made on March 12, 2011
-and is available for download from the SourceForge website. This
-release includes several new features in various states of integration
-and maturity:
-
- * 486SX QEMU port. This port supports the Intel 486SX architecture
- using the QEMU simulator. Initial functionality is in place a
- partially tested. There are still some outstanding issues with
- timer interrupts.
- * Platform specific application support. A new apps/ directory
- appears in this port. This apps/ directory provides a mechanism
- for applications using NuttX to have a highly customized
- initialization process. It supports a set of end-user applications
- than can be executed (1) standalone so you can have a fully
- customized application startup, or (2) on top of NSH. Think
- of it this way: In a buckled-up embedded application, your
- end-user programs will probably have their own dedicated start-up
- logic. But, during development, you might want to have you
- applications available and executable from the NSH command line.
- This apps/ add-on (and NSH hooks) was contributed by Uros to
- accomplish just that.
- * NSH was also extended to support application specific ROMFS
- /etc/init.d/rcS start-up scripts. This feature, as well, as
- all of the above-mentioned apps/ directory support was contributed
- by Uros Platise
- * Additional NSH improvements and bug fixes. See the Changelog
- for details.
- * This release also provides a new SLIP network driver. This
- driver should support point-to-point network communications to
- a host using TCP/IP or UDP. This driver is code complete, but
- not tested in this release.
- * New RAMTRON FRAM driver (contributed by Uros Platise)
- * New generic 16550 UART driver.
- * Cortex-M3 Power improvements: Waits for Interrupt (WFI) in idle
- loop for reduced power consumption (LPC17xx and STM32 only -
- contributed by Uros Platise))
- * New waitpid() system interface.
- * Additional bugfixes: pipes, stdint.h, STM32 SDIO and SPI drivers
-
-NuttX-6.0
-^^^^^^^^^
-
-The 67th release of NuttX, Version 6.0, was made on March 21, 2011
-and is available for download from the SourceForge website. The
-version number of this release was bumped from 5.19 to 6.0. A
-change in the major revision number is used to reflect an incompatibility
-with previous versions. In this release, the NuttX core OS
-functionality has been separated from NuttX application-related
-functionality. These are provided as separate tarballs:
-
- * nuttx-6.0.tar.gz, and
- * apps-6.0.tar.gz
-
-The purpose of this separation is both to better organize and
-modularize the NuttX source tree, but also to provide better support
-for incorporation of end-user applications with Nuttx.
-
-The incompatibility results from the changes to the board configuration
-logic needed to supported the separable application. The major
-changes to the configuration include:
-
- * CONFIG_APPS_DIR - This should not be set. The default is
- ../apps. This should only be set if you have a custom,
- product-specific application directory in some different location.
-
- * appconfig - Each board configuration now requires a new file
- called 'appconfig.' As its name suggests, this file provides
- new configuration information needed by the logic in ../apps.
-
-In addition to this major reorganization in the directory structure,
-this release also includes some important extensions to existing
-features and some important bugfixes. These include:
-
- * The SLIP driver was been well debugged and significantly
- re-designed. Now you can have an Ethernet connection to you
- board even if you have no Ethernet hardware. How cool is that?
-
- * The QEMU i486 port is now functional. It has also been reported
- to work on the Bifferboard (see http://bifferos.bizhat.com/).
-
- * And extensions to the uIP driver interface, and
-
- * Bug fixes to fopen() and STM32 GPIO configuration
-
-Please see the ChangeLog for details.
-
-NuttX-6.1
-^^^^^^^^^
-
-The 68th release of NuttX, Version 6.1, was made on April 10, 2011
-and is available for download from the SourceForge website. The
-6.0 release introduced a detach-able application environment to
-build applications outside of the NuttX source tree. The primary
-purpose of this release is to correct numerous build problems
-introduced by that architectural change:
-
- * In many newer environments, NuttX produced strange Makefile
- errors but built correctly in older environments. A fix provided
- by Rafael Noronha was incorporated and is reported to fix those
- build problems.
- * The apps/ directory build system would not handle Windows-native
- toolchains due to obscure path formatting issues.
- * And other problems as detailed in the Changelog.
-
-Many additional changes were made in the 6.1 release for another
-major architectural change: NuttX will now build as a separately
-linked microkernel. In this build option the RTOS builds as a
-kernel, applications build separately and interface with kernel via
-system calls. Applications run in user mode and kernel logic users
-in kernel-mode. This provides a secure environment for NuttX. This
-feature is fully coded in NuttX-6.1, but has not been tested due
-to higher priority tasks that have arisen.
-
-Related to this change, support for the Cortex-M3 memory protection
-unit (MPU) has been integrated with the NuttX kernel build to provide
-an even higher level of security.
-
-NOTE: This kernel build is an option; the default build configuration
-is still the standard, flat, unsecured RTOS as in previous releases.
-
-Additional new features in this release:
-
- * Support for LPC17xx GPIO interrupts (with much support from
- Decio Renno).
- * Basic timer support for STM32 (Contributed by Uros Platise)
- * A binfs file system. This is a tiny pseudo file system that
- lets named applications to be viewed and accessed in NSH under
- the /bin directory.
- * An I2C-based driver for the LIS331DL MEMS motion sensor.
- (Contributed by Uros Platise.)
- * A configuration for the Embedded Artists LPCXpresso LPC1768 board.
- * The user_initialize() interface has been removed.
-
-And several bugfix associated with SD drivers, opendir(), signed
-8-bit types (int8_t), and USB serial device. See the ChangeLog for
-details.
-
-NuttX-6.2
-^^^^^^^^^
-
-The 69th release of NuttX, Version 6.2, was made on May 6, 2011 and
-is available for download from the SourceForge website. The 6.2
-release includes several new features:
-
- * NXFFS: The obvious new feature is NXFFS, the NuttX wear-leveling
- FLASH file system. This new file system is intended to be
- small for the MCU usage and has some limitations. No formal
- documentation of NXFFS yet exists. See the fs/nxffs/README.txt
- file for details (see
- http://svn.code.sf.net/p/nuttx/code/trunk/nuttx/fs/nxffs/README.txt?view=log)
- * Support for NXP LPCXpresso LPC1768 board on the Embedded
- Artists base board. The Code Red toolchain is supported under
- either Linux or Windows. Verified configurations include
- dhcpd, nsh, nx, ostest, thttpd, and usbstorage.
- * Support for the Univision UG-9664HSWAG01 OLED with Solomon
- Systech SD1305 LCD controller.
- * A new RAM MTD driver with FLASH simulation capability.
- * A version.h file is now automatically generated so that C code
- can now be version aware.
-
-In addition to these new feature, several important bugfixes are
-included in this release correcting problems with dup2(), LPC17xx
-GPIO interrupts, LPC17xx UART2/3, the FAT file system, build issues,
-and strrch(). See the ChangeLog for more details.
-
-NuttX-6.3
-^^^^^^^^^
-
-The 70th release of NuttX follows only a nines days after the release
-of version 6.2. It was released on May 15, 2011. This special
-back-to-back release was made so that the current released version
-of NuttX will correspond to the initial release from the RGMP
-project.
-
-This release adds architecture support and build configuration for
-RGMP. RGMP is a project for running GPOS and RTOS simultaneously
-on multi-processor platforms. See
-http://rgmp.sourceforge.net/wiki/index.php/Main_Page for further
-information about RGMP.
-
-This release also includes support for STM32 FLASH, build improvements,
-and initial, incomplete support for the MicroChip PIC32MX MCU. Bug
-fixes are included for some build problems, USB host class driver
-error handling, NX graphics color mapping, and problems with C
-standard I/O buffer flushing. See the ChangeLog for further details.
-
-NuttX-6.4
-^^^^^^^^^
-
-The 71st release of NuttX, Version 6.4, was made on June 6, 2011
-and is available for download from the SourceForge website. The
-6.4 release includes several new features:
-
- * A new, full-featured FTP client. This client may be used as a library
- for automated FTP or via an FTP client shell. The FTP shell
- supports the following commands: cd, chmod, get, help, idle,
- login, ls, quit, mkdir, noop, put, pwd, rename, rhelp, rm,
- rmdir, size, time, and up. A configuration is available for
- the NXP LPC17xx to demonstrate this functionality.
- * A functional C1101 wireless driver (contributed by Uros Platise)
- * A PCI-based E1000 Ethernet driver (contributed by Yu Qiang)
- * New C library functions: inet_addr() (contributed by Yu Qiang),
- strndup(), asprintf()
- * Reduced memory allocation overhead for MCUs with small heaps (<64K).
- * fdopen() now works with socket descriptors allowing standard
- buffered C functions to be used for network communications.
- * The NSH ifconfig command can now be used to set or change the
- IP address (contributed by Yu Qiang)
-
-This release also includes some completed but untested functionality.
-
- * The MicroChip PIC32MX port is now code complete and ready to
- begin testing. Unfortunately, testing will be delayed due to
- tool issues.
- * Support for the NXP LPC315x MCUs.
-
-Additional miscellaneous enhancements and bug fixes to task_delete(),
-recvfrom(), and other changes as noted in the ChangeLog.
-
-NuttX-6.5
-^^^^^^^^^
-
-The 72nd release of NuttX, Version 6.5, was made on June 21, 2011
-and is available for download from the SourceForge website. The
-6.5 release is all about support for the Atmel 8-bit AVR family.
-I have been interested in the AVR family for some time but because
-of the severe SRAM constraints and because of the availability of
-many tiny schedulers for the AVR, it has not been "on the radar
-screen." However, I have recently become interested because of
-interest expressed by members of the forum and because of the
-availability of newer, larger capacity AVR parts (that I don't have
-yet).
-
-This release corresponds with SVN release number: r3730
-
-This release includes support for the following AVR boards. As
-with any initial support for new architectures, there are some
-incomplete areas and a few caveats that need to be stated. Here
-they are, ordered from the least to the most complete:
-
- * SoC Robotics Amber Web Server (ATMega128).
-
- This port of NuttX to the Amber Web Server from SoC Robotics
- (http://www.soc-robotics.com/index.htm). Is only partially in
- place. The Amber Web Server is based on an Atmel ATMega128
- (128K FLASH but only 4K of SRAM).
-
- STATUS: Work on this port has stalled due to toolchain issues. It
- is complete, but untested.
-
- * Micropendous 3 AT9USB647
-
- This port of NuttX to the Opendous Micropendous 3 board. The
- Micropendous3 may be populated with an AT90USB646, 647, 1286,
- or 1287. See http://code.google.com/p/opendous/. I have only
- the AT90USB647 version for testing. This version has very
- limited memory resources: 64K of FLASH and 4K of SRAM.
-
- STATUS: The basic port was released in NuttX-6.5. This basic
- port consists only of a "Hello, World!!" example that demonstrates
- initialization of the OS, creation of a simple task, and serial
- console output. The tiny SRAM limits what you can do with the
- AT90USB647 (see issues below).
-
- * PJRC Teensy++ 2.0 AT9USB1286
-
- This is a port of NuttX to the PJRC Teensy++ 2.0 board. This
- board was developed by PJRC (http://pjrc.com/teensy/). The
- Teensy++ 2.0 is based on an Atmel AT90USB1286 MCU with 128K
- of FLASH and 8K of SRAM; a little more room to move than the
- AT90USB647.
-
- STATUS: The basic port was released in NuttX-6.5. This basic
- port consists of a "Hello, World!!" example and also slightly
- simplified NuttShell (NSH) configuration (see the NSH User Guide
- at http://www.nuttx.org/NuttShell.html).
-
- An SPI driver and a USB device driver exist for the AT90USB as
- well as a USB mass storage configuration. However, this
- configuration is not fully debugged as of the NuttX-6.5 release.
-
-AVR-specific issues. The basic AVR port is solid and biggest issue
-for using AVR is its tiny SRAM memory and its Harvard architecture.
-Because of the Harvard architecture, constant data that resides to
-flash is inaccessible using "normal" memory reads and writes (only
-SRAM data can be accessed "normally"). Special AVR instructions
-are available for accessing data in FLASH, but these have not been
-integrated into the normal, general purpose OS.
-
-Most NuttX test applications are console-oriented with lots of
-strings used for printf and debug output. These strings are all
-stored in SRAM now due to these data accessing issues and even the
-smallest console-oriented applications can quickly fill a 4-8K
-memory. So, in order for the AVR port to be useful, one of two
-things would need to be done:
-
-1. Don't use console applications that required lots of strings.
- The basic AVR port is solid and your typical deeply embedded
- application should work fine.
-
-2. Create a special version of printf that knows how to access
- strings that reside in FLASH (or EEPROM).
-
-NuttX-6.6
-^^^^^^^^^
-
-The 73rd release of NuttX, Version 6.6, was made on July 11, 2011
-and is available for download from the SourceForge website. The
-6.6 release adds several smaller features but is mostly a bugfix
-release.
-
-Bugfixes include
-
- * Fixed several NX Graphics bugs: Rendering fonts at >8 bits-per-pixel,
- graphics move logic, and display artifacts that appear when a
- window is closed.
- * Corrections to the USB host mass storage class driver
- * STM32 bugfixes: serial driver, GPIO interrupt handling
- * LPC17xx: Changes for a success compilation with no console.
- * Corrections to the Teensy AT90USB SD driver
- * Changes for a clean compilation under the ZDS-II toolchain.
-
-Minor features:
-
- * Add logic to extract printf strings from FLASH (but there are
- still printf issues for that target)
- * Added a configuration for the Sure Electronics PIC32MX board.
- However, higher priority tasks have stopped work on that
- configuration.
- * Added several new configurations for the STMicro STM3210E-EVAL
- board.
- * Added support for the STM3210E-EVAL board: (1) LCD in either
- landscape or portrait mode, and (2) interrupting buttons.
- * Added a configuration option to use different serial ports for
- debug and for the NSH serial console (there are some issues
- with CR-LF expansion and character echo if NSH is not run on
- the console).
- * Standardized the button press and button interrupt interfaces
- so that they are common across all boards.
- * Added a new graphics example that focuses on placing text on
- the background while pop-up windows occur. Text should continue
- to update normally with or without the popup windows present.
- * Added ARM stack checking logic.
-
-See the ChangeLog for a detailed description of these changes.
-
-NuttX-6.7
-^^^^^^^^^
-
-The 74th release of NuttX, Version 6.7, was made on August 2, 2011
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.7.tar.gz and
-apps-6.7.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information). Changes in this release are summarized
-below:
-
- * New OS APIs: Add the standard sem_timedwait() interface.
- * FAT File System: Adds (optional) support for VFAT long file
- names.
- * USB: Now the mass storage device can be connected when needed
- and disconnected when not needed (or re-connected as a different
- kind of device).
- * Touchscreen Support: Defined a new NuttX touchscreen interface.
- Added a driver for the TI TSC2007 touchscreen controller chip.
- * NX Fonts: Add support for multiple fonts; developed a tool to
- convert open source fonts into NuttX format; Converted and
- installed nine new, high quality fontsets.
- * NX Graphics: Add new NX APIs to support drawing of wide lines
- in any orientation. Added new low level routines to set
- individual pixel more efficiently.
- * Build system: Added a export target that will bundle up all
- of the NuttX libraries, header files, and the startup object
- into an exportable tarball.
- * LPC17xx: A CAN driver was contributed by Li Zhuoyi (Lzyy).
- * STM32: New NX-related configurations to exercise text and
- graphic image displays.
- * C Library: Added a fixed precision atan2() math function.
- * Bugfixes: Serial RX overrun error, FAT upper/lower NT 8.3 name
- handling fixed. FAT directory allocation and initialization
- bug. STM32 SDIO DMA race condition bug. eZ80 UART1 serial
- driver errors (Paul Osmialowski)
-
-NuttX-6.8
-^^^^^^^^^
-
-The 75th release of NuttX, Version 6.8, was made on August 19, 2011
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.8.tar.gz and
-apps-6.8.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information). Changes in this release are summarized
-below:
-
- * NuttX has been ported to run on the Freescale Cortex-M4 "Kinetis"
- boards. Two board ports are available for (1) the Kinetis
- KwikStik-K40 and (2) the Kinetis TWR-K60N512 tower.
- * Support for RGMP 0.3. This version of RGMP now runs on the
- OMAP4430 (arm) pandaboard
- * LPC17xx CAN driver extended to support both CAN1 and CAN2
- (submitted by Li Zhuoy (Lzzy))
- * Fixed several critical bugs related to signal handling
- initialization and for signals the wake up tasks that are waiting
- to send or receive message queues.Both are important. (submitted
- by hkwilton).
- * drivers/can.c: Fixed a semaphore overflow problem in the CAN
- driver (reported by Li Zhouy (Lzzy)).
- * Added a new ADC driver infrastructure and TI ADS1255 driver
- both developed and submitted by Li Zhouy (Lzzy)).
-
-See the Changelog for additional changes included in this release.
-
-NuttX-6.9
-^^^^^^^^^
-
-The 76th release of NuttX, Version 6.9, was made on September 11, 2011
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.9.tar.gz and
-apps-6.9.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-This release includes a few new features and several important bug fixes.
-The new features (some still incomplete) include:
-
- * Analog Support/ NXP LPC17xx: New DAC sub-system including ADC and DAC
- drivers for the LPC17xx. Extensions to the ADS1255 driver.
- (Contributed by Li Zhuoyi (Lzyy))
-
- * Power Management: Added a new NuttX power management sub-system for
- controlling and coordinating reduced power states. At present, only
- verified in a simulation environment.
-
- * I2C Test Tool: A new application was added that can be used to
- verify and debug I2C interfaces from the NuttShell (NSH) command
- line.
-
- * NuttShell (NSH): In addition to the I2C test tool, a date command
- is now supported (if CONFIG_RTC is defined) that can be used to
- read and set the RTC.
-
- * NXP LPC17xx: I2C and DAC driver for the NXP LPC17xx family submitted by Li Zhuoyi
- (Lzyy)
-
- * Kinetis Cortex-M4: Added a SDHC driver for the Kinetis parts.
- Complete debug of the Kinetis SDHC driver was not completed, however,
- do to some higher priority tasks that forced me to stop work.
-
- * Other new drivers: Driver for I2C-based at24cxx EEPROM submitted by
- Li Zhuoyi (Lzyy); Driver for the LM-75 temperature sensor. Support
- for the LM-75 temperature sensor integrated into the SM3210E-EVAL
- development board.
-
- * NuttX Graphics (NX): Added new NX interfaces for drawing circles,
- both circle outlines and filled circles.
-
- * FLASH: Added a function that accepts the path to a block driver and
- then erases the underlying FLASH memory
-
- * Build System: The Make export logic now also tries to track down all
- architecture-specific header files and include these in the NuttX
- export bundle as well. Various changes and modifications so that
- NuttX wil build on FreeBSD using the ASH shell (submitted by Kurt Lidl).
-
-Bugfixes, order roughly on decreasing criticality include:
-
- * STM32 I2C Driver: Add resets, timeout, and other fixes to work
- reliably with the I2C tool. Corrected a major error introduced in
- NuttX 6.8.
-
- * BCH Driver. Several important bugs (noted by Li Zhuoyi (Lzyy))
- were fixed.
-
- * C Library: Fixed errors in gmtime() and gmtime_r() that could lead to
- errors in date calculations.
-
- * Timing: Correct an error in the tv_nsec calculation that happens
- only config CONFIG_RTC is enabled
-
- * Build System: Use of -print-libgcc-file-name to get path to
- libgcc.a might select the wrong libgcc.a if a multilib toolchain
- is used
-
-NuttX-6.10
-^^^^^^^^^^
-
-The 77th release of NuttX, Version 6.10, was made on October 6, 2011
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.10.tar.gz and
-apps-6.10.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-This release corresponds with SVN release number: r4028
-
-This release includes a few new features and several important bug fixes.
-The new features (some still incomplete) include:
-
- * CDC ACM serial class device-side driver
-
- * RTC: Now supports hi-res and lo-res hardware RTC. The lo-res RTC
- runs at 1Hz.
-
- * STM32 I2C driver. Now supports faster, polled mode of operation.
- Added an I2C trace capability.
-
- * ADS7843E touchscreen driver. As used on the SAM3U-EK development
- board.
-
- * AT91SAM3U SPI driver. To support the ADS7843E toucscreen
-
- * X11 Support on simulation target. Build errors in the X11 windows
- for the simulated target have been correct. Added support for a
- simulated touchscreen on the X11 window (based on mouse inputs).
-
- * System Timer. Added support for a 64-bit system timer.
-
- * TIFF Support. Added a TIFF library (currently used for storing
- LCD screen shots).
-
- * LCD Support. Added a test to verify that we read and write correct
- to LCD GRAM memory.
-
- * I2C tool. Extended to support to include a verify command and
- repititions and auto-address increment for most commands.
-
- * USB terminal example. Line oriented serial bridge connects a host
- USB serial terminal to a host UART serial terminal.
-
- * Build System. apps/ Makefile will now include external directories
- in the application build.
-
-Bugfixes, order roughly on decreasing criticality include:
-
- * Message Queues. Correct errors in mq_timedsend() and
- mq_timedrecieve().
-
- * FAT. Writes that cross sector boundaries, stray write into the FAT,
- and a FAT long file name issue
-
- * NXFFS. Added a missed error check. Files cannot be opened for
- writing if they are already opened for reading.
-
- * Library: fopen() for append modse was not appending.
-
- * STM32 I2C driver. Correct another conflict between concurrent FSMC
- and I2C1 accesses. Fixed some bad error detection logic.
-
- * STM32 SDHC driver. Interrupts were being left disabled.
-
-NuttX-6.11
-^^^^^^^^^^
-
-The 78th release of NuttX, Version 6.11, was made on November 12, 2011
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.11.tar.gz and
-apps-6.11.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-This release corresponds with SVN release number: r4090
-
-This release is a maintenance release that includes a few new features
-and some important bugfixes. New features include:
-
- * NX Graphics: New interfaces to read from graphics memory
- * Drivers: AT24 FLASH driver will now supports clustering of blocks
- to achieve a larger, more usable block size for NXFFS.
- * STM32: LCD color corrections
- * PIC32: Board configuration for the Microchip PIC32 Ethernet Starter kit
- (not yet verified), new GPIO support library, button and LED support
- for the Sure Electronics PIC32MX board. A lot of progress has been
- made on the PIC32 NuttX port, but it is still not ready for prime time.
- * NXP LPC3152: Board configuration for the Embedded Artists EA3152.
-
-Bugfixes, order roughly on decreasing criticality include:
-
- * NXFFS: Corrected critical bugs in initialization, some full FLASH handling,
- and errors in certain cases where the FLASH is repacked.
- * ARM EABI: Fix stack aligment required for passing floating point values.
- * Build system: Fix build issues when g++ is used as the compiler.
- * NX Graphics: Bitmap error handling, correct RGB color conversion macros,
- Error when the background window is released.
- * STM32: RTC build fixes, LCD color corrections
- * Simulation target: build fixes
- * C Library: fclose() return value.
-
-See the change log for more detailed information.
-
-NuttX-6.12
-^^^^^^^^^^
-
-The 79th release of NuttX, Version 6.12, was made on December 6, 2011
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.12.tar.gz and
-apps-6.12.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-This release corresponds with SVN release number: r4141
-
-New features in this release include:
-
- * STM32. Basic support added for the STM32 F4 family. Board support
- verified for the STMicro STM3250G-EVAL board.
- * FAT. Enhanced partition handling.
- * SDIO-Based SD Card support. Add support for large (>4Gb) devices
- * Graphics. Added four new small sans serif fonts.
- * Drivers. Fix a banding problem with the R61580 LCD.
-
-Bugfixes, order roughly on decreasing criticality include:
-
- * FAT. Fix errors in how the first entries in the root directory are
- added. Fix errors in FAT date/time handling.
- * Signals. Fix bug in certain sig_timedwait() error handling.
- * Drivers. Fix cloned errors in poll() handling in several drivers.
- * Message Queues. errno was not being set correctly by mq_notify().
- * C Library. wchar_t is a built-in type for C++
-
-NuttX-6.13
-^^^^^^^^^^
-
-The 80th release of NuttX, Version 6.13, was made on December 26, 2011
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.13.tar.gz and
-apps-6.13.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-This release corresponds with SVN release number: r4231
-
-New features in this release include:
-
- * Drivers. New standard interface for PWM drivers and common
- "upper half" PWM driver. Updated the MP25x driver to support
- the Macronix MX25 chips (submitted by Mohammad Elwakeel).
- * STM32 F1/F4. Added an Ethernet driver, ADC drivers, DAC driver,
- PWM driver, CAN driver, F4 RTC driver, F4 DMA support,
- logic for saving/restoring F4 FPU registers in context switches.
- * STM32 Boards. Added STM3240G-EVAL DHPCD and nettest configuration.
- Support for a new STM32 board, the HY-Mini STM32v board, was
- contributed by Laurent Latil
- * PIC32. The port to the Microchip PIC32MX is finally functional and
- reliable. The NuttX PIC32 port has verified configurations for
- the OS test and the NuttShell (NSH) both exist.
- * Tests: New re-usable tests (in apps/examples) for PWM, ADC, and
- CAN loopback. Several existing tests can now be built as NSH built-in
- applicaitons (dhcpd, nettest, and all of the new tests).
-
-Bugfixes, order roughly on decreasing criticality include:
-
- * STM32: Correct handling of data overrun conditions. Existing logic
- would hang with infinite interrupts when a data overrun occurred.
- * DHCPD. Fix several problems using host order address where network
- addresses expected (and vice versa).
-
-And several others. See the ChangeLog for more details.
-
-NuttX-6.14
-^^^^^^^^^^
-
-The 81st release of NuttX, Version 6.14, was made on January 15, 2012,
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.14.tar.gz and
-apps-6.14.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-This release corresponds with SVN release number: r4301
-
-New features in this release include:
-
- * Drivers. The upper-half PWM driver will now support a pulse count (as
- would be needed to control a stepper motor).
-
- * STM32. The CAN driver has been verified in loopback mode. ADC driver
- support for the STM32 F4. Add support for UART4-5 and USART6
- (Contributed by Mike Smith). The PWM driver now supports a pulse
- count for TIM1 and TIM8. Timer driver now supports the F4's 32-bit
- timers (Contributed by Mikhail Bychek)
-
- * STM32F4Discovery. Support for the STM32F4-Discovery board contributed
- by Mike Smith.
-
- * STM3240G-EVAL. Add support for user control of LEDs.
-
- * LPC17xx. Add support for loopback mode to CAN driver. CAN TX done
- perations are now interrupt driver. Now supports configurable CAN bit
- rate.
-
- * LPC1766-STK. Add support for on-board buttons. Add support for user
- control of LEDs.
-
- * LM3S. Add support for the LM3S6432S2E on the TI RDK-S2E (Contributed
- by Mike Smith)
-
- * PIC32MX. USB device-side driver (needs further testing). A partial
- Ethernet driver is also in place.
-
- * Library. Support added for fixed floating point fieldwidths in output
- formatting (Contributed by Mikhail Bychek)
-
- * Build. New targets apps_clean and apps_distclean to simplify working
- with application diretories.
-
-Bugfixes include:
-
- * Drivers. Fixed a buffer-full test in the upper-half CAN driver.
-
- * STM32. GPIO initialize logic (submitted by Mike Smith). Fix the
- debug logic that dumps the GPIO configuration.
-
- * LPC17xxx. Correct an integeter overlow in GPIO interrupt setup
- (prevented pins > 15 from being used as interrupt sources). Correct
- a value used in GPIO interrupt number range test.
-
- * FAT. Now returns the correct error value when it is unable to
- recognize the file system.
-
- * Build. MAC OS build fixes (submitted by Mike Smith)
-
-And several others. See the ChangeLog for more details.
-
-NuttX-6.15
-^^^^^^^^^^
-
-The 82nd release of NuttX, Version 6.15, was made on February 12, 2012,
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.15.tar.gz and
-apps-6.15.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-This release corresponds with SVN release number: r4387
-
-New features and extended functionality:
-
- * General Drivers: Add support for (29-bit) extended CAN IDs. Add an
- infrastructure to support battery drivers. Add a driver for MAX17040x
- battery "fuel gauge". Add support for Composite USB drivers (in
- particular for a CDC/ACM with MSC USB composite driver).
-
- Added a new RAM logging driver. This will allow debug output into
- a RAM buffer associated with a character driver at /dev/syslog.
- Added the new command 'dmesg' to NSH that can be used to dump the
- current contents of the log. This is useful for systems that do not
- have the usual serial console (for example, if you only have a
- Telnet console with NSH).
-
- * Networking: Add a lower level, primitive socket interface. Telnet
- driver:
-
- A New Telnet daemon was created. It wraps a Telnet session within a
- character driver that can serve as a "controlling terminal." The
- Telnet session will then be inherited by tasks created from the
- Telnet session and the stdin/stdout from the created task will
- still go through the same Telnet connection.
-
- * STM32 Drivers. PWM driver pulse count was limited to 128; now is
- (essentially) unlimited. Add support for (29-bit) extended CAN IDs.
- Add support for I2C3. The SDIO driver is (mostly) verified on the
- STM32 F4 platforms.
-
- * LPC17xx Drivers. Extended the CAN driver so that the TSEG1 and TSEG2
- bit times can be set via the NuttX configuration. Add support for
- (29-bit) extended CAN IDs.
-
- * PIC32 Drivers. The PIC32 Ethernet driver is code complete (but still
- untested).
-
- * FTPD. Add a new FTP server daemon. This is based loosely on
- the hwport_ftpd library provided by Jaehyuk Cho.
-
- * Library: Add support for on_exit(). Implemented tcsetattr() and
- tcgetattr(). Moved the old, too-smart fgets() to a new application
- library function called readline(). Dumbed down the original fgets().
- Add strcasestr(), avsprintf(), inet_ntop(), and inet_pton().
- Add support to enable or disable debug output.
-
- * Build system: Support for building a 32-bit simulation executable on
- a 64-bit Linux machine. Correct a dependency issue in the arch/*/src/board
- directory.
-
-Bugfixes:
-
- * System: Correct PTHREAD_MUTEX_INITIALIZER
-
- * FAT: Fix an error in the FAT statfs() reported by David Sidrane.
-
- * STM32: Fix clock frequencies for APB2 timers. Correct AFIO register
- offset.
-
- * PIC32. Correct GPIOs used for LEDs on the Sure PIC32MX board.
-
- * NSH. Wait for a USB connection if a USB serial class is used to
- interface with the host.
-
-Additional bugfixes, name changes, and other differences as detailed in the
-ChangeLog.
-
-NuttX-6.16
-^^^^^^^^^^
-
-The 83rd release of NuttX, Version 6.16, was made on March 10, 2012,
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.16.tar.gz and
-apps-6.16.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-This release corresponds with SVN release number: r4475
-
-New features and extended functionality:
-
- * ARMv7M Support: Includes new, streamlined Cortex-M exception
- handling provided by Mike Smith. Context switching support for the
- Cortex-M4 FPU registers is now provided (in both "lazy" and "non-lazy"
- modes)
-
- * General Drivers: Added a generic "upper half" Quadrature Encoder driver.
- The USB CDC/ACM serial driver can now be dynamically connnected or
- disconnected from the host (programmatically or using NSH commands).
-
- * STM32 Drivers: Added a "lower half" Quadrature Encoder driver.
- Verified the STM32 F4 DMA driver; Added F4 DMA support to the existing
- STM32 SDIO driver.
-
- * STM32 Board Support. Added support for the STM32 F2 family and
- for the STM3220G-EVAL board (contributed by Gary Teravskis).
- Support is now included for C++ static constructors (verified using
- the Atollic toolchain). Added support for the SRAM available on the
- STM3240G-EVAL board.
-
- * PIC32 Drivers. PIC32MX USB (device) driver is now functional.
- The PIC32MX Ethernet driver not yet fully verified (and an
- unverified SPI driver is also available).
-
- * Networking. Added a lower-level, thread-independent socket layer.
- Parts of this layer were created in 6.15 to support the FTPD
- controlling terminal; this support has been extended in order
- to support an NFS file system (not yet released).
-
- * NuttShell (NSH). NSH will now support a USB serial connection for
- the console (such as CDC/ACM). This is useful in environments
- where there is no physical serial port on the board.
-
- * Build System. Reorgnaization of networking header files.
-
-Critical Bugfixes. The following bug fixes are considered critical:
-
- * Networking: Fixed a "leak" in the TCP/IP read-ahead buffering logic.
- Corrected an error in TCP/IP sequence numbering/ACK logic which
- occurred when read-ahead buffering memory is exhausted.
-
- * STM32 Drivers: Fixed an buffer sizing error in the STM32 Ethernet
- driver.
-
-Additional Bugfixes: Other important bug fixes are listed below. See
-the ChangeLog of a complete, detailed list of bug fixes.
-
- * Networking: Corrected recv()/recvfrom() return value. Added logic to
- monitor for loss of connection after a new connection has been
- established via accept() (Contributed by Max Nekludov). Add
- logic to select() to correctly handle POLLHUP (Contributed by Max
- Nekludov)
-
-Additional bugfixes, name changes, and other differences as detailed in the
-ChangeLog.
-
-NuttX-6.17
-^^^^^^^^^^
-
-The 84th release of NuttX, Version 6.17, was made on April 14, 2012,
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.17.tar.gz and
-apps-6.17.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-This release corresponds with SVN release number: r4607
-
-New features and extended functionality:
-
- * Networking: Additional low-level, thread-independent socket
- interfaces (for NFS client support).
-
- * RTC: Added a new interface call clock_synchronize(). This function
- will reload the system time from an RTC and is required when the
- system re-awakens from certain deep-sleep modes.
-
- * Graphics: Add NxConsole. This is a character device driver that
- wraps an NX window and can be re-directed for stdout. This allows,
- for example, a pop-up graphics window that contains a NuttShell (NSH)
- session. A test of NxConsole is available at apps/examples/nxconsole.
-
- * Watchdog Drivers: Added an interface definition an "upper half"
- driver to support watchdog timers.
-
- * Calypso: Support for TI Calypso-based cellphones (as supported by
- the Osmocom-BB project) was contributed by members of the Osmocom-BB
- team. This includes configurations for the Compal e88 and e99 phones.
-
- * USB Device Interface: Needed to extend the USB device interface
- because there was no mechanism for passing endpoint OUT data that
- may need to accompany a setup request.
-
- * STM32 drivers: Added some power management controls for entering
- reduced power consumption states. An OTG FS driver was completed
- and partially verified (this driver seems to be functional but since
- it has been test so lightly, it might better be listed in the
- next section "Work in progress").
-
- * PIC32 drivers: The PIC32 Ethernet driver is now stable. The PIC32
- USB device controller driver is now functional (but not yet stable).
-
- * PIC32 boards: Added support for the Sure DB-DP11212 PIC32 General
- Purpose Demo Board. There is now a PIC32 Starter Kit that
- provides NSH only through a Telnet connection.
-
- * Build System: Some header files were moved into include/nuttx.
- The goal is to move any non-standard header files to include/nuttx
- or include/arch. Moved include/math.h to include/nuttx/math.h;
- this file is now only instantiated as the 'system' math.h if
- CONFIG_ARCH_MATH_H=y is defined.
-
- * Tools: Added tools/cmpconfig.c, a tool for comparing two
- configuration files.
-
-Work in progress. This release includes some partially completed
-work that is still not ready for prime time.
-
- * NFS Client: Work is progressing on support for an NFS client
- file system. This is a port of the BSD NFS client file system
- that is being done by Jose Pablo Rojas V.
-
- * Automated Configuration: Automated configuration based on the
- kconfig-frontends tool is being incorporated into the build
- system. The configuration is still not complete enough for
- general use in this release.
-
- * STM32 Drivers: Added files that will (eventually) hold an STM32
- OTG FS host driver. This is still a work in progress.
-
-Bugfixes:
-
- * Networking: Corrected a deadlock that only occurred when
- executing the NSH 'ifconfig' command over Telnet.
-
- * File system: Fix incorrect return errno value from read() when
- the file is opened write-only.
-
- * Graphics: Fix several compilation errors that have crept into the
- multi-user NX server because of lack of use.
-
- * STM32: In order to use CAN2, both CAN1 and CAN2 clocking must be
- enabled. Fixed a troublesome bug in the STM32 F4 I2C driver that
- resulting in timeouts.
-
- * LPC17xx: Fixes for errors the crept in the LPC17xx DAC logic
- Contributed by Lzyy).
-
- * Build System: Reordered the link command line to account for new
- versions of libgcc.a that require symbols from the application
- (abort()).
-
-NuttX-6.18
-^^^^^^^^^^
-
-The 85th release of NuttX, Version 6.18, was made on May 19, 2012,
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.18.tar.gz and
-apps-6.18.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-The majority of changes in this release are focused on supporting the
-synchronized release of NxWM, the NuttX tiny window manager. That
-window manager is released as part of the NxWidgets package, but depends
-upon many of the changes in this NuttX release.
-
-This release corresponds with SVN release number: r4751
-
-New features and extended functionality:
-
- * Drivers. Added a watchdog timer driver infrastructure. Add general
- support for STMicro STMPE811 I/O Expander/touchscreen device.
-
- * STM32. Add support for the STM32 IWDG and WWDG watchodog timers. DMA
- now supports cicular buffer mode; serial driver now uses circular
- DMA to improve Rx performance (Contributed by Mike Smith).
-
- * STM3240G-EVAL Board. Add support for the LCD and for the STMPE811
- I/O Expander as a touchscreen controller.
-
- * PIC32 Boards. Board support for the Mikroelektronika PIC32MX7
- Multimedia Board (MMB) and for the Sparkfun UBW32 PIC32 board.
-
- * NX. Framed windows are now draw in three colors instead of just two.
- Numerous other extensions needed to support NxWM (see the ChangeLog
- for details).
-
- * Library. Add prctl() command that can be used to setting and getting
- the names of threads. This (plus several other improvements and bug
- fixes) are part of a larger effort to improve task monitoring
- capabilities.
-
-Work in progress. This release includes some partially completed
-work that is still not ready for prime time.
-
- * NFS Client. Work is progressing on support for an NFS client
- file system. This is a port of the BSD NFS client file system
- that is being done by Jose Pablo Rojas V.
-
- * Automated Configuration. Automated configuration based on the
- kconfig-frontends tool is being incorporated into the build
- system. The configuration is still not complete enough for
- general use in this release.
-
- * STM32 Drivers. Added files that will (eventually) hold an STM32
- OTG FS host driver. This is still a work in progress.
-
-Bugfixes (see the change log for details) :
-
- * sched_setscheduler() return value (Contributed by Richard Cochran).
-
- * stdio. Ignore CONFIG_STDIO_LINEBUFFER if the file was opened in binary mode.
-
- * fopen(). Correct an error in parsing open mode string.
-
- * serial driver. Improved performance be reducing the amount of time
- that Rx interrupts are disabled.
-
- * recvfrom(). Fix a compilation problem.
-
- * CDC/ACM device driver. Fix an infinite loop that occurs when the serial
- device is unregistered.
-
- * STM32 OTG FS device driver. Numerous fixes and the driver is partially
- functional but there are still some issues that become apparent when
- debug output is disabled.
-
- * fcntl(). Always returned zero on success; however, some fcntl commands
- need to return non-zero values on success.
-
- * graphics: Many multi-use mode fixes added to support NxWM (see the
- ChangeLog for details). Auto-raise is temporarily disabled in multi-
- user mode because it causes some problems with NxWM.
-
- * on_exit(): Fix compilation errors if CONFIG_SCHED_ONEXIT is enabled.
-
-NuttX-6.19
-^^^^^^^^^^
-
-The 86th release of NuttX, Version 6.19, was made on June 15, 2012,
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.19.tar.gz and
-apps-6.19.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-This release corresponds with SVN release number: r4847
-
-This release features new support for a Network File System (NFS) client.
-This feature allows a tiny, embedded MCU to mount a remote file system
-exported by an NFS server and then to access the file system as it would
-any local file system. Then the tiny MCU can effectively have terabytes
-of storage!
-
-This might be useful for data collection, for MCU configuration information,
-for software updates, for providing modular, loadable code modes, controlling
-a "farm" of MCUs, ... there are many possibilities and opportunities for
-innovation!
-
-The NuttShell (NSH) now supports the following command:
-
- nfsmount <server-address> <mount-point> <remote-path>
-
-That command will mount the remote NFS server directory <remote-path> at
-<mount-point> on the target machine. <server-address> is the IP address of
-the remote server.
-
-The NFS development was the graduation project of Jose Pablo Rojas V. who
-is a student at the Instituto Tecnológico de Costa Rica (ITCR, or TEC).
-A lot of effort went into understanding what a tiny, embedded NFS client should
-do and getting the target resource usage to a bare minimum. Only around a
-kilobyte or so of memory is required to run the NFS client (and most of that
-for I/O buffers). Jose Pablo has spent several months living with NFS and
-should be congratulated.
-
-Additional new features and extended functionality:
-
- * Drivers: SSD1289 LCD driver, MIO283QT2 LCD driver
-
- * LM3S: Additional register definition header files (contributed by Max
- Neklyudov).
-
- * STM32 Boards: The STM32F4Discovery will now support an SSD1289 LCD,
- The STM3220G-EVAL board support is now equivalent to the STM3240G-EVAL
- board support.
-
- * PIC32 Boards: The Mikroelektronika PIC32MX7 MMB board port is now
- functional, very complete, and stable.
-
- * Graphics: The NxConsole will now take keyboard input from the NX graphics
- subsystem. This means that if there are multiple NxConsole windows, only
- the top instance that has focus will receive the keyboard input.
-
- * apps/: Add the capability to use an arbitrary USB device as the console
- (not necessarily /dev/console). Additional enhancements for USB consoles.
- Added the 'mv' command.
-
-Work in progress. This release includes some partially completed
-work that is still not ready for prime time.
-
- * Automated Configuration. Automated configuration based on the
- kconfig-frontends tool is being incorporated into the build
- system. The configuration is still not complete enough for
- general use in this release.
-
- * STM32 Drivers. Added files that will (eventually) hold an STM32
- OTG FS host driver. This is still a work in progress.
-
-Bugfixes (see the change log for details) :
-
- * General: sleep() and usleep() return values, sig_timedwait() errno setting
- on timeout.
- * Drivers: STMPE811 touchscreen driver, USB PLC2303, USB CDC/ACM
- * STM32: Several USB device controller driver fixes, F4 interrrupt priorities
- (contributed by Mike Smith).
- * Graphics: Keyboard input, fill trapezoid bug
-
-As well as other, less critical bugs (see the ChangeLog for details)
-
-NuttX-6.20
-^^^^^^^^^^
-
-The 87th release of NuttX, Version 6.20, was made on July 12, 2012,
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.20.tar.gz and
-apps-6.20.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-This release corresponds with SVN release number: r4937
-
-Additional new features and extended functionality:
-
- * Power Management: An evolving power management example is being
- created by Diego Sanchez. This effort currently involves on the
- STM32 F1 but clearly demonstrates the NuttX power management
- system which will automatically drive the system to lower power
- usage states due to lack of use.
-
- * Drivers: Added a driver for the SST 25 SPI-based FLASH parts.
-
- * PIC32: Added support for the PIC32MX1 and PIC32MX2 families.
- Added support for the microchipOpen and Pinguino toolchains.
-
- * NXP LPC43XX: Added support for the entire LPC43xx family
-
- * PIC32 boards: Added support for the DTX1-4000L "Mirtoo" module
- from http://www.dimitech.com/ (PIC32MX2).
-
- * NXP LPC43XX Boards: Added support for NGX LPC4330-Xplorer board.
-
- * NXP LPC17XX Boards: Added support for Micromint Lincoln60 board
- (LPC1769).
-
- * LM3S Boards: Add a configuration to support the TI/Stellaris
- EKK-LM3S3B96 development board. Contributed by Jose Pablo Rojas V.
-
- * Library: NuttX now supports platform-specific stdarg.h header
- files.
-
-Work in progress. This release includes some partially completed
-work that is still not ready for prime time.
-
- * Automated Configuration. Automated configuration based on the
- kconfig-frontends tool is being incorporated into the build
- system. The configuration is still not complete enough for
- general use in this release.
-
- * STM32 Drivers. Added files that will (eventually) hold an STM32
- OTG FS host driver. This is still a work in progress.
-
-Bugfixes (see the change log for details) :
-
- * PIC32: GPIO output configuration (critical bug)
- * STM32: Typos in pin mapping files.
- * LM3S: Fixed an optimization related but that caused slow start-up
- times if optimization was disabled.
- * Library: Fixed signed extension but in all limit.h files
- (reported by Lorenz Meier). inet_ntoa compilation failure
- on Z80.
-
-As well as other, less critical bugs (see the ChangeLog for details)
-
-NuttX-6.21
-^^^^^^^^^^
-
-The 88th release of NuttX, Version 6.21, was made on August 25, 2012,
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.21.tar.gz and
-apps-6.21.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-This release corresponds with SVN release number: r5052
-
-Additional new features and extended functionality:
-
- * Core: Add support for multiple registered atexit() functions. Syslog
- extended: Now any character driver may be used for the debug logging
- device. Mountpoint traversal logic.
- * Drivers: Added support for the TI PGA112-7 amplifier/multiplexor.
- * LPC43xx: Added clock ramp-up logic to run at 204 MHz
- * LPC43xx Drivers: SPIFI block driver, RS-485 support, Minimal termios
- support. Framework for USB0 device controller driver.
- * LPC17xx Drivers: Minimal termios support
- * STM32: Support for STM32 F1 "Value Line" (contributed by Mike Smith).
- Add support for STM32 F107 "Connectivity Line" (contributed by Max
- Holtzberg).
- Clock restart logic needed for recovery from low power modes.
- * STM32 Drivers: RTC alarm support. Usable for wakeup from sleep mode,
- Minimal serial termios support. USB OTG FS host driver (alpha).
- * STM32 Boards: Add power management hooks for the STM32F4Discovery,
- Add support for the Olimex STM32-P107 (contributed by Max Holtzberg).
- * PIC32: Add support for the Pinguino MIPS toolchain.
- * PIC32 Drivers: GPIO driver now supports F1 analog regiaters (ANSEL).
- * PIC32 Boards: Add support for the PGA117 on the Mirtoo module.
- * Calypso: Add support for the SSD1783 LCD on the Compal E99.
- * Library: cfsetispeed(), cfsetospeed(), tcflush(), memchr(), and
- memccpy().
- * Applications: Port of freemodbus-v1.5.0. Add support for testing
- devices with multiple ADC, PWM, and QE devices.
- NSH: NSH 'mount' command (with no arguments) will now show mounted
- volumes. Add new NSH 'df' command. Extended 'help' support. NSH
- now catches the return value from spawned applications (provided
- by Mike Smith).
- * Build System: mkconfig will not define CONFIG_DRAM_END. A lot of
- progress has been made on the automated NuttX configuration logic
- (Thanks go to Richard Cochran).
- * Documentation: Document ways to customize the behavior of NSH.
-
-Bugfixes (see the change log for details) :
-
- * Serial drivers (all): Fix ioctl return value. Common "upper half"
- serial driver will now return with EINTR if a serial wait is
- interrupted by a signal.
- * FAT: Fix statfs() file name length.
- * LPC43xx: Clock configuration.
- * STM32: Pinmap fixes, SPI driver re-initialization
- * STM32 Boards: Correct and lower SDIO frequency for F2 and f4 boards.
- * AVR: C++ build issues.
- * PM: Fix a place where interrupts were not be re-enabled.
- * Applications: NSH application start-up race conditions.
- * Library: Fieldwidth and justification for %s format. Fixed several
- issues with presenting floating point numbers. NULL definition
- for C++
-
-As well as other, less critical bugs (see the ChangeLog for details)
-
-NuttX-6.22
-^^^^^^^^^^
-
-The 89th release of NuttX, Version 6.22, was made on September 29, 2012,
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.22.tar.gz and
-apps-6.22.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-This release corresponds with SVN release number: r5206
-
-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:
-
- svn checkout -r5206 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
-
-Or
-
- svn checkout -r5206 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
-
-Additional new features and extended functionality:
-
- * RTOS: Application entry point is no longer user_start, but can be
- configured using CONFIG_USER_ENTRYPOINT. 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).
-
- * Memory Management: Added a new granule-based allocated that can be
- used to manage, aligned and quantized DMA memory.
-
- * File System: Add hooks to allocate I/O memory with and external
- allocated (need if required by DMA).
-
- * Networking: ENC28J60 driver is (finally) verified.
-
- * Drivers: 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.
-
- * ARMv7-M: Added logic to reset the MCU using the NVIC.
-
- * STM32: Add support for STM32F103VET6.
-
- * STM32 Drivers: Add logic to re-initialize UARTs a second time to
- enable DMA (Mike Smith). I2C driver error recovery (Mike Smith).
-
- * STM32 boards: 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).
-
- * Build System: Kconfig string de-quoting logic. Remove comments from
- defconfig files (Kate). Add tool to create NuttX-style symbol tables.
- Numerous changes to configuration logic as needed for the new mconf-based
- configuration (much of this from Richard Cochran). Refactor common
- Make.defs logic into tools/Config.mk (Richard Cochran).
-
- * Library: Configurable terse output from strerror(). Added perror() (Kate).
- Add %n format to sscanf() (Kate).
-
- * Applications: 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).
-
-Bugfixes (see the change log for details). Some of these are very important
-(marked *critical*):
-
- * RTOS: Fixes to priority inheritance logic (*critical*). waitpid()
- critical section. Assertion in work_cancel() (Mike Smith). mmap() (Kate).
-
- * FAT File System: Improper Boolean expression caused un-necessary writes
- and performance issues (*critical*, Ronen Vainish).
-
- * Networking: Remove an un-necessary delay from recvfrom(). This greatly
- improves network performance (*critical*, Max Holtzberg).
-
- * Graphics: NX parameter checking errors.
-
- * Drivers: Fix double release of memory in SDIO-based, MMC/SD driver
- (Ronen Vainish).
-
- * LPC17xx: Ethernet driver fixes needed for certain PHYs (Kate).
-
- * AVR: Fix build error (Richard Cochran).
-
- * STM32: USB OTG FS host driver NAKing an retries. Power management
- compilation errors (Diego Sanchez). Missing SPI3 remap logic.
-
- * STM32 Drivers: Fix for Ethernet errata for STM32F107 (*critical*).
- Ethernet buffer alignment check. Add "kludge" to Ethernet driver to
- handle DM9161 PHY which (at least on the Shenzhou board), sometimes
- does not come up correctly.
-
- * Applications: THTTPD (Kate). NSH ping when IP address is on a different
- network (Darcy Gong).
-
- * Library: fread(), fflush(), fdopen(): Fix error handling logic (Ronen
- 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
-need the SVN configuration, you should check out directly from SVN. Revision
-r5313 should equivalent to release 6.23 of NuttX 6.23:
-
- 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)
-
-NuttX-6.24
-^^^^^^^^^^
-
-The 91st release of NuttX, Version 6.24, was made on December 20, 2012,
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.24.tar.gz and
-apps-6.24.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-This release corresponds with SVN release number: r5447
-
-Note that all SVN information has been stripped from the tarballs. If you
-need the SVN configuration information, you should check out directly from
-SVN. Revision r5447 should equivalent to release 6.24 of NuttX 6.24:
-
- svn checkout -r5447 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
-
-Or (HTTP):
-
- svn checkout -r5447 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
-
-Additional new features and extended functionality:
-
- * RTOS:
-
- - Implemented the POSIX pause() function (still has some compiance
- issues).
- - Tasking logic is extended to support the notion of address
- environments. An address environment is the key notion underlying
- "process" vs. tasks. If tasks are created with address environments
- (by binfmt), the OS will propogate that environment to child threads
- and will destroy the address environment when the "process" exists.
- - If support for the PATH variable is enabled, the OS start up logic
- will create an initial environment containing the default PATH
- setting (CONFIG_PATH_INITIAL). This initial PATH will then be
- inherited by all tasks.
-
- * Binfmt
-
- - The NuttX binary loaders have been updated to support the PATH
- environment variable. Now, if the PATH is properly defined, programs
- can be executed from mass storage using only the file name. This
- feature is added to support more standard behavior (eventually, NSH
- will support execution of programs in file systems by just entering
- the file name, perhaps in 6.25?).
- - The NXFLAT and ELF binary loaders have been extended to create
- address environments for any new tasks executed from the file system.
- This feature requires that the architecture support a memory management
- unit (MMU) and the address environment interfaces declared in
- include/nuttx/arch.h (currently, this is only supported by the z180).
-
- * Drivers: LCD driver for the Univision UG-2864AMBAG01 OLED
-
- * STM32: Support for STM32F100 high density chips contributed by Freddie
- Chopin.
-
- * STM32 Drivers: Added optional RS-485 direction bit control (from
- Freddie Chopin).
-
- * STM32 Boards:
-
- - Support for generic STM32F100RC board contributed by Freddie Chopin.
- - stm32f4discovery/nxlines: STM32F4Discovery support for the
- UG-2864AMBAG01 OLED.
- - stm32f4discovery/winbuild: A version of the NuttX OS test
- configured to build natively on Windows.
- - stm32f4discovery/elf: Now uses the PATH variable to find ELF
- executables.
- - configs/cloudctrl: Added for Darcy Gong's CloudController board
-
- * PIC32 Boards: Update the Mirtool configuration for Release 2 of the
- Mirtoo module.
-
- * Calypso: Add Calypso keypad driver. From Denis Cariki.
-
- * ZiLOG:
-
- - Add support for the z180 chip family and, specifically, for
- the P112 retro hardware (see http://p112.feedle.net/).
- - All ZiLOG configurations updated to use the current ZDS-II
- and/or SDCC toolchains.
-
- * Graphics:
-
- - Add a semaphore handshake so that operations on buffers from
- the NXMU client will be blocked until the NX server operates on the
- buffer data (from Petteri Aimonen).
- - nxtk_subwindowmove() and nxtk_getwindow(): Improvements to clipping
- logic from Petteri Aimonen.
-
- * C Library: lib/ sub-directory renamed libc/ (there is a new lib/ sub-
- directory that is used to hold all archives).
-
- * C++: Exception stubs from Petteri Aimonen.
-
- * Applications:
-
- - Add NSH hexdump command to dump the contents of a file (or character
- device) to the console (contributed by Petteri Aimonen).
- - Extend the NSH ifconfig command plus various DHCPC improvements
- (from Darcy Gong).
-
- * apps/examples:
-
- - ostest: Replace large tables with algorithmic prime number
- generation. This allows the roundrobin test to run on platforms
- with minimal SRAM (Freddie Chopin).
- - keypadtest: A new keypad test example contributed by Denis Carikli.
- - elf and nxflat: If CONFIG_BINFMT_EXEPATH is defined, these examples
- will now use a relative path to the program and expect the binfmt/
- logic to find the absolute path to the program using the PATH
- variable.
-
- * Build system:
-
- - New top-level Makefiles: Makefile.unix and Makefile.win (along with
- numerous changes to other make-related files). This adds basic
- support for building NuttX natively under Windows from a CMD.exe
- window (rather than in a POSIX-like environment). This build: (1)
- Uses all Windows style paths, (2) Uses primarily Windows batch
- commands from cmd.exe, with (3) a few extensions from GNUWin32.
-
- This capability should still be considered a work in progress
- because: (1) it has not been verfied on all targets and tools,
- and (2) still lacks some of the creature-comforts of the more
- mature environments (like a function configure.sh script and
- 'make menuconfig' support).
-
- - Example Windows native builds for STM32F4Discovery, eZ80, z16f, z8,
- Z80, and Z180.
- - Several configurations have been converted to work the kconfig-
- frontends mconf configuration tool: stm32f4discovery/nxlines, and
- all eZ80, z16f, z8, Z80, and Z180 configurations.
- - Architectures now include a common Toolchain.defs file that can be
- used to manage toolchains in a more configurable way (most of this
- contributed by Mike Smith).
-
- * Build tools:
-
- - Renamed tools/winlink.sh to tools/copydir.sh.
- - Several new tools/scripts to support the Windows native build:
- tools/mkdeps.bat, tools/mkdeps.c, tools/link.bat, unlink.bat, and
- copydir.bat.
- - tools/incdir.sh and incdir.bat now support an -s option to generate
- system header file paths.
- - tools/b16.c: Fixed precision math conversion utility.
-
-Bugfixes (see the change log for details). Some of these are very important
-(marked *critical*):
-
- * RTOS: Fix some backward conditional compilation in the work queue
- logic (Freddie Chopin).
-
- * File System: Uninitialized variable caused assertions (from Lorenz
- Meier).
-
- * Drivers: Partial fix for STM32 OTGFS device drivers and fix for short,
- unaligned writes in the flash translation layer (drivers/mtd/ftl.c),
- both from Petteri Aimonen.
-
- * STM32 Drivers:
-
- - Qencoder driver and TIM3 driver fixes from Ryan Sundberg.
- - Fix timeout delay calculation in the STM32 OTG FS host driver.
-
- * LPC17xx Drivers: Resources not being properly released when I2C
- driver is un-initialized.
-
- * Graphics:
-
- - Fix logic when the mouse drags outside of the window; fix
- another "blocked message" handling case (both from Petteri Aimonen).
- - nxtk_filltrapwindow(): Correct an offset problem (also from Peterri
- Aimonen).
- - nxglib_splitline(): Correct the "fat flat line" bug.
-
- * C Library:
-
- - nrand() changes to prevent coefficients from becoming zero which
- would "lock up" the random number generate.
- - Add rounding functions to the math library (contributed by Petteri
- Aimonen).
-
- * Build system: Changes to MIN definitions in all limit.h header files
- to avoid integer overflows. For example from (-128) to (-127 - 1)
- (from Petteri Aimonen).
-
- * Applications: Modbus fixes from Freddie Chopin.
-
-As well as other, less critical bugs (see the ChangeLog for details)
-
-NuttX-6.25
-^^^^^^^^^^
-
-The 92nd release of NuttX, Version 6.25, was made on February 1, 2013,
-and is available for download from the SourceForge website. Note
-that release consists of two tarballs: nuttx-6.25.tar.gz and
-apps-6.25.tar.gz. Both may be needed (see the top-level nuttx/README.txt
-file for build information).
-
-This release corresponds with SVN release number: r5595
-
-Note that all SVN information has been stripped from the tarballs. If you
-need the SVN configuration information, you should check out directly from
-SVN. Revision r5595 should equivalent to release 6.25 of NuttX:
-
- svn checkout -r5595 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
-
-Or (HTTP):
-
- svn checkout -r5595 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code
-
-Additional new features and extended functionality:
-
- * OS Initialization
-
- - Removed support for CONFIG_BUILTIN_APP_START. This is not really a
- useful feature and creates a violation of the OS layered
- architecture.
-
- * Task Creation:
-
- - Implement a simple vfork(). In NuttX-6.25, this interface is
- available only for ARM7/9, ARMv7-M (Cortext-M3/4), and MIPS32
- (PIC32MX) platforms.
- - exec() now sets the priority of the new task to the same priority as
- the parent task (instead of the arbirtrary value of 50).
- - New, partially complient implementations of execv() and execl().
- These are only partially compliant because they do not overlay any
- existing "process space" but rather create the new task and exit().
- - Add a complete implementation of posix_spawn(). This standard
- interface is a better match for an MMU-less architecture than are
- vfork() plus execv() or execl().
- - Add a task start hook that will be called before the task main
- is started. This can be used, for example, to schedule C++
- static constructors to run automatically in the context of the
- new task.
-
- * Task Parentage
-
- - Repartitioned tasking data structures. All shared resources are now
- collected together in a "task group". A task group includes the
- original task plus all of the pthreads created by the task.
- - Added support for remember the parent "task group" when a new task is
- started.
- - Added optional support to record the membership of each thread in
- the "task group".
- - Implement support for retaining child task status in the "task group"
- after the child task exists. This is behavior required by POSIX.
- But in NuttX is only enabled with CONFIG_SCHED_HAVE_PARENT and
- CONFIG_SCHED_CHILD_STATUS
- - Add internal logic to "reparent" a task. This is useful,
- for example, where the child task is created through a trampoline
- task that redirects I/O. Reparenting allows the caller of posix_spawn()
- to be reparented for the eventual child thread.
- - Added support for SIGCHLD. Sent to all members of the parent task
- group when the file member of the child task group exits.
- - If SIGCHLD and retention of child task exist status are enabled, then
- a more spec-compliant version of waitpid() is enabled.
- - New interfaces waitid() and wait() are also enabled when SIGCHLD
- is enabled.
-
- * File System
-
- - dup() and dup2() can new be used with opened files in a mounted file
- system. This supports re-direction of output in NSH to files.
- - The binfs file system was moved from apps/builtin to fs/binfs. The
- binfs file system was extended to support execution of "builtin
- applications" using exec(), execv(), execl(), or posix_spawn().
- - Added logic based on SIGCHLD to automatically unload and clean-up
- after running a task that was loaded into memory.
-
- * Binary Formats
-
- - Much of the logic for "builtin applications" was moved from
- apps/builtin to nuttx/binfmt/libbuiltin. Includes some extensions
- contributed by Mike Smith.
- - A binary loader was added for builtin applications to support
- execution of "builtin applications" using exec(), execv(),
- execl(), or posix_spawn().
-
- * Drivers:
-
- - Added logic to marshal and serialized "out-of-band" keyboard
- commands (such as cursor controls and key release events) intermixed
- with normal ASCII keypress data. The encoding is partially integrated
- in the HID keyboard driver and the decoding full integrated into the
- apps/examples hidkbd and keypadtest (the latter contributed by Denis
- Carlikli).
- - Driver for the UG-2864HSWEG01 OLED contributed by Darcy Gong.
- - Add support for removable serial devices (like USB serial). This
- support is enabled by CONFIG_SERIAL_REMOVABLE.
-
- * ARMv7-M:
-
- - Added an option to use the BASEPRI register to disable interrupts
- (instead of the PRIMASK). This eliminates some innocuous hardfaults
- that interfere with some debug tools. You need to switch to the
- BASEPRI method only if you have such tool interference.
-
- * STM32 Drivers
-
- - Bring STM32 F1 DMA capabilities up to par with the STM32 F2/F4
- (contributed by Mike Smith).
- - Add support for USART single wire mode (Contributed by the PX4
- team).
- - Updates to support for SPI DMA on the STM32 F1/F2/F4. From
- Petteri Aimonen.
-
- * STM32 Boards:
-
- - New configuration to support the UG-2864HSWEG01 OLED on the
- STM32F4Discovery board.
- - Added a posix_spawn() test configuration for the STM32F4Discovery.
-
- * LM3S/LM4F
-
- - Files and directories repartitioned to support both LM3S and LM4F
- using the STM32 organization as a model.
- - Partial definitions for the LM4F contributed by Jose Pablo Carballo
- (this is still a work in progress).
-
- * LM3S Boards
-
- - Added scripts and documentation to use OpenOCD with the LM3S (from
- Jose Pablo Carballo).
-
- * LPC176x/LPC178x
-
- - Files and directories repartitioned to support both LPC175x/LPC176x
- and the LPC177x/LPC178x families using the STM32 organization as a
- model. The LPC1788 port is a work in progress by Rommel Marcelo.
-
- * LPC176x/LPC178x Boards:
-
- - Added a configuration to support the Wave Share Open1788 board.
- This is still a work in progress by Rommel Marcelo.
-
- * LPC2148 Boards:
-
- - Add basic support for the The0.net ZP213x/4xPA board (with the LPC2148
- and the UG_2864AMBAG01 OLED).
- - Add an nxlines configuration for the ZP213x/4xPA (with the LPC2148
- and the UG_2864AMBAG01).
-
- * Simulator:
-
- - Add an nxlines configuration for the simulator.
-
- * Networking:
-
- - Add logic to work around delayed ACKs by splitting packets
- (contributed by Yan T.).
- - Split net_poll() to create the internal interface psock_poll().
-
- * LCDs:
-
- - Added support for LCD1602 alphanumeric LCD (HD4468OU controller).
-
- * Graphics:
-
- - Added 5x8 monospace font. This tiny font is useful for graph
- labels and for small bitmapped display. Contributed by Petteri
- Aimonen.
-
- * Build System:
-
- - Add an options to better manage toolchain prefixes.
- - Redesigned how the context targer works in the apps/ directory.
- The old design caused lots of problems when changing configurations
- because there is no easy way to get the system to rebuild the
- context. This change should solve most the problems and eliminate
- questions like "Why don't I see my builtin application in NSH?"
-
- * Kconfig Files:
-
- - There are several new configurations that use the kconfig-frontends
- tools and several older configurations that have been converted to
- use these tools. There is still a long way to go before the conversion
- is complete:
-
- configs/sim/nxwm
- configs/sim/nsh
- configs/stm3220g-eval/nxwm
- configs/stm32f4discovery/posix_spawn
- configs/olimex-lpc1766stk/nsh
- configs/olimex-lpc1766stk/hidkbd
- configs/olimex-lpc1766stk/nettest
- configs/open1788/ostest
- configs/stm32f4discovery/nsh
- configs/stm32f4discovery/usbnsh
- configs/lm326965-ek (all configurations)
- configs/mcu123-214x/nsh
- configs/ubw32/ostest
-
- * Tools:
-
- - tools/kconfig.bat: Kludge to run kconfig-frontends from a DOS shell.
- - tools/configure.c: configure.c can be used to build a work-alike
- program as a replacement for configure.sh. This work-alike
- program would be used in environments that do not support Bash
- scripting (such as the Windows native environment).
- - tools/configure.bat: configure.bat is a small Windows batch
- file that can be used as a replacement for configure.sh in a
- Windows native environment. configure.bat is actually just a
- thin layer that executes configure.exe if it is available. If
- configure.exe is not available, then configure.bat will attempt
- to build it first.
-
- * Applications:
-
- - New and modified examples:
-
- apps/examples/wlan: Remove non-functional example.
- apps/examples/ostest: Added a test of vfork(). Extend signal
- handler test to catch death-of-child signals (SIGCHLD). Add a
- test for waitpid(), waitid(), and wait().
- apps/exampes/posix_spawn: Added a test of posix_spawn().
-
- - NSH:
-
- NSH now supports re-direction of I/O to files (but still not from).
- The block driver source argument to the mount command is now
- optional for file systems that do not require a block driver.
- NSH can now execute a program from a file system using posix_spawn().
- Added support for a login script. The init.d/rcS script will be
- executed once when NSH starts; the .nshrc script will be executed
- for each session: Once for serial, once for each USB connection,
- once for each Telnet session.
-
- - Supports a new daemon that can be used to monitor USB trace outpout.
- - Removed non-functional wlan example.
-
-Bugfixes (see the ChangeLog for details). Some of these are very important:
-
- * Tasking:
-
- - Fixed a *critical* task exit bug. Here is the failure scenario:
- (1) sched_lock() is called increments the lockcount on the current
- TCB (i.e., the one at the head of the ready to run list), (2)
- sched_mergepending is called which may change the task at the head
- of the ready-to-run list, then (3) sched_unlock() is called which
- decrements the lockcount on the wrong TCB. The failure case that
- I saw was that pre-emption got disabled in the IDLE thread, locking
- up the whole system.
-
- * Signals:
-
- - sigtimedwait() would return a bad signal number if the signal was
- already pending when the function was called.
-
- * Drivers:
-
- - Some SD cards will appear busy until switched to SPI mode for
- first time. Having a pull-up resistor on MISO may avoid this
- problem, but this fix from Petteri Aimonen makes it work also
- without pull-up.
-
- * STM32 Drivers:
-
- - STM32 FLASH driver counting error (from Freddie Chopin).
- - STM32 F4 maximum SPI frequency was wrong (corrected by Petteri
- Aimonen).
-
- * STM32 Boards
-
- - Due to cloning of untested code, the logic to control on-board
- LEDs did not work on any STM32 boards.
- - Serial devices number /dev/ttyS0-5 is there is a serial console,
- but /dev/ttyS1-6 if there is no serial console.
-
- * Binary Formats
-
- - C++ static constructors execute now using a start taskhook
- so that they execute in the context of the child task (instead
- of in the context of the parent task).
-
- * File Systems:
-
- - Several FAT-related bugs fixed by Petteri Aimonen.
-
- * Networking:
-
- - Fix poll/select issure reported by Qiang: poll_interrupt() must call
- net_lostconnection() when a loss of connection is reported. Otherwise,
- the system will not remember that the connection has been lost and will
- hang waiting on a unconnected socket later.
- - Similar issues corrected for recvfrom() and send().
- - Telnetd would hang in a loop if recv() ever returned a value <= 0.
-
- * Libraries:
-
- - fread() could hang on certain error conditions.
- - Can't handle SYSLOG output to a character device from the IDLE task
- (because the IDLE task can't block).
-
- * Build System:
-
- - Serial was driver was not being built if there is no console
- device. Obviously, the serial driver may be needed even in
- this case.
-
- * Additional Bugfixes:
-
- - sig_timedwait() and clock_time2ticks.c: Timing "rounding" logic
- - ARM9 Compilation issue with low vectors.
- - readline() return value
- - Others as detailed in the ChangeLog: HID keyboard, LPC17xx bit
- definitions, strndup(), PL2303, SYSLOG error handling, AT25,
- apps/examples.