c615c62e94
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3323 42af7a65-404d-4744-a932-0658087f49c3
1697 lines
72 KiB
Plaintext
1697 lines
72 KiB
Plaintext
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 relese 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 detailedin 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 bufixes 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 releaseto correct a
|
|
number of problems reported to me (thanks Didier!). This release does include the
|
|
final changes complete the FAT filesystem logic including stat(), tatfs(), and non-
|
|
standard APIs to manage FAT
|
|
attributes. At present,FAT long file names and file trunction() 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, and (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 exepcted 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 exitted.
|
|
|
|
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
|
|
microcontrooler (EZ80F91 chip) and configurations fot 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'in 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 amongst
|
|
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 commands
|
|
- 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
|
|
- and 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 prohibit 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', andTFTP 'get' and 'put'
|
|
commands (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,
|
|
succesfully 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
|
|
adaptor). This drver 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 Octobor 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 Octobor 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 managment 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 iother important errors in the FAT lseek implementation:
|
|
(1) the sectors-per-cluster value was being reset to "1" and (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 inital check-in).
|
|
* Partially developed a graphics framework based on the framebuffer drivers,
|
|
however, this will not be ready for use for a few more release. Currently
|
|
this includes only a few color conversion routines and some rasteizing 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 subystem 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, release also adds the following features
|
|
which were not tested as of the time of the release:
|
|
|
|
* Board support fot 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 Februrary 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 Februrary 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 intrrupts and 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:
|
|
|
|
o 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.
|
|
o 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:
|
|
|
|
o 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.
|
|
|
|
o 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 orovide 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
|
|
ANSII 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:
|
|
|
|
o If you include sys/types.h to get the non-standard, fixed width
|
|
integer types (uint32, uint16, ubyte, etc.), that is no longer
|
|
necessary.
|
|
o Instead, you will need to include stdint.h where the new fixed width
|
|
integer types are defined (uint32_t, uint16_t, uint8_t, etc.).
|
|
o 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
|
|
|
|
o 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.
|
|
|
|
o Fixed an important error in the RX FIFO handling logic of the LM3S6918
|
|
Ethernet driver.
|
|
o Corrected the handling of TCP sequence numbers in the TCP stack.
|
|
o 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:
|
|
|
|
o 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 architecutre 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.
|
|
|
|
o 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 suport for one new achitecture:
|
|
|
|
* A basic port for the NXP LPC2378 MCU on the Olimex-LPC2378 development board
|
|
was contributed by Rommel Marcelo.
|
|
|
|
And extensions to two existing architures:
|
|
|
|
* 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 memroy
|
|
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 (See NOTE).
|
|
|
|
NOTE: 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 occured 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, and (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 configuratino 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 libraris to produce the
|
|
final executable on the second pass. This two pass build is currently
|
|
only used to support the On-Demand paging feature: The first pass
|
|
link forces critical logic into the locked text region; the second pass
|
|
builds the NuttX executable more-or-less as normal.
|
|
* CONFIG_APP_DIR. Generalized the way in which applications are built
|
|
and linked with NuttX. The new configuration CONFIG_APP_DIR replaces
|
|
CONFIG_EXAMPLE. CONFIG_EXAMPLE used to identify the sub-directory within
|
|
the NuttX examples/ directory that held the example application to be
|
|
built. That made it awkward to configure to build an application that
|
|
resides outside of the NuttX examples/ directory. CONFIG_APP_DIR is
|
|
more general; it can be used to refer to any directory containing the
|
|
application to be built.
|
|
|
|
For people who have their own configurations and/or Makefiles,
|
|
you will need to make a couple of changes:
|
|
|
|
- Replace all occurrences of CONFIG_EXAMPLE=foobar with
|
|
CONFIG_APP_DIR=examples/foobar in all of the configuration
|
|
files.
|
|
- Replace any occurrences of examples/$(CONFIG_EXAMPLE) with
|
|
$(CONFIG_APP_DIR)
|
|
- Replace any occurrences of lib$(CONFIG_EXAMPLE)$(LIBEXT)
|
|
with libapp$(LIBEXT) in your Makefiles.
|
|
- Check any other occurrences of CONFIG_EXAMPLE.
|
|
|
|
* Several bugfixes are included as well as code changes to eliminate
|
|
some warnings. See the ChangeLog for details.
|
|
|
|
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), and
|
|
* 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 propogated 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 mad on November 27, 2010. This
|
|
release includes multiple, important bugfixes as well as a new driver for
|
|
the NXP LPC1766.
|
|
|
|
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 repititive 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 the <a href="ttp://www.nuttx.org/NuttShell.html">NSH User Guide</a>),
|
|
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 mad on December 12, 2010. This
|
|
release includes several bugfixes as well as feature enhancements, primarily
|
|
for the Olimex LPC1766-STK board.
|
|
|
|
Important bugfxes 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 criticality (see the ChangeLog for
|
|
details).
|
|
|
|
And feature enhancements:
|
|
|
|
* The LPC176x Ethernet driver was using all of AHB SRAM Bank0 for Ethernet
|
|
packet buffers (16Kb). An option was added to limit the amount of SRAM
|
|
used for packet buffering and to re-use any extra Bank0 memory for heap.
|
|
* 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 infrstruture 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
|
|
o include/nuttx/usb/usbhost.h. All structures and APIs needed to work
|
|
with USB host-side drivers are provided in this header file.
|
|
o 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.
|
|
o 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
|
|
o 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 registery. 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,
|
|
o 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.
|
|
o 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 intialization entry point
|
|
that is called from the application at initialization time. This
|
|
driver calls usbhost_registerclass() during this initialization in
|
|
order to makes itself available in the event the the device that it
|
|
supports is connected.
|
|
Examples: The function usbhost_storageinit() in the file
|
|
drivers/usbhost/usbhost_storage.c
|
|
2. Each application must include a waiter thread thread that (1) calls
|
|
the USB host controller driver's wait() to detect the connection of a
|
|
device, and then (2) call the USB host controller driver's enumerate
|
|
method to bind the registered USB host class driver to the USB host
|
|
controller driver.
|
|
Examples: The function nsh_waiter() in the file
|
|
configs/nucleus2g/src/up_nsh.c and the function nsh_waiter() in the
|
|
file configs/olimex-lpc1766stk/src/up_nsh.c.
|
|
3. As part of its operation during the binding operation, the USB host
|
|
class driver will register an instances of a standard NuttX driver
|
|
under the /dev directory. To repeat the above example, the USB host
|
|
mass storage class driver (drivers/usbhost/usbhost_storage.c) will
|
|
register a standard, NuttX block driver interface (like /dev/sda)
|
|
that can be used to mount a file system just as with any other other
|
|
block driver instance.
|
|
Examples: See the call to register_blockdriver() in the function
|
|
usbhost_initvolume() in the file drivers/usbhost/usbhost_storage.c.
|
|
|
|
nuttx-5.17
|
|
^^^^^^^^^^
|
|
|
|
The 64th release of NuttX, Version 5.17, was made on January 19, 2011 and is
|
|
available for download from the SourceForge website. This release follows
|
|
close on the heels of the 5.16 release and extends the USB host capabilities
|
|
first introduced in that version.
|
|
|
|
1. 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.
|
|
2. 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 would 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
|
|
|