| NuttX Release Notes |
| =================== |
| |
| This file contains are the release notes for the NuttX (and apps) packages |
| for every release. The text is just as was written at the time of release |
| (with perhaps some corrected typos). Over the course of time, NuttX has |
| used several different repositories: CVS, two SVN repositories, and |
| currently a GIT repository. Therefore, revision information specific to an |
| older repository may not be meaningful today. |
| |
| To make it easier to track there older versions in the current GIT |
| repository, a GIT lightweight tag has been applied for each release. The |
| tag name is the release name (for example, the release 6.27 has tag name |
| "nuttx-6.27"). |
| |
| 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 that 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. |
| |
| NuttX-6.26 |
| ---------- |
| |
| The 93rd release of NuttX, Version 6.26, was made on March 15, 2013, |
| and is available for download from the SourceForge website. Note |
| that release consists of two tarballs: nuttx-6.26.tar.gz and |
| apps-6.26.tar.gz. Both may be needed (see the top-level nuttx/README.txt |
| file for build information). |
| |
| This release corresponds with SVN release number: r5745 |
| |
| 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 r5745 should equivalent to release 6.26 of NuttX: |
| |
| svn checkout -r5745 svn://svn.code.sf.net/p/nuttx/code/trunk nuttx-code |
| |
| Or (HTTP): |
| |
| svn checkout -r5745 http://svn.code.sf.net/p/nuttx/code/trunk nuttx-code |
| |
| Additional new features and extended functionality: |
| |
| * OS Initialization: |
| |
| - Add an additional call-out to support board-specific driver |
| initialization during the boot-up phase (available with |
| CONFIG_BOARD_INITIALIZE=y). |
| |
| * Tasking: |
| |
| - New interface task_spawn() that is like posix_spawn(), but uses |
| entry point addresses like task_create(). |
| - Additional data restructuring as a continuation of the task group |
| changes of NuttX 6.25. These data structures were moved from the |
| TCB structure into the task group: pthread join data, |
| atexit/on_exit callbacks, waitpid data structures, and message |
| queues. |
| - TCBs for tasks and pthreads are now separate structures. This |
| saves a little memory since tasks do not have to carry the overhead |
| for threads and vice versa. |
| |
| * Kernel Build: |
| |
| - Extensive changes were made to support the kernel build mode. In |
| this mode, NuttX is built as a monolithic kernel. NuttX is built |
| as a separate kernel mode "blob" and the applications are built |
| as a separate user mode "blob". The kernel runs in kernel mode and |
| the applications run in user mode (with the MPU restricting user |
| mode accesses). Access to the kernel from the user blob is only |
| via system calls (SVCalls). |
| - Extensive changes were made to the syscall, SVCall, and trapping |
| logic. Many internal interfaces were renamed. |
| - The memory manager was extended to support both kernel- and user- |
| mode allocations. Logic within the kernel needs to use the |
| correct kernel- or user-space allocator, depending upon the user |
| of the allocated memory. |
| - The user-space blob now contains a header built in at the beginning |
| of the block that provides the same information that was previously |
| provided by a kludgy, auto-generated header file (user_map.h). |
| - Basic support implemented for the ARMv7-M family with fragments |
| also implemetned for the ARMv6-M and MIPS32 families. |
| - Kernel build supported added for the LPC17xx Open1788 and for |
| the Atmel SAM3U-EK board. All testing is being performed on the |
| Open1788 board. |
| |
| * Signals: |
| |
| - Delivery of signals to threads within a task group is now compatible |
| with the way that signals are delivered to threads within a process. |
| |
| * Drivers: |
| |
| - Add a driver for the SST29VF NOR FLASH parts. |
| - USB device trace/debug feature extended to decode device-specific |
| trace events to make the trace output more readable (from Petteri |
| Aimonen). |
| - USB MSC device driver can not support names of differing sizes |
| in the USB descriptor and the SCSI fields (from Petteri Aimonen). |
| - Locking added to MMC/SD SPI drivers so that MMC/SD can co-exist on |
| the same bus as other SPI devices. Frequency is reset each time |
| that the MMC/SD SPI has the bus locked. (from Petteri Aimonen). |
| |
| * ARMv6-M (Cortex-M0): |
| |
| - Added support for the ARM Cortex-M0 family. |
| |
| * nuvoTon NUC120: |
| |
| - Added support for the nuvoTon NUC120 MCU (Cortex-M0). |
| |
| * nuvoTon NUC120 Boards: |
| |
| - Added basic support for the nuvoTon NuTiny-SDK-NUC120 board (Cortex-M0). |
| |
| * LPC17xx: |
| |
| - Added support for the LPC177x and LPC178x families. Most of this is |
| the work of Rommel Marcelo. |
| |
| * LPC17xx Boards: |
| |
| - Added support for Zilogic System's ARM development Kit, ZKIT-ARM-1769. |
| From Rashid. |
| - The port for the WaveShare Open1788 board is now functional. Basic |
| OS test and NuttShell (NSH) configurations are functional. More |
| driver development and testing is needed (from Rommel Marcelo). |
| |
| * LPC17xx Drivers: |
| |
| - Added an SD card MSI driver for the LPC178x. The driver is marginally |
| functional but requires DMA capability to be reliable. |
| |
| * STM32 |
| |
| - Support extended to handle the STM32 F3 family (Cortex-M4 with F1-like |
| peripherals). |
| |
| * STM32 Boards |
| |
| - Added support the STMicro STM32F3Discovery board (STM32 F3). |
| |
| * Stellaris LM3S/LM4F |
| |
| - Basic support for the LM4F120 family is in place, but untested (mostly |
| from Jose Pablo Carballo). |
| |
| * Stellaris LM4F Boards |
| |
| - Add support for the LM4F120 LaunchPad (untested). |
| |
| * Networking: |
| |
| - select() should now allocate a little less memory. |
| |
| * Memory Management: |
| |
| - Extended to support multiple heaps. This is used as part of |
| the kernel build in order to support separater user- and |
| kernel-mode heaps. |
| - The stand-alone memory manger test had to be removed. It |
| was too entangled and made extension of the memory manager |
| nearly impossible. This is a loss. |
| |
| * Build System: |
| |
| - Several configurations converted to use the kconfig-frontends |
| configuration tool. There are still many more that need to |
| be converted. |
| |
| * C Library: |
| |
| - Move the workqueue logic into the C library. There is now a |
| special user-space version of the work queue (which will only |
| be used with a NuttX kernel build). |
| - Implementation of itoa() contributed by Ryan Sundberg. |
| |
| * Applications: |
| |
| - The NSH builtin task logic now uses task_spawn() to start builtin |
| applications. |
| - The OS test now includes a test cased to verify task_restart(). |
| |
| Efforts In Progress. The following are features that are partially |
| implemented but present in this release. Most are expected to be fully |
| available in NuttX 6.27. |
| |
| * LM4F120 LaunchPad port. Code is in place, but nothing has been tested. |
| |
| * WaveShare Open1788 port. This port as actually complete and |
| functional. However, there is still ongoing development and |
| testing of drivers. |
| |
| * Kernel Build. Much progress has been made, but there kernel build is |
| not yet fully functional due to several user resources that are not yet |
| properly disentangled from the kernel blob. |
| |
| * Conversion of old configurations to use the kconfig-frontends |
| tool is an ongoing effort that will continue for some time. |
| |
| Bugfixes (see the ChangeLog for details). Some of these are very important: |
| |
| * Tasking: |
| |
| - The wrong PID was being signalled with SIGCHILD. It should be |
| the PID of the task that create the task group, not the ID of |
| the last thread to leave the task group. |
| - Added logic so that some internal resources and states are recovered |
| when tasks are deleted or restarted. Handle cases where there are |
| outstanding timed events pending when tasks are deleted or restarted. |
| |
| * ARMv7-M: |
| |
| - Several fixes to the MPU control logic. |
| |
| * Drivers: |
| |
| - Removable serial drivers race conditions fixed. |
| - MAX11802 timing bug (from Petteri Aimonen). |
| |
| * STM32 Drivers: |
| |
| - Handle cases were SPI DMA logic fails if sem_wait is awakened |
| by a signal. Need to clear error flags to prevent corruption of |
| subsequent transfers. Also, bit count should not be changed while |
| the SPI peripheral is enabled (from Petteri Aimonen). |
| - Fixes to the OTG FS device driver from Petteri Aimonen. |
| - Fix typos in DMA register header file (from Yan T.) |
| |
| * Graphics: |
| |
| - Correction to the hyphen in the SANS 17x22 font (from Petteri |
| Aimonen). |
| |
| * Networking: |
| |
| - Corrected errors in the socket poll/select logic. Additional |
| state logic was needed to detect if the socket is still connected |
| before starting the poll wait. (bug reported by Qiang Yu). |
| |
| * Memory Management: |
| |
| - mallinfo() should hold the memory manager semaphore (from Petteri |
| Aimonen. |
| |
| * Build System: |
| |
| - Resolved several build errors reported by Mike Smith. |
| |
| * Applications: |
| |
| - Fixed an NSH memory leak: Needed to detach after creating each |
| pthread. |
| - readline() now returns EOF on any failure (instead of a negated |
| errno value). This is because the underlying read is based on |
| logic similar to getc. The value zero (meaning end-of-file) |
| was being confused with a NUL. So if a NUL was received, the |
| NSH session would terminate because it thought it was the end of |
| file. |
| |
| NuttX-6.27 |
| ---------- |
| |
| The 94th release of NuttX, Version 6.27, was made on April 28, 2013, |
| and is available for download from the SourceForge website. Note |
| that release consists of two tarballs: nuttx-6.27.tar.gz and |
| apps-6.27.tar.gz. Both may be needed (see the top-level nuttx/README.txt |
| file for build information). |
| |
| Additional new features and extended functionality: |
| |
| * OS Initialization: |
| |
| - Add missing registration of /dev/zero. Registration of /dev/null |
| should depend upon conditional compilation. From Ken Pettit. |
| |
| * Tasking: |
| |
| - Added a new interface to set aside memory on the task's stack. This |
| is used (at least in the kernel build) to hold task arguments. |
| - Remove up_assert_code(). One assertion routine is enough. |
| |
| * Kernel Build: |
| |
| - Extensive changes were made to support the kernel build mode. In |
| this mode, NuttX is built as a monolithic kernel. NuttX is built |
| as a separate kernel mode "blob" and the applications are built |
| as a separate user mode "blob". The kernel runs in kernel mode and |
| the applications run in user mode (with the MPU restricting user |
| mode accesses). Access to the kernel from the user blob is only |
| via system calls (SVCalls). |
| - Kernel build configurations for the Open1788 board and for the |
| STM32F4Discovery now execute correctly. |
| - Changes were made to task and thread start-up routines, signal |
| handling, data structures, ARMv7-M SVCalls, stack management |
| interfaces, |
| |
| * Drivers: |
| |
| - Driver for the ST7567 LCD Display Module from Univision Technology |
| Inc. Contributed by Manikandan.S |
| - SPI initialize functions renamed so that multiple SPI blocks can |
| be initialized. |
| - Extended to support the RAMTRON FM25V01 device. Contributed by |
| Lorenz Meier |
| - Serial drivers: TIOCSERGSTRUCT ioctls now conditioned on |
| CONFIG_SERIAL_TIOCSERGSTRUCT |
| |
| * ARMv7-M (Cortex-M3/4): |
| |
| - Added support for modifiable interrupt vectors in RAM |
| |
| * nuvoTon NUC1xx: |
| |
| - Added kernel build support |
| |
| * Freescale Kinetis: |
| |
| - Add kernel build support |
| - Add support for the Kinetis L family of Cortex-M0+ MCUs. Contributed |
| by Alan Carvalho de Assis. |
| |
| * LPC17xx: |
| |
| - Now holds off sleep mode in the IDLE loop is DMA is in progress |
| (because sleep mode will disable CPU SRAM). |
| |
| * LPC17xx Boards: |
| |
| - ZKIT-ARM-1769: Now supports the ST7567 LCD display module. Added |
| an nxhello configuration for testing (Manikandan.S). |
| - ZKIT-ARM-1769: Add support for both CAN1 and CAN2. Contributed by |
| M.Kannan |
| |
| - Open1788: Basic support for the WaveShare Open1788 board is complete |
| with working OS test, NSH, and graphics configurations. |
| - Open1788: Integrated the LPC178x LCD driver with the WaveShare display. |
| Touchscreen support is included, howerver, there appears to be an |
| issue with the Open1788 touchscreen interrupt signal. |
| - Open1788: Now supports SDRAM (used to provide the LCD framebuffer). |
| - Open 1788: Reversed sense of the IDLE LCD. It is now off when the |
| LPC17 is sleeping and on when awake. That is much a better visual |
| indication of the dynamic CPU load |
| |
| * LPC17xx Drivers: |
| |
| - Added an LCD framebuffer driver for the LPC177x/8x family. |
| - Implemented LPC17xx GPDMA support. |
| - Integrated the LPC17xx GPDMA support into the SD card driver. |
| - SSP driver adapted to work with the LPC178x family. |
| - Separate LPC176x and LPC178x GPIO logic; this logic is too different |
| to maintain in one file with conditional compilation. |
| - Re-design of the GPIO logic for the LPC178x family by Rommel Marcelo. |
| |
| * LPC43xx: |
| |
| - Added kernel build support |
| |
| * STM32: |
| |
| - Added support for kernel mode build. |
| - Added architecure support for the STM32 F427/F437 chips. Contributed |
| by Mike Smith |
| |
| * STM32 Boards: |
| |
| - Added a configuration to support a kernel mode build of the OS test |
| on the STM32F4Discovery |
| |
| * Stellaris LM3S/LM4F: |
| |
| - Added kernel build support |
| - Added support for the 7 UARTs on the LM4F120 |
| |
| * Stellaris LM4F Boards: |
| |
| - Added scripts and instructions to simplify use of OpenOCD with ICDI |
| (JP Carballo) |
| - The basic for the Stellaris LM4F120 Launchpad is complete. This |
| includes support for OS test and NSH configurations. Additional |
| driver development is needed. |
| |
| * Build System: |
| |
| - Directories where the same sources files are used to build different |
| objects in the first and second pass kernel builds need to keep those |
| objects in separate directories so that they are not constantly |
| rebuilt. |
| |
| * Applications: |
| |
| - apps/system/ramtest: Add a simple memory test that can be built |
| as an NSH command. |
| |
| * Tools: |
| |
| - kconfig2html is a new tool which will replace the hand-generated |
| documentation of the NuttX configruation variables with auto- |
| generated documentation. |
| |
| Efforts In Progress. The following are features that are partially |
| implemented but present in this release. Most are expected to be fully |
| available in NuttX 6.28. |
| |
| * A port to the Freescale Freedom KL25Z is complete but not yet stable |
| enough. The KL25Z is a low-cost Cortex-M0+ part with 128KB of FLASH |
| and 16KB of SRAM. This is is the effort of Alan Carvalho de Assis. |
| |
| * Conversion of old configurations to use the kconfig-frontends |
| tool is an ongoing effort that will continue for some time. |
| At this time, only 32% of the configurations have been converted |
| to use the kconfig-frontends tools. |
| |
| Bugfixes (see the ChangeLog for details). Some of these are very important: |
| |
| * Tasking: |
| |
| - Fixed a critical bug: When there is pending C buffered output |
| and the system is very busy, the a pthread may be blocked at |
| a critical point when trying to exit. Blocking at this critical |
| point would cause crashes. All entire task/thread exit logic |
| paths were reviewed and failsafe mechanisms were put in place |
| to assure that exitting tasks never block after task teardown |
| has been started. |
| |
| * ARMv6-M: |
| |
| - Fixed parameter passing for all system call inline functions with > 3 |
| parameters |
| - Fixed a major problem: The Cortex-M0 has no BASEPRI register but the |
| logic of NuttX-6.26 was using it to manage interrupts. Switch to |
| using the PRIMASK instead. This means that hardfaults will (again) |
| occur when SVC instructions are executed |
| |
| * ARMv7-M: |
| |
| - Corrected Correct MPU sub-region settings for unaligned regions. |
| - In exception handling with CONFIG_NUTTX_KERNEL, need to explicitly |
| set and clear the privilege bit in the CONTROL |
| - Fixed parameter passing for all system call inline functions with > 3 |
| parameters |
| |
| * Drivers: |
| |
| - Support for O_NONBLOCK was not supported in the "upper half" |
| serial driver. |
| - PL2303 compilation errors |
| |
| * Stellaris LM3S/4F: |
| |
| - Corrected typos in alternate function definitions. |
| |
| * LPC17xx Drivers: |
| |
| - Added a work-around for an ADC errata. From Chris Taglia |
| - Only one ADC pin was configured. Need to configure all that |
| are in the ADC0 set. From MKannan |
| |
| * File Systems: |
| |
| - The FAT logic was not making a distinction between directory |
| non-existence and file non-existence so when it you try to |
| create a file in a non-existent directory, it would create a |
| file with the name of the missing directory. Reported by Andrew |
| Tridgell |
| - Several fixes to the FAT file system from Ronen Vainish. These |
| fixes mostly involve the logic to extend directory clusters for |
| the case of long file names but also include a few important |
| general fixes (such as for storing 32 bit FAT values) |
| - mkfatfs was writing the boot code to the wrong location. From |
| Petteri Aimonen |
| |
| * Networking: |
| |
| - Fixed a compilation error when socket options are are disabled. |
| Reported by Daniel O'Connor |
| |
| * C Library: |
| |
| - Corrected an error in sscanf. If %n occurs in the format statement |
| after the input data stream has been fully parsed, the %n format |
| specifier will not be handled. Reported by Lorenz Meier |
| - strchr(str, '\0') should return a pointer to the end of the string, |
| not NULL. From Petteri Aimonen |
| |
| * Build System: |
| |
| - Fix naming of NuttX target if EXEEXT is defined. |
| |
| * Applications: |
| |
| - OS test: Fix timing error in non-cancelable thread test. |
| - NSH: Correct the test of the skip input parameter. Was limiting the |
| range to <= count. From Ken Petit. |
| |
| NuttX-6.28 |
| ---------- |
| |
| The 95th release of NuttX, Version 6.28, was made on June 14, 2013, |
| and is available for download from the SourceForge website. Note |
| that release consists of two tarballs: nuttx-6.28.tar.gz and |
| apps-6.28.tar.gz. Both may be needed (see the top-level nuttx/README.txt |
| file for build information). |
| |
| Additional new features and extended functionality: |
| |
| * File Systems: |
| |
| - SMART FLASH file system (contributed by Add Ken Pettit). |
| |
| * MTD (FLASH) Drivers: |
| |
| - Add support of MTD partitions via a new MTD driver that manages a |
| set of MTD devices, each managing a subset of the FLASH region |
| managed by the parent MTD driver. |
| - Extended the MTD interface to provide an (optional) method to |
| perform byte oriented writes if supported by the FLASH part. |
| - M25Px driver re-architected to use the byte write capability (when |
| possible) and to use 4KB sectors for the erase block size when the |
| part supports it (from Ken Pettit). |
| |
| * LCD Drivers: |
| |
| - New interface definitions to support audio devices (from Ken Pettit) |
| and alphanumeric, segment LCDs. |
| |
| * Wireless Drivers: |
| |
| - Added new driver for the wireless nRF24L01+ transceiver (from |
| Laurent Latil). |
| |
| * Calypso: |
| |
| - Added support for the Pirelli DP-L10 phone (from Craig Comstock via |
| Alan Alan Carvalho de Assis) |
| |
| * STM32: |
| |
| - Added an option to conditionally disable the "wfi" sleep mode. This |
| is needed with certain JTAG debuggers to to prevent the debug |
| session from begin disconnected (from Ken Pettit). |
| - Added support for the STM32L (STM32L15X/STM32L16x) family. |
| - Added STM32F103C4 and F103C8 chip support (from Laurent Latil). |
| - Added a new interface function, stm32_dmacapable() that can be used |
| to determine if DMA is possible from the specified memory address |
| (from Petteri Aimonen) |
| |
| * STM32 Drivers: |
| |
| - If CONFIG_STM32_DMACAPABLE is defined, the STM32 SPI driver now uses |
| stm32_dmacapable() to determine if it is possible to perform DMA |
| from the specified address. This change is important for the STM32 |
| F4 which may have SPI data buffers allocated on the stack in CCM |
| memory which cannot support the DMA (from Petteri Aimonen). |
| |
| * STM32 Boards: |
| |
| - Support added for the MikroElektronika Mikromedia for STM32F4 |
| development board (from Ken Pettit) with the MIO283QT2 LCD and |
| touchscreen. Several graphics configurations are included. |
| - The HY-mini STM32v board now uses the common SSD1289 driver |
| and supported the card detect interrupt. Several new |
| configurations also added and some removed (from Laurent Latil). |
| - Support added for the R65105-based LCD that comes with some |
| HY-Mini STM32v boards (from Christian Faure). |
| - Added basic support for the STM32L-Discovery board. Drivers |
| for the on-board segment LCD are included. |
| - Added support for the STM32 Tiny development board based on the |
| STM32 F103C8T6 MCU. This includes support for the nRF24L01+ |
| wireless on the board (from Laurent Latil). |
| |
| * Stellaris LM3S/LM4F: |
| |
| - Support added for a TI/Stellaris internal FLASH MTD driver (from Max |
| Holtzberg). |
| |
| * Stellaris LM4F Boards: |
| |
| - The LM3S6965-EK now has configurations for the UDP discovery tool and |
| for the TCP echo server (both from Max Holtzberg) |
| |
| * Atmel ATSAM3/4: |
| |
| - Reorganized, renamed, and updated directory structure to better |
| support additional members of the SAM3/4 family. |
| - Added support for both the ATSAM4S and ATSAM4L families. The |
| ATSAM4S is similar to the ATSAM3U, but the ATSAM4L is quite a |
| different beast, really much more akin to the AVR32s SoCs but |
| with a Cortex-M4. |
| |
| * Atmel ATSAM3/4 Boards: |
| |
| - Added support for the Atmel SAM4L Xplained Pro development board. |
| This board features the ATSAM4LC4C MCU (Cortex-M4 with 256KB FLASH + |
| 32KB SRAM). |
| - Added support for the Atmel SAM4S Xplained developement board. This |
| board features the ATSAM4S16C MCU (Cortex-M4 with 1MB FLASH + 128KB |
| SRAM). |
| |
| * PIC32MX Boards: |
| |
| - Added support for the 1602 segment LCD on-board the Sure PIC32MX |
| board. This board will now also support a USB NuttX console and |
| the USB monitor test program. |
| |
| * Build System: |
| |
| - Clean-up of almost all .gitignore files: Made scope of ignore to be |
| only the current directory; Ignore .dSYM files in directories where |
| .exe's may be built. Also, in Makefiles, clean .dSYM files in |
| directories where an .exe may be built. |
| - Standardize and consolidated all build-as-an-NSH-application |
| configuration settings. Now only CONFIG_NSH_BUILTIN_APPS is |
| sufficient to build an application, test, or or example as an NSH |
| builtin application. |
| - Added support for a generic ARM, ARMv6-M and ARMv7-M Windows EABI |
| toolchains. |
| |
| * Libraries: |
| |
| - Added encoder/decoder logic to marshal and serialize special segment |
| LCD (SLCD) commands intermixed with normal ASCII data. This is the |
| similar to the encoding/decoding logic that is used to marshal |
| special commands from a keyboard. |
| - Add dprintf() and vdprintf() (the latter from Andrew Tridgell). |
| - Add an application that may be built as an NSH builtin command that |
| will erase FLASH using a flash_eraseall NSH command (from Ken Pettit). |
| |
| * Applications: |
| |
| - Added an MTD partition test/examples. Currently used with (1) the a |
| simulation configuration to test MTD partitions on a RAM emulation |
| of FLASH and (2) with the Mikroe STM32F4 configuration. |
| - Added a test/example to verify alphanumeric, segment LCDs. |
| - Added a simple single threaded, poll based TCP echo server based |
| on W. Richard Stevens UNIX Network Programming Book (from Max |
| Holtzberg). |
| - Added several tests of the SMART block driver and file system (from |
| Ken Pettit). |
| - Added a runtime configuration for the UDP discover utility (from |
| Max Holtzberg). |
| - Added an example application to demo the nRF24L01 driver (from |
| Laurent Latil). |
| - New and modified NSH commands: |
| Added a -h option to the df command to show the volume information |
| in human readable form (from Ken Petit). |
| Add a new mksmartfs command (from Ken Petit). |
| |
| Efforts In Progress. The following are features that are partially |
| implemented but present in this release. Most are expected to be fully |
| available in NuttX 6.28. |
| |
| * Audio System: |
| |
| - A complete audio subsystem include CODECs, higher level management, |
| interface definitions, and audio drivers was contributed by Ken |
| Pettit. This work has not been completely verified as of this |
| release and so is categorized as a work-in-progress. At present, |
| progress is blocked due to issues interfacing with the VS1053 |
| audio DAC on the Mikroe STM32F4 board. |
| |
| * kconfig-fronted Configuration: |
| |
| - Conversion of old configurations to use the kconfig-frontends |
| tool is an ongoing effort that will continue for some time. |
| At this time, only 43% of the configurations have been converted |
| to use the kconfig-frontends tools. |
| |
| Bugfixes (see the ChangeLog for details). Some of these are very important: |
| |
| * Tasking: |
| |
| - Modify assertion in the priority inheritance logic that is reported |
| to cause false alarm assertions. |
| |
| * Kernel Build: |
| |
| - Typo in syscall proxying logic corrected by Ken Pettit. |
| |
| * Networking: |
| |
| - Poll setup/teardown logic should ignore invalid (i.e., negative) |
| file descriptors (from Max Holtzberg). |
| - When readahead data is available, the network poll() logic should |
| set POLLIN (or POLLRDNORM), not POLLOUT (from Max Holtzberg). |
| |
| * LCD Drivers: |
| |
| - Correct power controls in the MIO283QT2 LCD driver. |
| |
| * USB Device Controller Drivers: |
| |
| - Change the default IN request buffer size from 64 to 96. This will |
| avoid requests of exactly MAXPACKET size and, hence, avoid so many |
| NULL packets. Also, fix the OUT request buffers size to exactly the |
| max packet size. It really cannot be any other size. |
| |
| * STM32 Drivers: |
| |
| - Correct some bad STM32 F1 DMA definitions that crept into the system |
| a few months ago a broke STM32 F1 DMA (from Laurent Latil) |
| - Fixed an error in NULL packet handling in the STM32 F1 USB device |
| controller driver: If the NULL-packet needed flag ever got set, |
| then it was not being cleared and infinite NULL packets resulted. |
| This only affects the CDC/ACM class and was the cause of the |
| failures using the USB CDC/ACM device as a NuttX console. With this |
| change the USB works well as an alternative NuttX console device for |
| the STM32 F1 family. |
| - Correct some bad condition compilation in the RCC logic (CONFIG_ |
| missing from setting names). This affects some STM32 FLASH pre- |
| fetch settings (from Lorenz Meier). |
| - Change for hardware flow control support for STM32. The change also |
| fixes incorrect operation of USART2 and UART5 in current master |
| (from Lorenz Meier and Mike Smith). |
| - Fixed a backward conditional in USB OTG FS host controller driver |
| that prevented detection of disconnection events (from Scott). |
| |
| * LPC17xx Drivers: |
| |
| - I2C interrupt control. Also correction for a single byte read |
| timeout error (from M. Kannan). |
| |
| * Freescale Kinetis: |
| |
| - Freedom KL25Z pin multiplexing and LED control corrections (from |
| Alan Carvalho de Assis) |
| |
| * PIC32MX: |
| |
| - Fix NULL packet handling in the PIC32 USB device driver. Without |
| this fix the CDC/ACM driver cannot be used reliably with the PIC32 |
| USB. With this change the USB works well as an alternative NuttX |
| console device. |
| |
| * Graphics: |
| |
| - Default priorities for NxWidget and NxWM threads should be 100, |
| not 50, to be consistent with other default priorities. |
| |
| * Applications: |
| |
| - Remove the CONFIG_EXAMPLES_NXTEXT_NOGETRUN option from the NXTEXT |
| example. The test logic was bad for the case where this options is |
| not selected. Also, completed the empty Kconfig file. |
| - C++ name mangling was occurring when this example is built as an NSH |
| built-in application causing the entry to be undefined when called |
| from C code. |
| - Add some missing NSH library configuration values (from Lorenz |
| Meier). |
| |
| NuttX-6.29 |
| ---------- |
| |
| The 96th release of NuttX, Version 6.29, was made on July 31, 2013, |
| and is available for download from the SourceForge website. Note |
| that release consists of two tarballs: nuttx-6.29.tar.gz and |
| apps-6.29.tar.gz. Both may be needed (see the top-level nuttx/README.txt |
| file for build information). |
| |
| Additional new features and extended functionality: |
| |
| * Drivers: |
| |
| - Generalized the SSD1306 driver and added support UG-2832HSWEG04 |
| which is very similar to the existing support for the |
| UG-2864HSWEG01. |
| - Added support for a generic bit-bang SPI driver. This includes |
| both a common "upper half" driver as well as a platformp-specific |
| "lower half" dirvers based on a common "template." |
| |
| * ARMv7-A, Cortex-A5 |
| |
| - Added support for the ARMv7-A architecture and the Cortex-A5 in particular. |
| |
| * ARMv7-M, Cortex-M3/4 |
| |
| - Modified how some registers are copied during a context switch (with |
| lazy FPU register saving). This should save some context switching |
| time when the context switch is due to interrupt level processing. |
| |
| * STM32: |
| |
| - Added support for a separate CCM heap. This may be useful for |
| segregating allocations for CCM (which cannot be used for DMA) |
| from other allocations (that may be used used for DMA). |
| |
| * STM32 Drivers: |
| |
| - DAC: Added support for DAC DMA (contributed by John Wharington). |
| - I2C: An I2C driver for the STM32 F3 family (from John Wharington). |
| |
| * Atmel AT91 SAM/4: |
| |
| - Add support for SAM3X and SAM3A chips |
| |
| * Atmel AT91 SAM/4 Drivers: |
| |
| - Re-architect the SAM3/4 SPI driver so that is it compatible with the |
| SPI drivers of other MCUs. |
| - Added register definition file for the SAM4L LCD peripheral. |
| - Added SAM4L PDCA register definition file |
| |
| * Atmel AT91 SAM/4 Boards: |
| |
| - SAM4L-Xplained: Added support for the SPI-based SD card on the I/O1 |
| module. |
| - SAM4L-Xplained: Added a driver for the LED1 segment LCD module. |
| - SAM4L-Xplained: Added support for the UG-2832HSWEG04 OLED on the |
| SAM4L Xplained Pro's OLED1 module |
| - SAM4S-Xplained: Added support for on-board 1MB SRAM |
| - Arduino Due: Basic support for the Arduino Due (SAM3X) is now |
| included. |
| - SAM3U-EK: The touchscreen is now functional. |
| |
| * Atmel AT91 SAMA5D3 |
| |
| - Added support for the Atmel AT91SAMA5D3 Cortex-A5 chip family. |
| |
| * Atmel AT91 SAMA5D3 Boards |
| |
| - Added support for the Atmel SAMA5D3x-EK boards which use the AT9 |
| SAMA5D3x chips (x=1,3,4,5). |
| |
| * Freescale KL25Z Drivers |
| |
| - Freescale KL25Z TSI register definitions and example TSI driver for |
| the Freedom KL25Z board from Alan Carvalho de Assis. |
| - Added SPI driver and register definitions for the Freescale KL25Z. |
| - Added a framework for controlling SPI-related discrete inputs and |
| outputs. Taken from work by Alan Carvalho de Assis |
| |
| * Build System: |
| |
| - New sub-directories to hold SPI-related files: includes/nuttx/spi.h |
| moved to include/nuttx/spi/.; SPI-related Kconfig info moved from |
| drivers/Kconfig to drivers/spi/kconfig. |
| - Finally... I changed the naming of configuration variables like |
| CONFIG_DRAM_ to CONFIG_RAM_. This has bothered me for a long time |
| since most boards don't have DRAM. The more generic RAM naming |
| should not produce so much cognitive dissonance |
| |
| * Libraries: |
| |
| - Added CRC16 support. |
| |
| * Applications: |
| |
| - Added Zmodem file transfer support. This may be used as an embedded |
| library or may be built as 'sz' and 'rz' commands that can be |
| executed from NSH. |
| - C++ initializers should be set once and, preferably, in the context |
| of the task that uses any C++ statically initialized classes. This |
| only becomes an issue if cxxtest or helloxx are built as NSH builtin |
| applications. Then you want the initialization done in cxxtext or |
| helloxx and not in NSH (and certainly not twice). Added |
| configuration options to control who does the C++ initialization. |
| NSH now does not do C++ initialization be default and must be |
| configured to do otherwise. Conversely, cxxtest and helloxx |
| will always do C++ initialization unless configured do otherwise. |
| - examples/cxxtext: Add ostream test as provided by Michael. |
| - NSH: Added a 'cmp' command that can be used to compare two files |
| for equivalence. Returns an indication if the files differ. |
| Contributed by Andrew Tridgell (via Lorenz Meier). |
| |
| Efforts In Progress. The following are features that are partially |
| implemented but present in this release. They are not likely be be |
| completed soon. |
| |
| * Audio System: |
| |
| - A complete audio subsystem include CODECs, higher level management, |
| interface definitions, and audio drivers was contributed by Ken |
| Pettit. This work has not been completely verified as of this |
| release and so is categorized as a work-in-progress. At present, |
| progress is blocked due to issues interfacing with the VS1053 |
| audio DAC on the Mikroe STM32F4 board. |
| |
| * kconfig-fronted Configuration: |
| |
| - Conversion of old configurations to use the kconfig-frontends |
| tool is an ongoing effort that will continue for some time. |
| At this time, only 45% of the configurations have been converted |
| to use the kconfig-frontends tools. |
| |
| Bugfixes (see the ChangeLog for details). Some of these are very important: |
| |
| * File Systems: |
| |
| - Fixed compilation error if no file systems are enabled: Change |
| error to ERROR. |
| - Read-Ahead/Write buffering: Correct typos that can cause failures |
| in some configurations (From Chia Cheng Tsao). |
| |
| * Drivers |
| |
| - Remove the wait for the touchscreen busy bit in the ADS7843E driver. |
| From my reading of the ADS7843 spec, it would not be appropriate to |
| wait for the BUSY bit to de-asserted anyway (since it is only de- |
| asserted when we read the data). Most boards do not even bother to |
| provide the BUSY bit. |
| - MMC/SD SPI based driver: Driver needs to make sure that the SPI |
| mode and data width are correct. |
| - ENC28J60: Change buffer ordering to work around Errata. From Dave |
| (ziggurat29). |
| |
| * USB Device Controller Drivers: |
| |
| - Fixed a typo in the composite device driver unitialization logic. |
| DEV1 should be DEV2 in one case. |
| - usbdev.h: Fix some typos that cause compiler errors when |
| CONFIG_USBDEV_DMA and CONFIG_USBDEV_DMAMEMORY are selected (From |
| Chia Cheng Tsao). |
| |
| * ARM9: |
| |
| - Fix a bug (uninitialized register error) that crept in the ARM9 |
| boot-up code several years ago. Obviously no one has used the |
| ARM9 NuttX port for years! |
| |
| * STM32 Drivers: |
| |
| - Fix STM32 OTF FS endpoint allocation logic. Apparently the same |
| endpoint can be allocated as both an IN or an OUT endpoint. The |
| existing implementation only supported one allocation, either IN or |
| OUT. This resulted in failures to allocate endpoints when used with |
| the CDC/ACM + MSC composite driver (From Chia Cheng Tsao). |
| - SDIO: Add support for the data block end (DBCKEND) interrupt to |
| terminate transfers (From Chia Cheng Tsao). |
| - DAC: Fixed numerous DAC driver errors and added support for DAC |
| DMA (contributed by John Wharington). |
| |
| * SAM3/4: |
| |
| - SAM4S: Correct configuration of PIO pins for SAM4S B and C peripherals. |
| - Need to disable write protection before configuring PIO pins. |
| - GPIO configuration logic must protect against re-entrancy. |
| - Clocking must be applied to the SMC module for the 3X and 3A family in |
| order for the NFC SRAM to be functional. |
| - Fixed some errors for interrupts on ports D-F. |
| |
| * SAM3/4 Drivers: |
| |
| - Common SPI driver: Fix SPI mode setting. In the SAM3/4 family, the |
| clock phase control (CPHA) is inverted (NPHA). Also fixed an |
| incorrect pointer test. Was checking if the wrong pointer was NULL. |
| |
| * SAM3/4 Boards: |
| |
| - SAM3U-EK: Fix polarity of the /PENIRQ signal (it is active low). |
| The SAM3U-EK board now runs at 96MHz. |
| |
| * Applications: |
| |
| - apps/examples/nxhello: Minor fix for compilation error when the |
| display resolution is low (< 8bpp) due to a typo that has been there |
| for a long time. Also Correct default colors when in Y1 code mode. |
| - apps/system/ramtest: The RAM test was not correctly built |
| into the configuration and build system. |
| - apps/examples/composite: Change to prevent some false alarm debug |
| assertions (From Chia Cheng Tao). |
| |
| NuttX-6.30 |
| ---------- |
| |
| The 97th release of NuttX, Version 6.30, was made on September 14, 2013, |
| and is available for download from the SourceForge website. Note |
| that release consists of two tarballs: nuttx-6.30.tar.gz and |
| apps-6.30.tar.gz. Both may be needed (see the top-level nuttx/README.txt |
| file for build information). |
| |
| Additional new features and extended functionality: |
| |
| * Common Drivers: |
| |
| - Extended TERMIOS support for serial and CDC/ACM drivers. From |
| Mike Smith, Andrew Tridgell and Lorenz Meier. |
| - Added option to disable serial port reordering. From Lorenz Meier. |
| - Several changes to the USB host control interface and extensions to |
| common USB host logic to handle host controllers with multiple |
| downstream ports in the root hub. |
| - USB device tracing: Extended decoding and stringifying of USB trace |
| output to include trace output from class drivers. |
| - USB host tracing: Added support for USB host tracing similar in |
| some ways to USB device tracing: Stringification is an inherent |
| part of the trace decoding (not an option). Only available in the |
| SAMA5 USB host drivers now. |
| |
| * Networking / Network Drivers |
| |
| - Support for the Microchip ENCX24J600 Ethernet driver from Max |
| Holtzberg |
| - CC3000 Networking. Initial support for the TI CC3000 network |
| module on the Freescale Freedom-KL25Z board from Alan Carvalho |
| de Assis. This is still a work in progress. |
| |
| * ARMv7-A, Cortex-A5 |
| |
| - Restructured some MMU-related logic and header files. |
| - Hooks added for Cortex-A8, but not yet used. |
| |
| * STM32 Drivers: |
| |
| - STM32 SPI: nbits() interface extended to control bit order as well |
| as bit width (from Teemu Pirinen) |
| |
| * STM32 Boards |
| |
| - Olimex STM32-P107: Incorporate ENCX24J600 networking for the Olimex |
| STM32 P107 board. |
| - LeafLabs Maple Board: Add board support for the LeafLabs Maple and |
| Maple Mini boards. From Librae. |
| |
| * Atmel AT91 SAMA5D3x |
| |
| - Added support for the SAMA5 DMAC controllers. |
| - DMA-capable drivers for the SAMA5 SPI peripherals. |
| - DMA-capable HSCMCI 0/1/2 drivers. |
| - Support for PIO interrupts |
| - Utilities for intelligent conversions between physical and virtual |
| addresses. |
| - Added USB host controller drivers for both the OHCI (low- and full- |
| speed) peripheral and the ECHI (high-speed) peripheral. |
| - Added USB device controller for the SAMA5 UDPHS peripheral (full- |
| and high-speed). |
| - Added a Two Wire (TWI) driver. This is a variant of I2C. |
| |
| * Atmel AT91 SAMA5D3x-EK Development Boards |
| |
| - Now supports onboard SDRAM. Modified heap initialization logic |
| to include SDRAM if configured. |
| - Integrated a FAT file system on the on-board SPI-based AT25 serial |
| FLASH |
| - Integrated HSMCI0 and HSMCI1 support for the microSD and full file |
| SD card slots. Includes PIO interrupts for card detection events. |
| - Integrated USB OHCI and ECHI host and high-speed peripheral support. |
| File system on AT25 now exported via Mass Storage Class. Includes |
| PIO VBUS controls. |
| - Integrated the TWI driver and the I2C tool. Added support for an |
| external AT24 serial EEPROM. |
| |
| * Applications: |
| |
| - apps/examples/cc3000. Initial support for the TI CC3000 network |
| module on the Freescale Freedom-KL25Z board from Alan Carvalho de |
| Assis. Includes the test to verify the CC3000. |
| - apps/examples/usbmsc: apps/examples/usbstorage renamed usbmsc for |
| consistency. Change submitted by CCTSAO. |
| - apps/system/usbmonitor: The USB monitor has been extended so that |
| it can be used with USB device or host trace data. |
| |
| Efforts In Progress. The following are features that are partially |
| implemented but present in this release. They are not likely be be |
| completed soon. |
| |
| * CC3000 Networking |
| |
| - CC3000 Networking. Initial support for the TI CC3000 network |
| module on the Freescale Freedom-KL25Z board from Alan Carvalho |
| de Assis. This is still a work in progress. |
| |
| * kconfig-fronted Configuration: |
| |
| - Conversion of old configurations to use the kconfig-frontends |
| tool is an ongoing effort that will continue for some time. |
| At this time, only 46% of the configurations have been converted |
| to use the kconfig-frontends tools. |
| |
| Bugfixes (see the ChangeLog for details). Some of these are very important: |
| |
| * File Systems: |
| |
| - ROMFS: Fix an error where long (>15) file names were read |
| incorrectly from a ROMFS file system. From Mike Smith |
| - NXFFS: Clean up some compiler warnings. |
| |
| * Common Drivers |
| |
| - MMC/SD driver: Correction for a bad return value when multiple |
| block SDIO transfers are suppressed. By Andrew Tridgell. |
| - USB HID keyboard and mass storage host-side class drivers: Fix some |
| compilation errors and warnings when pre-allocated data structures |
| are used. |
| - USB device-side class drivers: Fix some compilations errors when |
| DUALSPEED (i.e., full- and high-sped) support is enabled. |
| - CDC/ACM and PL2303: Don't use max packetsize assigned to the endpoint |
| when allocating request buffers; The default value of the endpoint |
| max packetsize may be incorrect because the endpoint has not yet |
| been configured. Really only an issue for high-speed endpoints. |
| - USB Host Mast Storage Class: Fixed a problem that was causing some |
| devices to fail to initialize: If device is returning fatal transfer |
| errors while attempting to initialize, don't bother with the startup |
| retries; abort immediately so that the device will be reset and we |
| can try again with a better ready device. |
| - USB Host Mast Storage Class: Correct a reference counting error: |
| When an MSC device transfer fails while waiting for UnitTestReady, |
| the reference count on the class was not being decremented. The end |
| result is a memory leak as can be seen by the USB device numbers |
| incrementing: sda, sdb, sdc, ... |
| - USB Device CDC/ACM: Fix backward conditional compilation in the |
| CDC/ACM driver with regard to remote wakeup and self-powered |
| capabilities. From the PX4 team via Lorenz Meier, |
| |
| * Networking / Network Drivers |
| |
| - ARP IP harvesting: Correct backward condition in netmask task. |
| From Max Holtzberg. |
| - Network connection monitor: Fixes a race condition where a loss of |
| connection may not be detected when the connection is lost before it |
| has been accepted (from Max Holtzberg). |
| - TCP/IP Backlog: Fix a critical bug in the TCP/IP backlog |
| initialization: Only the first backlog buffer was getting added to |
| the free list. From Max Holtzberg. |
| - ENC28J60: Fixes and improvements back-ported from the ENCX24J600 |
| to the ENC28J60 by Max Holtzberg. |
| |
| * STM32 Drivers: |
| |
| - STM32 I2C fixes for the STM32 F3 family from John Wharington. |
| - STM32 I2C Correct an error that crept into the STM32 F1 I2C |
| driver with some recent changes. From Librae |
| - STM32 F4: Added some missing CONFIG_SERIAL_TERMIOS support; Fixed |
| some STM32 F4 Timer 8 pin configurations. From CCTSAO. |
| - STM32 SDIO: If CONFIG_SDIO_BLOCKSETUP defined, OS would crash. Now |
| Generate an error if CONFIG_SDIO_BLOCKSETUP is defined; that |
| option is not yet supported by the STM32 SDIO driver. From CCTSAO |
| - STM32 I2C Timers: Some CCER bit settings changed. Submitted by |
| CCCTSAO. |
| - STM32 CAN: Fix access to CAN filter registers. From the PX4 team |
| via Lorenz Meier. |
| - STM32 Kconfig: Fix STM32 UART7/8 Kconfig names and UART DMA. From |
| the PX4 team via Lorenz Meier. |
| |
| * LPC17xx Drivers |
| |
| - Fix #endif with missing #if in USB host header file. Reported |
| by Andrew Bradford, |
| |
| * SAM3/4 Boards: |
| |
| - Corrected DMA-related problems: Bad register definitions, parameters |
| reversed in a function call. |
| - Correct a race condition in the HSMCI driver when an interrupt |
| occurs before the wait for the interrupt begins. |
| - Peripheral clock setup: Correct a typo in a register name. |
| |
| * Atmel AT91 SAMA5D3 |
| |
| - Order of some operations changed in boot-up logic to defer |
| enabling of caching of memory regions until SDRAM is initialized. |
| - Correct handling of spurious interrupts. |
| |
| * Freescale KL25Z Drivers |
| |
| - KL25Z SPI: Correct typo in name of a function. From Alan Carvalho |
| de Assis. |
| |
| * Applications: |
| |
| - apps/examples/composite: Fix a typo that can cause a configuration |
| error. From CCTSAO. |
| - apps/examples/pwm: Clean-up some configuration confusion. |
| - apps/netutils/dhcpd/dhcpd.c: Fixed calculation of the next lease |
| address. From Paolo Messina. |
| - apps/examples/usbmsc: Don't try to control USB trace if we are |
| an NSH built-in task. In that case our attempts are inadequate |
| and only interfere with with other logic that is attempting to |
| to do the same thing (in NSH or in the USB monitor). |
| - apps/examples/usbmsc: IMPORTANT bug fix: Change how the msconn |
| works. Because of recent changes the msconn command was hanging. |
| This was because the USB MSC start-up logic creates a pthread; |
| Now waitpid() will wait until all members of the task group |
| exit. So NSH was hanging in waitpid when msconn started even |
| though msconn returned. The USB MSC logic really should not use |
| a pthread, but we are stuck with that for now. The work-around |
| is the msconn now daemonizes itself so that it so that the pthread |
| is created in a different task group. |
| - apps/nshlib: Fix NSH listing output for the case of a single file. |
| From the PX4 team; provided by Lorenz Meier. |
| |
| NuttX-6.31 |
| ---------- |
| |
| The 98th release of NuttX, Version 6.31, was made on October 28, 2013, |
| and is available for download from the SourceForge website. Note |
| that release consists of two tarballs: nuttx-6.31.tar.gz and |
| apps-6.31.tar.gz. Both may be needed (see the top-level nuttx/README.txt |
| file for build information). |
| |
| Additional new features and extended functionality: |
| |
| * General: |
| |
| - Standardized stack checking logic so the interfaces can be used |
| by common stack monitoring logic. |
| |
| * Audio Subsystem and Audio Drivers: |
| |
| - Ken Pettit has finally released his long awaited audio subsystem. |
| This is a generic audio subsystem that is appropriate for the |
| deeply embedded MCU. Current testing has, however, been focused |
| on the VS1053 CODEC chip. |
| - Ken Pettit's VS1053 audio CODEC driver is now functional. |
| |
| * Networking / Network Drivers |
| |
| - Add the prefix ETH0 to all PHY configuration selections. This |
| will allow us to support to Ethernet MAC drivers with two different |
| PHYs (identified with ETH0 and ETH1). Enabled with CONFIG_NETDEV_MULTINIC. |
| - Add MII/RMII PHY definitions for the Micrel KSZ8051 PHY. |
| - Add GMII/GRMII PHY definitions for the Micrel KSZ9021/31 PHY. |
| - New network-optimized, higher-performance sendfile() implementation |
| from Max Holtzberg. |
| - Added a simple routing table. This table is currenly only used (1) |
| when we need to look-up an Ethernet device based on an IP address, |
| and (2) in the ARP logic when we need to request the MAC address of |
| the router, vs the MAC address of the peer. |
| - Make net_close() nonblocking and free unestablished connections if |
| no free connections available. From Max Holtzberg. |
| - Changed the meaning of the uip_*input functions. They now return |
| success when a packet is dropped; This is needed for the ENCX24J600 |
| driver that must make a decision to return the packet or not: It |
| should not retry dropped packets. From Max Holtzberg. |
| - David Sidrane has completed integration of the CC3000 networking. |
| This is much more than a network driver: It is a complete |
| replacement for the NuttX networking with off-chip networking support |
| in the CC3000. |
| - Numerous enhancements to the ENCX24J600 driver from Max Holtberg. |
| |
| * Other Common Drivers: |
| |
| - The SST25 serial FLASH MTD driver now includes support for the |
| SST25VF016B. From David Sidrane. |
| - Add a preflight method to the SDIO interface to support the STM32 |
| DMA usage model. From Mike Smith. |
| - Enhanced the MMC/SD SDIO driver to perform DMA preflight operations |
| and fail DMA read/write requests that fail preflighting. From Mike |
| Smith. |
| - Add an ioctl command that can be used to trigger ADC/DAC conversion |
| under application control. |
| |
| * File Systems: |
| |
| - Enhanced the FAT32 filesystem code to understand DMA preflight |
| failures, and to use the file sector buffer as a bounce buffer when |
| a user-supplied buffer is not suitable for DMA. From Mike Smith. |
| |
| * Atmel AT91 SAMA5D3x |
| |
| - Add support so that subsets of the total DRAM (and other external |
| memory) can be added to the heap, leaving other memory reserved for |
| other purposes (like the LCDC framebuffers). |
| |
| * Atmel AT91 SAMA5D3x Drivers: |
| |
| - Use more descriptive task names when starting the EHCI and OHCI |
| monitor tasks. |
| - Added a 10/100Base-T Ethernet (EMAC) driver. |
| - Added a 1000Base-T Ethernet (GMAC) driver. |
| - Added a Real Time Clock (RTC) driver and integrated with the NuttX |
| system time logic. |
| - Added support for /dev/random using the SAMA5D3x True Random Number |
| Generator (TRNG). |
| - Added a Watchdog Timer (WDT) driver. |
| - Added a Timer/Counter (TC) library with interface that make be used |
| by other drivers that need timer support. |
| - Added an ADC driver that can collect multiple samples using the |
| sequencer, can be trigger by a timer/counter, and supports DMA data |
| transfers. |
| - Added a touchscreen driver based on the special features of the |
| SAMA5D3 ADC peripheral. |
| - Added an LCD controller (LCDC) frame buffer driver. |
| - Added a CAN driver. However, testing has been delayed because of |
| cabling issues. |
| - Basic header file support is available for the Image Sensor |
| Interface (ISI) camera interface. Work on the camera driver is |
| underway and is expected in the next release. |
| |
| * Atmel AT91 SAMA5D3x-EK Development Boards |
| |
| - Add OS test support for the FPU test. |
| - Enable the task name feature board configuration sto provide |
| prettier ps command output. |
| - Added NX and NxWM configurations to verify the LCD and touchscreen. |
| There are still some outstanding issues with the NxWM configuration |
| as of this release. |
| - The TRNG and /dev/random are now enabled by default in the demo |
| configuration. |
| |
| * Atmel AT91 SAM3/4 Boards: |
| |
| - Add configuration to select revision 3 of the Arduino Due which has |
| some small but important differences. Suggested by gdi@embedders.org. |
| |
| * STMicro STM32: |
| |
| - Add support for the STM32F207ZE chip. From Martin Lederhilger. |
| |
| * STMicro STM32 Boards: |
| |
| - Add configuration for the Spark Core. The initial check-in is |
| basically the Maple Mini board and subsequent development by David |
| Sidrane is his special Spark emulation hardware. The configuration |
| should be very mature when actual Spark hardware is available. |
| - Support for the Olimex STM32 P207 board added by Martin Lederhilger. |
| - Configuration for the Mikroe STM32F4 board configuration updated for |
| audio support by Ken Pettit. |
| |
| * NXP LPC17xx Boards: |
| |
| - zkit-arm-1769: LED1 is now user controllable after booting. From |
| Rashid Fatah. |
| |
| * Kinetis KL Drivers: |
| |
| - PIT and TPM register definitions header files for the from Alan |
| Carvalho de Assis. |
| - Added low-level getc() function for operation with no file system. |
| The KL25Z can now support NSH in a very minimal system that does |
| not even have a file system. |
| |
| * Kinetis KL Boards |
| |
| - A new configuration called minnsh was added is an experiement to |
| see how small we can get the NuttX footprint and still support NSH. |
| From Alan Carvalho de Assis.. |
| |
| * TI Calypso Phones: |
| |
| - Basic board support for the Motorola C139 (Compal E86) phone. From |
| Craig Comstock. |
| |
| * Applications: |
| |
| - Moved several useful examples from apps/examples to apps/system. |
| This includes USB MSC, USB CDC/ACM, and USB Composite. |
| - New addroute and delroute commands added to NSH in order to manage |
| the network routing table. |
| - Numerous enhancements and updates to the CC3000 example from David |
| Sidrane. |
| - Add a new stack monitor daemon that can be used to constantly |
| monitor stack usage by all threads. |
| - Numerous changes to get NSH working with no file system. Basically |
| this suppresses I/O redirection and replaces file I/O with calls to |
| low-level console read/write functions. Suggested by Alan Carvalho |
| de Assis. |
| - apps/system/nxplayer: A new, command-line media player called |
| 'nxplayer' from Ken Pettit. |
| - apps/examples/random: Add a simple test that dumps values from |
| /dev/random. |
| - apps/examples/adc: Add support so that a ADC driven by software |
| triggering can be tested. |
| |
| * Build System: |
| |
| - The MKDEP tools now support a new argument that identifies the |
| object file path. |
| |
| Efforts In Progress. The following are features that are partially |
| implemented but present in this release. They are not likely be be |
| completed soon. |
| |
| * kconfig-fronted Configuration: |
| |
| - Conversion of old configurations to use the kconfig-frontends |
| tool is an ongoing effort that will continue for some time. |
| At this time, only 48% of the configurations have been converted |
| to use the kconfig-frontends tools. |
| |
| Bugfixes (see the ChangeLog for details). Some of these are very important: |
| |
| * Initialzation and Scheduling: |
| |
| - IDLE thread initialization logic should not call group_setupidlefiles() |
| if there are no file descriptors (and, hence, no file system). |
| - Fix some cornercase error handling logic: If sched_releasetcb() is |
| called as part of a failed pthread startup before the flags field in |
| the TCB has been initialized, then a crash occurs. Pointed out by |
| David Sidrane. |
| |
| * Networking / Network Drivers: |
| |
| - Look up of a device using subnet will fail if the packet is being |
| sent out of our subnet (via a router). The fallback here is just to |
| use the only device ("eth0") if the subnet lookup fails (this logic |
| was extended to handle multiple Ethernet devices by adding a simple |
| routing table). |
| - Fix some backward conditional logic in send() that enabled the |
| check if the ARP address is in the ARP table. From Max Holtzberg. |
| - Notify the socket layer from the network monitor if a connection is |
| lost before the monitoring callback has been registered. From Max |
| Holtzberg. |
| - send(): Reset the send timeout when the data is ACKed, not when the |
| data is sent. Remove conditions on checking for timeout. From Max |
| Holtzberg. |
| - Correct how the TCP/IP initial minimum MSS is calculated. Max |
| Holtzberg. |
| - TCP state machine: Move tcp connection into SYN_RCVD state after |
| aception instead of bypassing and moving directly into ESTABLISHED. |
| From Max Holtzberg. |
| - Numerous fixes to the ENCX24J600 driver from Max Holtberg. |
| |
| * USB Drivers: |
| |
| - Change naming of SELFPOWERED and REMOTEWAKEUP to avoid name |
| collisions. Prepend the name of the driver (for example |
| CDCACM_SELFPOWERED). |
| - CDC/ACM class driver: Change the interval for the interrupt |
| endpoint from 0xff (invalid) to 10. This is not a critical |
| change but will avoid a complaint from the Linux driver when |
| it overrides the 0xff value. |
| |
| * ARM Cortex-A5: |
| |
| - Fix an error in data cache clean and invalidate functions: Fix of |
| addresses to cache line boundaries. |
| |
| * Atmel AT91 SAMA5D3x Drivers: |
| |
| - Correct some inconsistencies in the way that USB configuration |
| settings are used. This caused compilation errors in SAMA5 OHCI |
| when USB debug was ON but USB host tracing was off. |
| - When 480MHz UPLL is used to drive OHCI, it should have a divider |
| of 10. However, that does not work. A divider of 5 does. Why?. |
| - OHCI HCD: Fix a place where DMA-related data needed to be flushed |
| to data cache; Fix another where a virtual address was being used |
| in a register where a physical address was required. |
| - HSMCI Driver: TX DMA disabled. It is just not reliable. No idea |
| why. RX DMA is still used. |
| - STM32F103C pinmapping corrections from David Sidrane. |
| |
| * Atmel SAMA5D3x-EK Board |
| |
| - Increase the number of pre-allocated watchdog timers. The default |
| number of 4 was easily being exhausted in the more complex |
| configurations. |
| |
| * STMicro STM32: |
| |
| - STM32 F4 DMA definitions: Typo fixes for UART7 and UART8 DMA |
| configs. From Mike Smith. |
| - DMA priority configuration corrections from Mike Smith. |
| - Changes to the stm32_dmacapable API. In order to correctly |
| verify that a buffer can be transferred, the transfer count and |
| the CCR value are required. Implemented stm32_dmacapable for |
| stm32f1xx devices. Enhanced stm32_dmacapable for stm32f2xx and |
| stm32f4xx devices to check for additional conditions that will cause |
| DMA to fail or lose data. |
| - STM32 F1 DMA fix from David Sidrane: The DMA_CNDTRx register |
| cannot be modified if the DMA channel is disabled. |
| |
| * STMicro STM32 Drivers: |
| |
| - Fix compilation errors from bad bit definitions in ADC and PWM |
| register. From Martin Lederhilger. |
| - DMA-related fixes to the SPI driver from Ken Pettit. |
| |
| * NXP LPC17xx Drivers: |
| |
| - Remove undefined spi_select() prototype. This was causing compile |
| time warnings. |
| |
| * NXP LPC17xx Boards: |
| |
| - zkit-arm-1768: MMC/SD is on SPI, not SSP0. From Rashid Fatah. |
| |
| * C Library |
| |
| - scanf() fixes from kfrolov: 1) sscanf() function hangs in the |
| following example: sscanf("2", "%u,%u,%u,%u", ...), 2) sscanf() |
| returns incorrect number of parsed numbers if some arguments |
| can't be parsed: sscanf("=2", "%u,%u,%u,%u",...)==1 instead of |
| 0, and 3) using of char* instead of const char* in vsscanf |
| function leads to warnings from GCC. |
| |
| * Build System |
| |
| - Dependency generation generation was broken for directories that |
| keep objects in a sub-directory. The MKDEP tools now support a new |
| argument that identifies the object file path. |
| - tools/define.sh: 'cut' no longer works as it once did. Script |
| adapted to observed behavior. |
| |
| * Applications: |
| |
| - Remove a warning from the NSH library when DHCP is not enabled. |
| - Default NSH IP address should be 0x0a000001 (10.0.0.1), not |
| 0xa0000001 (160.0.0.1). Ditto for the gateway. |
| - Add some missing options to the OS test Kconfig file |
| - Fix some bad conditional compilation in the USB monitor. |
| - Fix default I2C frequency used by the I2C tool: 400KHz instead |
| of 4MHz. Suggested by Max Kriegleder. |
| - Increase stack size for the system/info command. Ken Petit |
| reports that this simple command can exceed its 768 stack size |
| under certain conditions. The size is marginal and has been |
| increased to 1024 by default but is also now configurable. |
| - apps/Makefile: Needs to include external/Make.defs if we want |
| allow external applications to participate in the NuttX |
| configuration. Suggested by gdi@embedders.org. |
| - apps/netutils/telnetd: Missing argument to debug statement |
| can cause crashes in certain error conditions. From David |
| Sidrane. |
| - apps/examples/can: Correct an error in a debug statement. From |
| Martin Lederhilger. |
| |
| NuttX-6.32 |
| ---------- |
| |
| The 99th release of NuttX, Version 6.32, was made on December 7, 2013, |
| and is available for download from the SourceForge website. Note |
| that release consists of two tarballs: nuttx-6.32.tar.gz and |
| apps-6.32.tar.gz. Both may be needed (see the top-level nuttx/README.txt |
| file for build information). |
| |
| Additional new features and extended functionality: |
| |
| * General: |
| |
| - Extension and standardization of stack debug logic. Now includes |
| coloration of the IDLE and interrupt stacks as well as the heap. |
| Suggested by David Sidrane. |
| |
| * Audio Subsystem and Audio Drivers: |
| |
| - I2S interface definition. Integrates with audio sub-system. |
| - VS1053 worker thread stack size is now configurable and assigned a |
| name via pthread_setname_np(). From Ken Pettit. |
| |
| * Networking / Network Drivers |
| |
| - Updates and adaptations to support for TI CC3000 wireless module |
| from David Sidrane. These updates include multi-threading support |
| and interface and header file changes to integrate more seamlessly |
| with NuttX applications. |
| |
| * File Systems: |
| |
| - procfs: Add support for a tiny procfs file system. The initial |
| offering is little more that a proof of concept but may be developed |
| further in subsequent releases. |
| - NXFFS: An initial attempt was made to integrate NXFFS with the NAND |
| MTD driver. Changes were made to handle bad blocks. However, I |
| later realized that NXFFS cannot handle NAND because the way that |
| is re-writes blocks is incompatible with the NAND ECC handling. |
| These changes were backed-out so as not to introduce turmoil, but |
| can be re-enabled if needed via configuration option. |
| - NXFFS: Make the start up scan of the media a configuration option. |
| It just takes to long and is not really necessary! Those rare cases |
| where the scan was helpful can be fixed using flash_eraseall(). |
| |
| * General Drivers: |
| |
| - I2S: A simple character driver was added to support I2S accesses. |
| This driver in its current state is intended only to support I2C |
| testing and would not be appropriate to used for any real driver |
| application. |
| |
| * MTD Drivers |
| |
| - Add a container for an MTD device that can be used to provide a |
| simple, lightweight interface to configuration data storage that |
| resides on some storage media that is wrapped as an MTD device. |
| From Ken Pettit. |
| - New interface definition for lower half NAND drivers. |
| - MTD Nand: Add MTD NAND driver that will support ONFI devices, |
| non-ONFI devices (via table lookup), bad block checking, software |
| ECC (Hamming), and will interact with the lower-half, hardware- |
| specific, NAND driver. Based on BSD-compatible Atmel sample code. |
| - MTD geometry structure is now packed so that it can support larger |
| erase block sizes needed by NAND without increasing the size of |
| the geometry structure. |
| - SST25: Add another SST25 SerialFlash driver, sst25xx.c. This one |
| differs from sst25.c in that it supports larger SST25 parts: In |
| the larger parts support page write instead of byte/word writes |
| like the smaller parts. From Ken Pettit. |
| |
| * USB Drivers |
| |
| - STM32 F1 USB Device: Add support for decoded USB trace strings. |
| From David Sidrane. |
| |
| * ARM |
| |
| - Add more ARM9 cache management functions to flush and invalidate |
| D-Cache for DMA support. |
| |
| * Atmel AT91 SAMA5D3x Drivers: |
| |
| - Many new drivers including CAN, PWM, SSC/I2S |
| - PCK: Add support for programmable clock outputs. |
| - NAND: Driver with hardware ECC and DMA support |
| |
| * Atmel AT91 SAMA5D3x Boards: |
| |
| - SAMA5D3x-EK: Add support for the apps/examples/i2schar test. |
| - SAMA5D3x-EK: Provides board-specific memory controller initialize |
| for NAND flash. |
| - SAMA5D3x-EK: Add support for "auto-mounting" NAND MTD block driver |
| or NXFFS file system. |
| |
| * Atmel AT91 SAM3/4 Boards: |
| |
| - Basic support for the Atmel SAM4E family. From Mitko. |
| |
| * STMicro STM32: |
| |
| - Added support for the STM32F429. From Ken Pettit. |
| - Added support for GPIOK and GPIOJ. From Ken Pettit. |
| |
| * STMicro STM32 Drivers |
| |
| - STM32 F4 OTG FS/HS Device: OTG FS device and host drivers extended |
| so that they can support either the OTG FS peripheral or the OTG HS |
| peripheral (in FS mode). This was done as a quick way to get USB |
| support on the STM32F429 which has only OTG HS. From Ken Pettit. |
| - Added header files and driver framework for the STM32F429 LTDC |
| framebuffer driver. From Ken Pettit. |
| |
| * STMicro STM32 Boards: |
| |
| - Support for the Spark board was completely by Davide Sidrane. The |
| Spark configuration includes integrated CC3000 wireless support, FAT |
| file system on the SerialFlash and a composite device that can be |
| used both to export the FAT file system and to provide a serial |
| interface. |
| - The Mikroe-stm32f4 now uses /dev/config for configuration data |
| storage. From Ken Pettit. |
| - Added support for the STM32F429I-Discovery board from Ken Pettit. |
| - Added board support for the ViewTool STM32F103/F107 board with the |
| STM32F107VCT6 installed. |
| |
| * NXP LPC31xx Drivers: |
| |
| - USB ECHI HCD: Add a driver for the low-/full-/high-speed variant |
| of the EHCI host controller. |
| |
| * NXP LPC31xx Boards: |
| |
| - Board-specific USB host support for the Emedded Artists EA3131 board. |
| (Missing PCA9532 controls). |
| - Add support for the Olimex LPC-H3131 board. Including USB host |
| support (which does not depend on the PCA8532 interface). |
| |
| * Kinetis KL Drivers: |
| |
| - PWM driver for the Freescale Kinetis KL family from Alan Carvalho |
| de Assis. |
| |
| * Kinetis KL Boards |
| |
| - Freedom-KL25Z: Add PWM support from Alan Carvalho de Assis. |
| |
| * TI Stellaris LM3S |
| |
| - Don't initialize .data in start-up logic if not running from FLASH. |
| |
| * Applications: |
| |
| - apps/platform: A new home for platform-specific application code. |
| - Define a common interface that can be used to manage platform- |
| specific configuration data. From Ken Pettit. |
| - apps/examples/configdata: A unit test for the MTD configuration |
| data driver from Ken Pettit. |
| - Aapps/platform/mikroe-stm32f4: dd platform-specific storage of |
| configuration data for the Mikroe-stm32f4. From Ken Pettit. |
| - apps/examples/cc3000: Fine tuning of memory usage from David Sidrane. |
| - apps/system/nxplayer: Play thread stack size is now configurable. |
| All NxPlayer threads now have names assigned via pthread_setname_np(). |
| From Ken Pettit. |
| - apps/examples/i2schar: The I2S test based on the I2S character |
| driver. |
| - apps/examples/hidkbd/hidkbd_main.c: Now calls a function named |
| arch_usbhost_initialize() that must be provided by the platform- |
| specific code. |
| - NSH: |
| |
| - hexdump: Add skip= and count= options to the hexdump command. From Ken Pettit. |
| - Allow USB trace without a USB console. From David Sidrane. |
| - Mount command updates from Ken Pettit. |
| - Add an option to the mkfatfs command to specify FAT12, FAT16, or FAT32. |
| |
| * Tools |
| |
| - tools/mkctags.sh: A script for creating ctags from Ken Pettit. |
| |
| Efforts In Progress. The following are features that are partially |
| implemented but present in this release. They are not likely be be |
| completed soon. |
| |
| * kconfig-fronted Configuration: |
| |
| - Conversion of old configurations to use the kconfig-frontends |
| tool is an ongoing effort that will continue for some time. |
| At this time, only 50% of the configurations have been converted |
| to use the kconfig-frontends tools. |
| |
| Bugfixes (see the ChangeLog for details). Some of these are very important: |
| |
| * File Systems |
| |
| - FAT: In one error return case, the error return value was not being |
| set, making the failure look like success. From David Sidrane. |
| - mount: SMART FS must be included in the conditional compilation for |
| the set of file systems that require block drivers. From Daniel |
| Palmer. |
| - SmartFS: Fixed a minor bug with SMART partition number reporting |
| that would only be seen if both partition support and multi-root |
| directory support are enabled at the same time. From Ken Pettit. |
| - Deadlock: The inode semaphore must be re-entrant. Here is the re- |
| entrant path that I found: (1) USB host connects to FLASH drive and |
| creates /dev/sda, (2) /dev/sda is mounted, (3) FLASH drive is |
| removed but /dev/sda is not destroyed because there is still a |
| reference on the device because of the mount, (4) umount() is |
| called, taking the inode semaphore, now the driver tries to destroy |
| the block driver by calling unregister_blockdriver(). But (5) |
| unregister_blockdriver() also takes the inode semaphore causing a |
| deadlock if the inode semaphore is not re-entrant. |
| - FAT: Fix a typo in the FAT16 formatting logic. Was this ever able to |
| format a FAT16 volume? |
| |
| * MTD Drivers |
| |
| - MTD Partitions: Fix erase block vs page block confusion. From Ken |
| Pettit |
| - SST25 Serial Flash: Improved write performance by fixing a bug that |
| prevented operation in the faster write mode. From David Sidrane. |
| |
| * USB Drivers: |
| |
| - USB MSC Device: pthread_join() does not work if called from a |
| different task group than the pthread. This is correct behavior, |
| but still a problem. The correct solution would be configure the |
| USB MSC thread to a task, however, this workaround from David |
| Sidrane plugs the hole for now. |
| - USB CDC/ACM, USB MSC, and Composite Device Classes: Un-initialization |
| logic caused re-use of a stale pointer. Changed to a two pass |
| un-initialization for the case of the composite driver: Memory |
| resources are not freed until the second un-initialization pass. |
| From David Sidrane. |
| |
| * STMicro STM32 Drivers: |
| |
| - STM32 F1 USB Device: Fix some errors that cause crashes when the USB |
| was disconnected. From David Sidrane. |
| - STM32 F1 USB Device: Correct EP0 state handling logic when buffers |
| larger than the EP0 packet size are sent. From David Sidrane. |
| - STM32 F1 USB Device: The long outstanding bug involving the handling |
| of OUT SETUP commands has been fixed in the STM32 F1 USB device |
| driver by David Sidrane. |
| - Kconfig: Add missing setup of CAN TSEG1 and TSEG2 values. From |
| Martin Lederhilger. |
| |
| * Tools |
| |
| - tools/mkconfig.c: SMART FS must be included in the conditional |
| compilation for the set of writable file systems. Noted by Daniel |
| Palmer. |
| |
| * Applications: |
| |
| - apps/platform/Makefile: Was not dealing with the bin sub-directory |
| correctly. |
| - apps/system/composite/composite_main.c: The wrong handle was getting |
| nullified. From David Sidrane. |
| |
| NuttX-6.33 |
| ---------- |
| |
| The 100th release of NuttX, Version 6.33, was made on January 30, 2014, |
| and is available for download from the SourceForge website. Note |
| that release consists of two tarballs: nuttx-6.33.tar.gz and |
| apps-6.33.tar.gz. Both may be needed (see the top-level nuttx/README.txt |
| file for build information). |
| |
| Additional new features and extended functionality: |
| |
| * Core OS Interfaces |
| |
| - nanosleep() added. sleep() and usleep() are no longer core OS |
| interfaces. These have been moved into the library and re-implemented |
| as simple wrappers around nanosleep(). |
| |
| * File Systems |
| |
| - procfs restructured by Ken Pettit. Added files for MTD status. |
| - procfs extended to show uptime and task group status. |
| - procfs now shows stack information. |
| |
| * Networking |
| |
| - Add support for the SO_LINGER socket option. Extended from logic |
| provided by Jason Jiang. Enabled with CONFIG_NET_SOLINGER. |
| - TCP write buffering support added. From Jason Jiang. |
| - Changes from Max Holtzberg to improve how network status is |
| reported. New controls to manage carrier detect. |
| |
| * Graphics |
| |
| - Massive reshuffling of files with little or no logic changes. This |
| reshuffling was necessary to build graphics applications with the |
| kernel builds where the graphics application lie in user space and |
| the core graphic server likes in kernel space. Moved much logic out |
| of nuttx/graphics to a new user library, libnx. |
| |
| * Cortex-A5/A8/A9 |
| |
| - Existing Cortex-A5 support updated to include Cortex-A8/9. |
| - Add the syscall.h header file needed for the Cortex-A architecture. |
| - Start-up logic now supports execution from FLASH with .data and |
| .bss in SDRAM. This was not possible prior to this because .bss |
| and .data were initialized before SDRAM was configured. |
| |
| * Allwinner A10: |
| |
| - Basic support for the Allwinner A10 (Cortex-A8) is in place. |
| |
| * Allwinner A10 boards |
| |
| - Support for the pcDuino v1 board has been added. This support |
| is not yet very mature and still lacks many drivers. It is a |
| good starting point, however, if anyone wants to develop A10 |
| support. |
| |
| * Atmel SAMA5D3X |
| |
| - Start-up logic now supports execution from FLASH with .data and |
| .bss in SDRAM. This was not possible prior to this because .bss |
| and .data were initialized before SDRAM was configured. |
| |
| * Atmel SAMA5D3X Boards |
| |
| - Partial logic in place to support the OV2640 camera. Still needs |
| quite a bit of additional logic to be useful. |
| |
| * ARMv7-M |
| |
| - Add support for high priority, nested interrupts. This change |
| effects not only core ARMv-7M logic, but all ARMv7-M MCU logic: |
| LM3S, LM4F, LPC17xx, LPC43xx, SAM3, SAM4, and STM32. See |
| http://www.nuttx.org/doku.php?id=wiki:nxinternal:highperfints |
| |
| * STMicro STM32 |
| |
| - Add clocking support for STM32F107 USB OTG FS (which does not yet |
| work) |
| - Single-wire UART support for the F1 series from Thomas Grubler. |
| |
| * STMicro STM32 Boards |
| |
| - The Viewtool board can now be configured to support either the |
| STM32F103VCT6 or the STM32F107VCT6. |
| - The Viewtool STM32F107VCT6 now supports networking with the |
| DP83848C module installed. |
| - Add support for Viewtool SSD1289-based LCD on the Viewtool |
| STM32F103VCT6 board (untested) |
| - Add support for the XPT2046 touchscreen controller on the Viewtool |
| LCD module connected to the Viewtool STM32F103 board. |
| - Added kernel mode build support for the STM3240G-EVAL board. Added |
| a new kernel mode NxWM build configuration |
| - C++ static constructor logic from the nuttx/configs/stm3240g-eval/ |
| directory to the apps/platform/stm3240g-eval/up_cxxinitialize.c |
| where is belongs so that it is available in user-space in the kernel |
| mode build. |
| - Add native Windows build support for the Olimex STM32 P107. From |
| Max Holtzberg |
| - Support for the STM32VL-Discovery board. Contributed by Alan |
| Carvalho de Assis |
| - Added a configuration for testing simple configurations on the |
| PX4FMU v2. |
| |
| * ZiLOG ZNEO Boards |
| |
| - Add an NSH configuration for the Z16F2800100ZCOG ZNEO board. |
| - Added support for the Toyaga 16Z ZNEO board. The 16Z board is |
| based on the ZiLOG ZNEOZ16F2811AL20EG part. See |
| https://github.com/toyaga/16z for further information |
| - Developed a patch to work around a compiler error that is revealed |
| when building the NSH configuration. |
| |
| * Architecture-Independent Drivers |
| |
| - OV2640 Camera Driver. |
| - Support for the Sharp Memory LCD from Librae. |
| |
| * Library |
| |
| - Pattern matching logic extended to handle set of characters and |
| ranges of character values. From Ken Pettit. |
| - sleep() and usleep() moved intot the C library. These are not |
| longer core OS interfaces; they are simple wrappers for the |
| nanosleep(). |
| - Add an implementation of gets_s(). |
| - Extend fopen() to include support for C11 exclusive open ("x") |
| open mode. |
| - Add an implementation of stpcpy() |
| - strtol(), strtoll, strtoul(), strtoull(), and strtod() from |
| libc/string to libc/stdlib where they belong. |
| |
| * Header Files |
| |
| - Add rsize_t to include/sys/types.h |
| - Add the C11 thread.h header file |
| |
| * Configuration/Build System |
| |
| - Top level Makefile now supports qconfig and/or gconfig targets that |
| may be used for configuration. These may be used if you build |
| kconfig-frontends with support for kconfig-qconf and/or |
| kconfig-gconf. |
| - Add CONFIG_DEBUG_NOOPT. Now you can independently enable/disable |
| debug symbols and optimization |
| - File system related header files moved to include/nuttx/fs |
| - Video related header files moved to include/nuttx/video |
| - Changes for native Windows build: fix creation of a .version file |
| if one does not exist. Make sure that the APPDIR environment |
| variable is set before configuring. From Max Holtzberg. |
| - Board configuration sub-directory can now be specified. The default |
| need not be used. This is only useful when CONFIG_ARCH_BOARD_CUSTOM |
| is selected and there is no meaningful default sub-directory. |
| - Many functions renamed to better conform with the naming standard: |
| up_buttoninit() renamed to board_button_initialize(), up_buttons() |
| renamed to board_buttons(), up_irqbutton() renamed to |
| board_button_irq(), up_ledinit() renamed to board_led_intialize(), |
| up_ledon() renamed to board_led_on(), and up_ledoff() renamed to |
| board_led_off(). All prototypes removed from board.h header files. |
| Now ONLY prototypes in include/nuttx/arch.h. |
| |
| * Applications |
| |
| - NSH: Refactor. Separate NSH command handling and command execution |
| from NSH line parsing. |
| - NSH: Will now support multiple commands on a command line, each |
| separated with a semi-colon. |
| - NSH: Add support of commands enclosed in back quotes as command |
| arguments. |
| - NSH: Can now handle arguments that are concatenations of constant |
| strings, command return data, application return data, and |
| environment variables. |
| - NSH: Add true and false commands. |
| - NSH: Add support for while-do-done and until-do-done loops. These |
| only work when executing a script file because they depend on the |
| ability to seek in the file to implement the looping behaviors. |
| Can be conditionally compiled out to reduce footprint. |
| - NSH: Loosen up if-then-else-fi syntax to allow a command to be on |
| the same line as the then or else tokens like: |
| "if true; then echo true; else echo false; fi". More like bash. |
| - NSH: Add a break command that can be executed with a loop to |
| terminate the loop immediately. |
| |
| - system/inifile: A simple .INI file parser. |
| - system/vi: Add support for a tiny, VI work-alike editor. This is |
| a minimal full screen editor that works with a terminal emulator |
| that using VT100 commands. |
| |
| Efforts In Progress. The following are features that are partially |
| implemented but present in this release. They are not likely be be |
| completed soon. |
| |
| * kconfig-fronted Configuration: |
| |
| - Conversion of old configurations to use the kconfig-frontends |
| tool is an ongoing effort that will continue for some time. |
| At this time, only 53% of the configurations have been converted |
| to use the kconfig-frontends tools. |
| |
| Bugfixes (see the ChangeLog for details). Some of these are very important: |
| |
| * Core OS |
| |
| - Added missing sem_timedwait() system call. |
| |
| * Networking |
| |
| - Prevent tcp_connect callback from being double freed. From Max |
| Holtzberg |
| - uiplib: Support new definitions and state passing for network |
| device status. From Maz Holtzberg. |
| |
| * File Systems |
| |
| - FAT: (1) A correction to FAT cluster allocation, and (2) Fix to some |
| root directory logic that was conditionally done only for FAT 32. |
| Apparently this needs to done for all FAT types. Both from Andrew |
| "Tridge" Tridgell via Lorenz Meier. |
| |
| * Binary Formats |
| |
| - Fix a small memory leak when attempting to load a program from a file. |
| |
| * Cortex-A8/9 |
| |
| - Fix some errors in the cache invalidation logic (only seem to matter |
| for Cortex-A8). |
| - Add more nop's after enabling the MMU. The cortex-a8 seems to need |
| these |
| |
| * Graphics |
| |
| - Fix a typo that caused a compilation error when |
| CONFIG_NXCONSOLE_BPP < 8. From Librae |
| |
| * ARMv7-M |
| |
| - Correct alignment of RAM vector table. |
| - Interrupt handling: Do not disable and enable the IRQ on each |
| entry, (2) this interferes with controlling the IRQ interrupt |
| setting from interrupt handlers, and (3) up_disable_irq() does |
| not work anyway so that this has never done anything. |
| - Fix all implementations of up_disable_irq() for all Cortex-M3 and |
| M4 architectures: To enable an interrupt on the Cortex-M3/4 CPU, |
| you need to set a bit in the ISER register. To disable the |
| interrupt, you need to set a bit in the ICER register. Existing |
| logic was trying to disable interrupts by clearing the bit in the |
| ISER register. That will not work; writing a '0' to the ISER |
| register has no effect. That means that up_disable_irq() was |
| doing nothing! It turns out that that is not really important |
| because up_disable_irq() is not really used for that purpose. But |
| some spurions STM32 ADC interrupts have been reported to me and this |
| turned out to be the cause in that case. Thanks to Manuel Stühn for |
| the tip. |
| |
| * STMicro STM32 |
| |
| - Fix configuration and pin definitions that would prevent building |
| USB for the connectivity and performance lines. |
| - STM32L15xx: Fix a typo in USB pin definitions |
| - Fix pin definition names for SPI2 MOSI and MISO. Noted by Brian Webb |
| - Various fixes for STM32F103ZE SPI3 pin mapping definitions. From |
| Steve Redler IV |
| |
| * STMicro STM32 Boards |
| |
| - Olimex STM32-P107: Failed to build if SPI3 for UEXT is not remapped. |
| From Max Holtzberg |
| |
| * x86 Boards |
| |
| - Add a configuration option to select the -m32 compiler option when |
| building for a 32-bit target on a native 64-bit compiler. So far, |
| only used for the qemu/i486 configuration. |
| - Patch from Matt Campbell to fix 'Error: .size expression for idle_stack |
| does not evaluate to a constant". |
| |
| * Library |
| |
| - strftime(): Needs null termination on the generated string. From |
| Max Holtzberg. |
| - Typo in ctype.h macro name: iscntrl(), not iscontrol(). |
| - If there are no arguments (argc == 1), then getopt() will leave the |
| optind variable in an undefined state (2014-1-20). |
| - ARMv7-M memcpy(): Assembler changes with the gcc-47 distribution |
| from ARM mean that we need to be explicit about branch sizes; one |
| or more of the wide branch opcodes results in bad table branching. |
| From Mike Smith. |
| |
| * Configuration/Build System |
| |
| - Fixes for some tools/ for Windows build issues from Max Holtzberg. |
| - Config.mk: 'cypath' must be called if we are using a Windows native |
| toolchain with the Cygwin 'make' to convert paths to proper |
| Windows paths. From Richard Cochran. |
| - ARM Makefile: Dependency directory list is now computed from the |
| VPATH. From Richard Cochran. |
| - builtin/Makefile: Fixes for native Windows build from Max Holtzberg. |
| - Refactor some configuration dependencies: NSH networking features |
| should depend on netutil selections; netutil selections, in turn, |
| should depend on networking selections. |
| |
| * Applications |
| |
| - NSH: Modified the df -h logic to eliminate truncating numbers in |
| conversion (like 7900 -> 7M). From Ken Pettit. |
| |
| NuttX-7.1 |
| --------- |
| |
| The 101st release of NuttX, Version 7.1, was made on March 15, 2014, |
| and is available for download from the SourceForge website. Note |
| that release consists of two tarballs: nuttx-7.1.tar.gz and |
| apps-7.1.tar.gz. Both may be needed (see the top-level nuttx/README.txt |
| file for build information). |
| |
| The previous NuttX version was 6.33. The NuttX minor version number is |
| incremented on each release, but the major version number is incremented |
| only when an incompatibility with previous versions is included in the |
| release. In this case, the legacy, manual configuration is no longer |
| supported by the NuttX build system beginning with NuttX 7.1. Only the |
| newer configurations generated by the kconfig-frontends tools will generate |
| viable NuttX configurations. |
| |
| All board configurations in the NuttX source tree have been converted to |
| use the newer configuration, but if you have some older style configurations |
| for you board, you will need to convert those configurations to use the |
| kconfig-frontends tools before taking any new code from the repository. See |
| http://www.nuttx.org/doku.php?id=wiki:howtos:convertconfig for some |
| guidelines. |
| |
| Additional new features and extended functionality: |
| |
| * Core OS: |
| |
| - System time logic now includes logic to measure and calculate the |
| CPU load percentage (from David Alessio). This CPU load logic |
| extended to keep counts on each thread. The per-thread CPU is |
| now reported in the procfs under <pid>/loadavg An asynchronous, |
| "external" clock may be used to drive the CPU load calculations |
| for more accurate measurements when needed. |
| |
| * File Systems: |
| |
| - As mentioned above, the per-thread CPU load information is now |
| reported in the procfs under <pid>/loadavg. |
| - Many file system interfaces have been extended to operate on the |
| top-level NuttX pseudo filesystem. These include rmdir, mkdir, |
| rename, and unlink. This capability can be disabled with |
| CONFIG_DISABLE_PSEUDOFS_OPERATIONS in order to keep the footprint |
| small. |
| |
| * Networking: |
| |
| - Numerous updates and improvements to the CC3000 driver from David |
| Sidrane. |
| |
| * Common Drivers: |
| |
| - Defined a mouse interface that is very similar to a touchscreen |
| interface, but allows reporting of all mouse buttons. Also, unlike |
| touchscreen drivers, mouse drivers need to report positional data |
| with no button is pressed so that the mouse position can drive a |
| cursor. |
| - Added support for a USB HID boot mouse device. Cursor support is |
| not integrated and must be provided by the application based upon |
| the reported mouse data. |
| - Support added for the MIO283QT9A LCD from Toby Duckworth. |
| |
| * Atmel SAMA4E: |
| |
| - Added complete architecture support for the Atmel AT91 SAM4E |
| Cortex-M4F parts. |
| |
| * Atmel SAM4E Board Support: |
| |
| - Add board support for the SAM4E-EK board. |
| |
| * Atmel SAM4E Drivers: |
| |
| - Added logic to manage the Cortex-M Cache Control block. |
| - Developed and integrated an Ethernet MAC driver for the SAM4E. |
| - Backported the SAMA5 SPI driver to the SAM3/4 architecture. The |
| SAMA5 version supports both multiple SPI peripherals as needed by the |
| SAM3A and SAM3X and also supports DMAC (but not PDC) needed by the |
| SAM4E. |
| |
| * Atmel SAM D20: |
| |
| - Added basic architecture support for the Atmel AT91 SAM D20 |
| Cortex-M0+ parts. |
| |
| * Atmel SAM D20 Board Support: |
| |
| - Added basic support for SAM D2 Xplained Pro board. Currently, the |
| NuttShell (NSH) works reliably over a serial port. An SPI driver |
| has also been developed. Work with the SAM D20 has been temporarily |
| stopped, however, in order to focus on the SAM4E-EK. |
| |
| * TI Tiva TMC4C123G: |
| |
| - Added architecture support for the TI Tiva TM4C123G parts. This was |
| merged into the existing support for the LM3S and LM4F families. |
| All directory, file, and function references changed from lm to tiva. |
| |
| * TI Tiva TMC4C123G Board Support: |
| |
| - Added basic board support for the TM4C123G-Launchpad. As of this |
| release the TM4C123G-Launchpad board support is untested and likely |
| incomplete. |
| |
| * STMicro STM32 Boards: |
| |
| - The Mikroe STM32F4 can now support the newer MIO283QT9A LCD. From |
| Toby Duckworth. |
| - Miscellaneous changes to better support FPU on STM32F429 Discovery |
| from David Alessio. |
| |
| * NXP LPC2378 Drivers: |
| |
| - Incorporated I2C and SPI drivers for the LPC23xx from Lizhuoyi. |
| |
| * QEMU i486 Drivers: |
| |
| - New QEMU keyboard and VGA drivers from Lizhuoyi. |
| |
| * Documentation: |
| |
| - Added a coding standards document. See |
| http://www.nuttx.org/doku.php?id=documentation:codingstandard |
| |
| * Configuration/Build System: |
| |
| - A configuration option, CONFIG_DEFAULT_SMALL, was added to select |
| default values for configuration variables based upon whether you |
| want a smaller footprint or more features. This is not very useful |
| if you are modifying existing configurations because then the |
| default values do not apply. |
| - CONFIG_DEFAULT_SMALL has been defined on all tiny MCU configurations |
| so that they do not grow so rapidly when new, optional features are |
| added. |
| - The legacy, manual configuration is no longer supported by the |
| NuttX build system. Only the newer configurations generated by |
| the kconfig-frontends tools will generate viable NuttX |
| configurations. All board configurations in the NuttX source tree |
| have been converted to use the newer configuration, but if you have |
| some older style configurations for you board, you will need to |
| convert those configurations to use the kconfig-frontends tools. See |
| http://www.nuttx.org/doku.php?id=wiki:howtos:convertconfig for some |
| guidelines. |
| |
| * Applications: |
| |
| - NSH can now use an EMACS-like command line editor. This CLE, is |
| really more like the traditional readline than is the default, tiny |
| the NuttX readline . |
| - The touchscreen example can now be configured to work with either a |
| touchscreen or a mouse device. |
| - Several NSH commands can now be used to operate on objects in the |
| top-level pseudo-filesystem: rmdir, mkdir, mv, and rm. This |
| capability can be disabled with CONFIG_DISABLE_PSEUDOFS_OPERATIONS |
| in order to keep the footprint small. |
| - If both the CPU load feature and the procfs features are enabled, |
| then the NSH 'ps' command will show the CPU load used by each |
| thread. |
| |
| Bugfixes (see the ChangeLog for details). Some of these are very important: |
| |
| * Core OS: |
| |
| - task_terminate() always returned an error because the return value |
| was not being set correctly (from Gosha). |
| - nanosleep() Fix a missing call to re-enable interrupts (from Jason |
| Jiang). |
| |
| * File Systems: |
| |
| - Fixed an error in the FAT logic that can cause file corruption. The |
| error conditions are rare and only seen with very large files (from |
| Andrew Tridgell). This replaces a previous, partial fix for the same |
| problem. |
| - Fixed memory leaks in the NXFFS open() and stat() implementations |
| (from Lzyy). |
| - The interfaces include opendir(), readdir(), et al, were modified so |
| that errors will not be reported if you attempt to list a empty |
| pseudo-directory. |
| |
| * Networking: |
| |
| - Fix one place where the connection reference count was not being |
| decremented in the socket close() logic. This is really a cosmetic |
| change BUT when CONFIG_DEBUG_NET is enabled, it will cause assertions. |
| - Backed out a small part of the NuttX 6.33 write buffering changed. |
| David G says that this causes problems in connecting to a server. |
| - In DHCPD, there was a place where the logic was calling ntohl() |
| inappropriately; the address was already in the correct order. How |
| could DHCPD have worked with this bug? |
| |
| * TI Tiva/Stellaris Drivers: |
| |
| - Fixed cut'n'paste error that prevented UARTS2-7 from being used with |
| the LM4F120 Launchpad. |
| - Fixed several errors there were unmasked with UARTs > UART2 are |
| enabled (grom Gosha). |
| |
| * Allwinner A10 Drivers: |
| |
| - Fixed cut'n'paste error that prevented UARTS2-7 from being used with |
| the pcDuino. |
| |
| * NXP LPC17xx Drivers: |
| |
| - Fix an compilation error that crept into the LPC17xx USB host driver. |
| |
| * STMicro STM32 Drivers: |
| |
| - Fix cloned typo in the serial driver: FLOWCONTROL vs FLOWCONROL. |
| - Disable SPI before changing DPI CR1 register (from David Sidrane). |
| - stm32 TIM: Set the timer CCMR when selecting timer channel. From |
| David Sidrane. |
| - Fix typo in a Makefile: stm32_pwm.c not stm32_psm.c. Noted by Max |
| Kriegleder. |
| |
| * Library: |
| |
| - More sscanf() bug fixes from David Sidrane. |
| |
| * Header files: |
| |
| - cstdbool: Ignore _Bool8 if CONFIG_C99_BOOL8=y |
| |
| * Configuration/Build System: |
| |
| - Several changes to restore the broken native Windows build |
| |
| * NuttShell (NSH): |
| |
| - Use strncpy vs strcpy in the Telnet console logic to avoid |
| overruning the username and password buffers (from Bertold Van den |
| Bergh). |
| - Add a newline after printing the file in the 'cat' command. This |
| prevents the NSH prompt from be in the same line as the final line |
| of the file in the case where there is no newline at the end of the |
| file. |
| |
| NuttX-7.2 |
| --------- |
| |
| The 102nd release of NuttX, Version 7.2, was made on April 29, 2014, |
| and is available for download from the SourceForge website. Note |
| that release consists of two tarballs: nuttx-7.2.tar.gz and |
| apps-7.2.tar.gz. Both may be needed (see the top-level nuttx/README.txt |
| file for build information). |
| |
| Additional new features and extended functionality: |
| |
| * Core OS: |
| |
| - Add support for CLOCK_REALTIME. From Macs N. |
| |
| * Network Utilities: |
| |
| - Add a very primitive NTP client. |
| - DNS resolver: Long needed major clean up for coding style and |
| unification of naming conventions (resolv vs dns). |
| |
| * Common Drivers: |
| |
| - Add a new MTD driver that can be used to contain another driver and |
| force its apparent sector size to be 512 bytes. |
| - If DCD can support queuing of stall requests, then the USB MSC stall |
| work around delays are not necessary. |
| - Redesign threading module used with the USB MSC driver. It was using |
| pthreads before and these were changed to a kernel thread. The reason |
| for this has to do with task grouping: A pthread is a memory of the |
| group of the task that started it. A kernel thread is independent of |
| the task that started in (other than knowing it as the parent). This |
| allows me to remove so kludge logic to "deparent" the pthread on |
| startup. |
| - Update the MIO183QT-9A LCD driver to support reading from the LCD. |
| From Toby Duckworth. |
| - Timer "upper half" driver and l"lower half" interface definition from |
| Bob Doiron. |
| |
| * Atmel SAM4E/4S Board Support: |
| |
| - All SAM4E configurations updated to run with 120MHz CPU speed and |
| with the CMCC enabled. |
| - Support for the SAM4S Xplained Pro board from Bob Doiron. |
| - Add watchdog driver. From Bob Doiron. |
| |
| * Atmel SAM4E/4S Drivers: |
| |
| - Add a USB full speed device driver (UDP) for the SAM4E. |
| - Add support in HSMCI and SPI drivers to invalidate cached memory if |
| the CMCC is enabled. |
| - Add logic to handle SPI word widths > 8 |
| - Port RTC driver from SAMA5 to SAM3/4. From Bob Doiron. |
| - HSMCI: Extensions from Bob Doiron needed to support PDC-based HSMCI |
| DMA transfers. Verified on the SAM4S Xplained Pro. |
| |
| * Atmel SAMA5: |
| |
| - Add support for the SAMA5D36 chip. |
| - Add functions to calculate PLLACK, PCK, and MCK frequencies given |
| the main clock frequency. |
| - Implemented RAM functions. When booting directly into NOR flash, |
| reconfiguring the PLL while executing out of NOR FLASH causes |
| crashes. This was fixed by David Sidrane by implementing RAM |
| functions. The killer code is copied and executed from ISRAM and |
| the crash is avoided. |
| |
| * Atmel SAMA5 Drivers: |
| |
| - Add support for the SAMA5D3 DBGU. |
| |
| * Atmel SAMA5 Board Support: |
| |
| - Add a board support configuration for the Atmel SAMA5D3 Xplained |
| board running out of SDRAM. When booting from SDRAM, start-up logic |
| needd to query the PMC registers to determine the MCK, PCK, etc. |
| - For all SAMA5 boards, added support for 528MHz clocking. |
| |
| * TI Tiva/Stellaris: |
| |
| - Modify the logic to disables the interrupts and sets the default |
| interrupt priority so that it uses the ICTR to get the number of |
| interrupt lines/registers. This is instead of using some fixed |
| number of initializations based a priori knowledge of the number |
| of interrupt lines in the MCU. |
| |
| * STMicro STM32 |
| |
| - Add support for the STM401RE. From Frank Bennett. |
| |
| * STMicro STM32 Boards: |
| |
| - STM32F4Discovery: Add support to register keyboard and mouse |
| classes if so configured. From Leo. |
| - Add support for the Nucleo-F401RE board. From Frank Bennett. |
| |
| * STMicro STM32 Drivers: |
| |
| - Add STM32 Ethernet IGMP hashing support. From Manuel Stühn. |
| - OTG FS Host: USB host tracing added by Leo. |
| |
| * Freescale Kinetis |
| |
| - Modify the logic to disables the interrupts and sets the default |
| interrupt priority so that it uses the ICTR to get the number of |
| interrupt lines/registers. This is instead of using some fixed |
| number of initializations based a priori knowledge of the number |
| of interrupt lines in the MCU. |
| |
| * NXP LPC17xx |
| |
| - Modify the logic to disables the interrupts and sets the default |
| interrupt priority so that it uses the ICTR to get the number of |
| interrupt lines/registers. This is instead of using some fixed |
| number of initializations based a priori knowledge of the number |
| of interrupt lines in the MCU. |
| |
| * ZiLOG ZNEO Drivers |
| |
| - Added ZNEO ESPI driver. |
| |
| * Library: |
| |
| - Finish incomplete support for ferror(). From Macs N. |
| |
| * Documentation: |
| |
| - UsbTrace.html: Add some discussion of the USB monitor. |
| |
| * Configuration/Build System: |
| |
| - compiler.h: Add macro UNUSED() that can be used to eliminate |
| warnings about variables that are set to values that are not |
| used. |
| |
| * Debugging Support: |
| |
| - Add a configuration option to enable dumping of the USB trace buffer |
| on assertion. |
| |
| * Applications: |
| |
| - IGMP Example: Fill out Kconfig file; update makefile so that the |
| IGMP example can be used as an NSH built-in application. From Manuel |
| Stühn. |
| - lcdrw Example: Fill out empty Kconfig file. |
| - touchscreen Example: Add a configuration option to indicate if |
| architecture-specific initialized is required, yes or no. |
| - System usbmsc: Back out the USBMSC daemon... it is no longer needed |
| with the recent fix to the USBMSC class driver. |
| - NSH: malloc/free IOBUFFER for 'cat' and 'hexdump' commands instead of |
| using the stack. From Bob Doiron. |
| - cpuhog, serialblaster, and serialrx Examples: Stress test examples |
| added by Bob Doiron. |
| |
| Bugfixes (see the ChangeLog for details). Some of these are very important: |
| |
| * Core OS: |
| |
| - errno_get_errno_ptr() and getpid(): Add some checks. If these |
| functions are called very early in initialization before the tasking |
| structures are initialized, they would not behave properly. |
| |
| * Networking: |
| |
| - IGMP-related bug fixes from Manuel Stühn. |
| - In netdev_findbyaddr(), skip network devices that are in the "down" |
| state. It does not make sense to consider an address match with a |
| "down" device. From Brennan Ashton. |
| |
| * Network Utilities: |
| |
| - DHCPD: The correct value of the PAD option. Should be zero, not |
| one. From Brennan Ashton. |
| - Corrections to the NTP client from Manuel Stuehn. |
| |
| * Common Drivers: |
| |
| - usbhost.h: Fix some USB HID-related conditional compilation. From Leo. |
| - USB HID mouse driver: Don't include NAKs from the device in the error |
| count. From Leo. |
| |
| * TI Tiva/Stellaris: |
| |
| - Add corrected control logic for TM4C125GXL based on logic from Daniel |
| Carvalho with modifications. The LM4F120 also works well with this |
| change. |
| |
| * STMicro STM32 Drivers: |
| |
| - STM32 F2 SPI: Correct a mapping for SPI MOSI pin. From dlsitzer. |
| - OTG FS Host: Fixes related to low-speed devices and interrupt |
| endpoints from Leo. Necessary in order to use a USB HID mouse |
| device. |
| - STM32 SDIO: The dmaflight method must be conditioned on |
| CONFIG_SDIO_PREFLIGHT. Noted by Pelle Windestam. |
| - Sourceforge Ticket #26. up_prioritize_irq should not be called |
| if CONFIG_ARCH_IRQPRIO is not defined. |
| |
| * Atmel SAM3/4: |
| |
| - Fix some backward conditional compilation in the start-up logic. |
| - Fix initialization of the default interrupt priorities. This is |
| a critical bug fix! |
| - SAM4S: Fix error in macros that disable peripheral clocking. From |
| Bob Doiron. |
| |
| * Atmel SAMA5: |
| |
| - Fix double mapping of SDRAM when executing out of SDRAM. In this |
| case, the SDRAM was already mapping in arm_head.S. |
| - In clock configuration, the BMS bit handling was fixed to match |
| what the HW really does. From David Sidrane. |
| - TLB Bufferable bit did not do what I thought it was going to do. |
| I though I was selecting a write-through cache, but the result was |
| that all caching was disabled and NOR FLASH accesses were very slow. |
| - Move the un-definitions of __ramfuncs__ from the clock configuration |
| .c file to the .h file. Otherwise, the attribute will be applied |
| differently for the prototype and the function definition. |
| Sourceforge patch 38 from Luciano Neri. |
| |
| * Atmel SAMA5 Drivers: |
| |
| - Fix a case in the UDPHS driver where received status was not being |
| cleared, causing OUT SETUP commands to fail. |
| - TWI data sending fails to increment the number of byes transferred |
| on first byte sent. from David Sidrane. |
| - If running from SDRAM, then BOARD_MCK_FREQUENCY is not a constant |
| and cannot be used in conditional compilation. All drivers fixed |
| EXCEPT for the PWM and Timer/Counter drivers which will need some |
| more extensive redesign. |
| |
| * Atmel SAMA5 Boards: |
| |
| - SAMA5D3x-EK: The red LED is controlled by PE24 which is also the |
| camera/ISI interface reset line. So if the a camera is installed, |
| then we must avoid controlling the red LED or we inadvertently |
| also reset the camera module. Noted by David Sidrane. |
| - Header files reference type xcpt_t in certain configurations and |
| so must include nuttx/irq.h. This is Sourceforge bug 25 submitted |
| by Luciano Neri. |
| |
| * NXP LPC17xx Drivers |
| |
| - arm/src/lpc17xx/Kconfig and lpc17_ethernet.c: The default interrupt |
| priority should be default, not the highest priority (2014-4-19). |
| |
| * ZiLOG ZNEO |
| |
| - Fix calculation of timer reload and prescaler. The timer frequency |
| was way too fast. |
| |
| * Library: |
| |
| - strncpy(): Change ordering of test and copy. Logic would have |
| failed if n=0; one byte was always copying before testing |
| for the end of the copy. |
| - Fix a counting error in the return value from sscanf(). Noted by |
| kfrolov. Also, sscanf() should return EOF if no values were |
| converted. |
| - Fix a logic error in ftell(). It was simply using the file offset |
| and did not take into account data buffered in memory. From Macs N. |
| - sccanf(): Use stroul() vs strol() with %u format otherwise, range |
| of values is restricted because of sign bit. From kfrolov. |
| |
| * Configuration/Build System: |
| |
| - Fix a build error that occurs when only USB device tracing is enabled. |
| |
| * NuttShell (NSH): |
| |
| - Fix NuttShell version number display in the NSH welcome message. |
| version.h was not being included. |
| |
| * Other Applications: |
| |
| - sysinfo: CONFIG_VERSION_BUILD is a string an needs to be |
| printed with %s, not %d. Noted by Librae. |
| - nxplayer: Compilation failure in one configuration reported by |
| Manuel Stuhn. |
| - System sdcard: Remove an STM32 dependency. From Bob Doiron. |
| - telnetd Example: Naming is confused. In someplaces 'telnetd', |
| and in others 'shell.' All changes to telnetd. Noted by Pelle |
| Windestam. |
| |
| NuttX-7.3 |
| --------- |
| |
| The 103rd release of NuttX, Version 7.3, was made on June 25, 2014, |
| and is available for download from the SourceForge website. Note |
| that release consists of two tarballs: nuttx-7.3.tar.gz and |
| apps-7.3.tar.gz. Both may be needed (see the top-level nuttx/README.txt |
| file for build information). |
| |
| Additional new features and extended functionality: |
| |
| * Core OS: |
| |
| - Dynamic loader: Framework to support Pascal P-Code as a binary |
| format that can be exec'ed from a file system. |
| - Dynamic Loader: Extend the binfmt interface to handle error |
| conditions where format-specific clean-up is needed in the event |
| of error conditions. This is needed by the P-Code binfmt. |
| |
| * Networking |
| |
| - IOB: Add a generic I/O buffer chain logic. This logic uses small, |
| pre-allocated buffers that can be chained together to support |
| transfers of any size, using fewer resources and also without |
| committing in advance to a TCP window size. There is now only |
| one I/O type used in the networking and it is these I/O buffer |
| chains. |
| - TCP Write Buffering: TCP write buffering logic converted to use |
| I/O buffer chains. |
| - TCP Read-Ahead Buffering: TCP read-ahead buffering logic converted |
| to use I/O buffer chains. |
| - Includes logic to support throttling of read-ahead buffering if |
| the read-ahead buffering is competing with write buffering for |
| I/O buffers. |
| - Raw Sockets: Add support for the AF_PACKET socket family. From |
| Daniel Lazlo Sitzer. |
| |
| * Common Drivers: |
| |
| - W25 Serial FLASH driver extended by Mark Whitehorn to support the |
| 8Mbit W25Q80BV part. |
| - Add support for Fujitsu MB85RS1MT RAMTRON part. From Charles Ash. |
| - Enhancements to the generic timer interface to support capture mode |
| from Bob Doiron. |
| - Add an rxflowcontrol method to the serial interface to better |
| support RX flow control. This involves common changes in addition to minor updates to all MCU-specific serial drivers (only fully implemented for the STM32). From Jussi Kivilinna. |
| |
| * Atmel SAM4C |
| |
| - Add support for the SAM4CM family. From Max Neklyudov. |
| |
| * Atmel SAM4E/4S Drivers: |
| |
| - RTT driver from Bob Doiron. Also added high resolution RTC |
| emulation using the RTT for the sub-second counter. |
| |
| * Atmel SAM4E/4S Board Support: |
| |
| - The SAM4S Xplained Pro now uses the extended timer/counter |
| features. From Bob Doiron. |
| - Added a touchscreen and LCD driver for the SAM4E-EK board (the LCD, |
| however, not yet fully functional). |
| |
| * Atmel SAMA5: |
| |
| - Optimized, high performance, assembly language memcpy(). This is |
| the same optimized memcpy() function that Mike Smith brought in |
| for the ARMv7-M with minor tweaks by David Sidrane to work with |
| the ARMv7-A. |
| - Basic support added for the SAMA5D4 family. |
| |
| * Atmel SAMA5 Drivers: |
| |
| - SAMA5D4: New drivers unique to the SAMA5D4: XDMAC, SAIC, and |
| others. |
| |
| * Atmel SAMA5 Board Support: |
| |
| - SAMA5D4-MB: Initial board support for the SAMA5D4-MB/EK boards. |
| |
| * STMicro STM32 |
| |
| - Add support for the STM32152 and STM32162 Medium+ density parts |
| (plus miscellaneous other improvements to the original STM32151 |
| logic). From Jussi Kivilinna and Sami Pelkonen. |
| |
| * STMicro STM32 Boards: |
| |
| - Support for the Olimex STM32 H405 board contributed by Martin |
| Lederhilger. |
| |
| * STMicro STM32 Drivers: |
| |
| - Implement the rxflowcontrol method to the serial interface to better |
| support RX flow control. From Jussi Kivilinna. |
| |
| * NXP LPC17xx Drivers: |
| |
| - Added support for the RTC, ADC, DAC, Timers, PWM and MCPWM |
| drivers. From Max (himax). |
| |
| * NXP LPC17xx Boards: |
| |
| - Support for the RTC, ADC, DAC, Timers, PWM and MCPWM integrated |
| in the LPCXpresso LPC1768 board support. From Max (himax). |
| |
| * Library: |
| |
| - Add support for seek-able streams. |
| |
| * Configuration/Build System: |
| |
| - Restructured network directories, header files, and naming to |
| better modularize the networking and to better integrate the |
| networking with the rest of NuttX. |
| |
| * Applications: |
| |
| - prun: An NSH built-in application that can be used to run |
| Pascal P-Code programs either programatically or from the NSH |
| command line. |
| - netpkt: A "raw" socket test from Lazlo Sitzer. |
| - hex2bin: A library and built-in task to convert from |
| Intel HEX to binary format. It can write the binary data to a file or it can store the binary data to memory (to support, for example, a loader). |
| |
| Bugfixes. Only the most critical bugfixes are listed here (see the ChangeLog for the complete list of bugfixes and for additional, more detailed bugfix information): |
| |
| * Core OS: |
| |
| - Dynamic Loader: Fix an error in a symbol table search function. |
| Noted by Pelle Windestam. |
| - Dynamic Loader: Fix a critical error in exec(); argv was not |
| being passed. |
| - mq_notify: Test for a valid signal number was inverted; this |
| function could not have been working correctly before??? From |
| eero.nurkkala. |
| - Fix typo in conditional compilation: CONFIG_CLOCK_MONOTONIC vs. |
| CLOCK_MONOTONIC. From Manuel Stühn. |
| |
| * Graphics |
| |
| - Fix typos in several RGB conversion macros. |
| |
| * Networking: |
| |
| - Modify TCP timout handling to provent situations where connections |
| may not be freed. From Max Holtzberg. |
| - Improved TCP fallback allocation logic from Max Holtzberg. Also, |
| fallback mechanism is disabled when SO_LINGER is to prevent |
| deadlocks. |
| - Write Buffering: Add checks from buffer allocation failures. From |
| Max/Himax. |
| |
| * Network Utilities: |
| |
| - webserver: httpd_fs_open() should return OK on success and ERROR on |
| failure, not 1 and 0. |
| |
| * Common Drivers: |
| |
| - Make sure that all references to up_prioritize_irq() are |
| conditioned on CONFIG_ARCH_IRQPRIO. Problem noted by Mike Smith. |
| - CC3000: Correct SPI mode for CC3000 is CPOL=0 CHPA=1. From Jussi |
| Kivilinna. |
| - CC3000: Fix a race condition in thread start-up logic. From Jussi |
| Kivilinna. |
| - CC3000: Additional fixes including a compilation failure if POLL is |
| enabled. From Jussi Kivilinna. |
| |
| * USB Drivers: |
| |
| - CDC/ACM and PL2303 device: Reset RX head to avoid resending last |
| serial data when USB cable disconnected/re-connected. From |
| Lizhuoyi. |
| |
| * TI Tiva/Stellaris Boards: |
| |
| - The Nucleo-F401RE has no on-board crystals and, hence, needs to run |
| with the PLL input from the on-chip HSI clock. |
| |
| * STMicro STM32 Drivers: |
| |
| - Serial: Handle configuration for the case of 8-bit data with |
| parity. From Freddie Chopin. |
| |
| * Atmel SAM3/4 Boards: |
| |
| - There was a cloned error in all SAM3/4 board configurations (and |
| for a few other architectures as well). Button interrupts not |
| being disabled after being detached. As a result, unexpected |
| interrupts could be received after the button interrupt was |
| detached. |
| |
| * Atmel SAMA5: |
| |
| - Fix some critical typos in the SAMA5D3 DMA definitions. |
| |
| * STMicro STM32 Drivers |
| |
| - I2C: Add an alternative I2C implementation for the STM32 F103 that |
| works around errata in that specific part. From Patrizio Simona. |
| - RTCC: Add retry logic to RTC initialization. It sometimes takes |
| longer for the RTC to initialize, at least as noted on an F2 part. |
| From Daniel Lazlo Sitzer. |
| |
| * NXP LPC17xx Drivers |
| |
| - GPDMA: Fix an error when DMA is started: The read-modify-write |
| fails when the DMA is started. This is because the value read is |
| not the same as the value set (on write it is the number of |
| transfers to do; on read it is the number of transfers completed). |
| From Lizhuoyi. |
| |
| * Library: |
| |
| - snprintf(): If the size passed to snprintf() is zero, then |
| snprintf() must write nothing, but instead return the size of the |
| buffer needed to hold the entire string. From Sami Pelkonen. |
| |
| * Configuration/Build System: |
| |
| - The alternate console device CONFIG_NSH_CONDEV must not be defined |
| unconditionally. This causes errors when using Telnet sessions. |
| This was solved by adding CONFIG_NSH_ALTCONDEV: CONFIG_NSH_ALTCONDEV enables or disables the feature then, if |
| enabled, CONFIG_NSH_CONDEV provides the alternative console |
| device name. |
| - Many files: Convert all old-style GCC variadic macros to the C99 |
| form. Recent GCC changes tightens up that behavior and can cause |
| some problems (at least for the IAR compiler for some reason). |
| Noted by Bob Grimes. |
| - tools/configure.sh: In-place SED edit messes up permissions on |
| windows. From Hannes Delago. |
| |
| * Build Tools: |
| |
| - tools/mkfsdata.pl: Apparently, the trailing the 0x00 in http |
| server files is seen as a bug in javascript and images. From |
| Max/Himax. |
| |
| * Other Applications: |
| |
| - I2C Tool: Fix to show the updated register address on each |
| fetch (vs. showing the same starting address each time). From |
| Ryan VanSickle. |
| - CLE was not returning the terminating newline character. But |
| reported by Max kriegleder. |