Prep for 5.19 release

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3373 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2011-03-12 22:09:14 +00:00
parent 0f7afd2932
commit 6ea1e6bceb
7 changed files with 360 additions and 315 deletions

View File

@ -1481,7 +1481,7 @@
* Added a new 'kill' command to NSH that will support sending signals to
running NuttX tasks.
5.19 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
5.19 2011-03-12 Gregory Nutt <spudmonkey@racsa.co.cr>
* arch/arm/stm32/stm32_idle.c -- During idle times, the STM32 now uses the
WFI instruction to sleep in a reduced power mode until the next interrupt
@ -1503,7 +1503,7 @@
nsh> cat test.txt
This is a test
* drivers/pipes/pipe_common.c: Driver open method eas not returning an EINTR
* drivers/pipes/pipe_common.c: Driver open method was not returning an EINTR
error when it received a signal. Instead, it just re-started the wait. This
makes it impossible to kill a background pipe operation from NSH.
* include/stdint.h -- Correct some errors in conditional compilation (submitted
@ -1553,3 +1553,5 @@
* configs/olimex-lpc1766stk/slip-httpd - An example that uses SLIP to
provide a serial-port based THTTPD web server.
5.20 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>

View File

@ -807,41 +807,75 @@
</tr>
</table>
<p><b>nuttx-5.18 Release Notes</b>:
<p><b>nuttx-5.19 Release Notes</b>:
<p>
The 65<sup>th</sup> release of NuttX, Version 5.18, was made on February 27, 2011 and is available for download from the
The 66<sup>th</sup> release of NuttX, Version 5.19, was made on March 12, 2011 and is available for download from the
<a href="http://sourceforge.net/projects/nuttx/files/">SourceForge</a> website.
The change log associated with the release is available <a href="#currentrelease">here</a>.
Unreleased changes after this release are available in SVN.
These unreleased changes are listed <a href="#pendingchanges">here</a>.
</p>
<p>
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:
This release includes several new features in various states of integration and maturity:
</p>
<ul>
<li>
Incorporate several important uIP patches -- including the well known patch to handle missing SYNACK.
</li>
<li>
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.
<b>486SX QEMU port</b>.
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.
A large part of the i486 logic was contributed by Biff of
<a href="http://bifferos.bizhat.com">Bifferboard</a> fame.
</li>
<li>
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.
<b>Platform specific application support</b>.
A new <code>apps/</code> directory appears in this port.
This <code>apps/</code> directory provides a mechanism for applications using NuttX to have a highly customizable initialization process.
It supports a set of end-user applications than can be executed
(1) standalone so you can have a fully customizable 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 <code>apps/</code> add-on (and NSH hooks) was contributed by Uros Platise to accomplish just that.
</li>
<li>
USB host support expanded to handle vendor specific USB devices.
<b>Custom NSH <code>/etc/init.d/rcS</code> File</b>.
NSH was also extended to support application specific ROMFS <code>/etc/init.d/rcS</code> start-up scripts.
This feature, as well, as all of the above-mentioned <code>apps/</code> directory support was contributed by Uros Platise
</li>
<li>
Incorporated the LUFA HID parser.
Additional NSH improvements and bug fixes. See the Changelog for details.
</li>
<li>
Various bugfix as detailed in the ChangeLog
<b>SLIP</b>.
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.
</li>
<li>
<b>RAMTROM FRAM Driver</b>.
New RAMTRON FRAM driver (contributed by Uros Platise)
</li>
<li>
<b>16550 UART Driver</b>.
New generic 16550 UART driver.
</li>
<li>
<b>Cortex-M3 Power improvements</b>.
The Cortex-M3 can now waits for Interrupt (WFI) in idle loop for reduced power consumption
(LPC17xx and STM32 only - contributed by Uros Platise))
</li>
<li>
<b><code>waitpid()</code></b>.
New <code>waitpid()</code> system interface.
</li>
<li>
<b>Bugfixes</b>.
Additional bugfixes: pipes, stdint.h, STM32 SDIO and SPI drivers
</li>
</ul>
@ -2039,78 +2073,6 @@ Other memory:
</tr>
</table>
<ul><pre>
nuttx-5.18 2011-02-27 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* Incorporate several uIP patches from http://gitweb.aeruder.net/?p=uip.git;a=summary.
- Lost SYNACK causes connection reset
- Fix missing UDP stats for sent/received packets
- Added support for Cygwin as development/test platform.
* configs/demo9s12ne64 - Integrate new buildroot-1.9 m8s12x toolchain.
* 'uname -o' is used throughout the build logic in bash scripts and also in
Make.defs files in order to distinguish between Cygwin and Linux. However,
the -o option is not standard and is not supported under, for example, OS-X or
Solaris. This was solved by changing all 'uname -o' references to the more
complex: 'uname -o 2>/dev/null || echo &quot;Other&quot;'
* drivers/usbhost/usbhost_enumerate.c -- Add logic to get the VID and PID. This
is necessary in order to support vendor-specific USB devices.
* examplex/wlan, configs/olimex-lpc1766stk/wlan, drivers/usbhost/usbhost_rtl8187.c,
Add infrastructure to support RTL18187 wireless USB.
* configs/nucleus2g -- backed out USB host changes... wrong board.
* Renamed arc/hc/include/mc9s12ne64 and src/mc9s12ne64 -- m9s12. That name is
shorter and more general.
* The NuttX repository has been converted to SVN and can now be found here
http://nuttx.svn.sourceforge.net/viewvc/nuttx/
* configs/mbed/hidkbd -- Added USB host support for the mbed LPC1768 board; add
a USB host HID keyboard configuraion.
* drivers/usbhost/hid_parser.c -- Leverages the LUFA HID parser written by
Dean Camera.
* examples/nsh -- Correct an usage of getopt(): If you stop calling getopt()
before all parameters are parsed, you can leave getopt() in a strange state.
* include/nuttx/fb.h -- Restore missing RGB type that was accidentally removed
when Nokia 6100 support was added.
* Rename arch/pjrc-8051 to arch/8051
* configs/ne64badge -- Add a configuration for the Future Electronics Group
NE64 Badge development board (Freescale MC9S12NE64)
* Changes contributed by Uros Platise:
- Add support for the STM32F103RET6
- configs/vsn - Support for the ISOTEL NetClamps VSN V1.2 ready2go sensor
network platform
* arch/hc, configs/ne64badge -- Development is complete for the Freescale
mc9s12ne64 on the Future Electronics Group NE64 /PoE Badge board. Howeve,
this port remains untested until I figure out this BDM / Code Warrior
and paged build thing
* Added a new 'kill' command to NSH that will support sending signals to
running NuttX tasks.
pascal-2.0 2009-12-21 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* Updated to use standard C99 types in stdint.h and
stdbool.h. This change was necessary for compatibility
with NuttX-5.0 (any beyond).
buildroot-1.9 2011-02-10 &lt;spudmonkey@racsa.co.cr&gt;
* configs/arm926t-defconfig-4.3.3: update arm926t-defconfig-4.2.4
* configs/arm926t-defconfig-nxflat: NXFLAT-only configuration for
arm926
* toolchain/gdb/gdb.mk - Remove ncurses dependency from gdb_target target.
* toolchain/gdb/gdb.mk - Added --disable-werror to GDB configuration line.
GDB 6.8 won't build because the tarbal was released with -Werror enabled and
the build stops on the first warning.
* Add support for Freescale m9s12x using binutils 2.18 and gcc 3.3.6 and
patches available from http://www.msextra.com/tools courtesy of James
Cortina. Add configs/m9x12x-defconfig-3.3.6.
</pre></ul>
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
<a name="pendingchanges">Unreleased Changes</a>
</td>
</tr>
</table>
<ul><pre>
nuttx-5.19 2011-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
@ -2134,7 +2096,7 @@ nuttx-5.19 2011-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
nsh&gt; cat test.txt
This is a test
* drivers/pipes/pipe_common.c -- Driver open method eas not returning an EINTR
* drivers/pipes/pipe_common.c -- Driver open method was not returning an EINTR
error when it received a signal. Instead, it just re-started the wait. This
makes it impossible to kill a background pipe operation from NSH.
* include/stdint.h -- Correct some errors in conditional compilation (submitted
@ -2184,6 +2146,37 @@ nuttx-5.19 2011-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* configs/olimex-lpc1766stk/slip-httpd - An example that uses SLIP to
provide a serial-port based THTTPD web server.
pascal-2.0 2009-12-21 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
* Updated to use standard C99 types in stdint.h and
stdbool.h. This change was necessary for compatibility
with NuttX-5.0 (any beyond).
buildroot-1.9 2011-02-10 &lt;spudmonkey@racsa.co.cr&gt;
* configs/arm926t-defconfig-4.3.3: update arm926t-defconfig-4.2.4
* configs/arm926t-defconfig-nxflat: NXFLAT-only configuration for
arm926
* toolchain/gdb/gdb.mk - Remove ncurses dependency from gdb_target target.
* toolchain/gdb/gdb.mk - Added --disable-werror to GDB configuration line.
GDB 6.8 won't build because the tarbal was released with -Werror enabled and
the build stops on the first warning.
* Add support for Freescale m9s12x using binutils 2.18 and gcc 3.3.6 and
patches available from http://www.msextra.com/tools courtesy of James
Cortina. Add configs/m9x12x-defconfig-3.3.6.
</pre></ul>
<table width ="100%">
<tr bgcolor="#e4e4e4">
<td>
<a name="pendingchanges">Unreleased Changes</a>
</td>
</tr>
</table>
<ul><pre>
nuttx-5.20 2011-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
pascal-2.1 2011-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
buildroot-1.10 2011-xx-xx &lt;spudmonkey@racsa.co.cr&gt;

View File

@ -682,31 +682,31 @@ This is the 30th release of NuttX. This release includes two partially complete
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
* 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.
* 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.
* 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.
@ -722,28 +722,28 @@ 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.
* 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.
* 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.
@ -778,8 +778,8 @@ ZDS-II based targets. All ZDS-II targets now build correctly (but have not been
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
* 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.
@ -792,17 +792,17 @@ 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! 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.
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.
* 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.
@ -815,13 +815,13 @@ 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.
* 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.
@ -834,11 +834,11 @@ 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.
* 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.
@ -852,14 +852,14 @@ 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.
* 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.
@ -928,12 +928,12 @@ 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.
* 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).
* 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.
@ -946,14 +946,14 @@ 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).
* 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.
@ -965,9 +965,9 @@ verified port of Jeff Poskanzer's THTTPD HTTP server (see http://acme.com/softwa
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)
* 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
@ -989,12 +989,12 @@ This is the 44th release of NuttX. This release adds basic support for the STMi
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 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
@ -1010,23 +1010,23 @@ This is the 45th release of NuttX. The release extends the support for the STMi
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).
* 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.
* 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
@ -1040,28 +1040,28 @@ 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
* 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.
* 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.
* 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
@ -1437,62 +1437,62 @@ 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.
* 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.
* 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
* 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
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)
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).
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.
devices -- like SPI and USB --- and will be available in a later
release, time permitting.
* LPC1766, Olimex LPC1766-STK
* 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.
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.
* Additional changes and bugfixes as detailed in the ChangeLog.
nuttx-5.14
^^^^^^^^^^
@ -1503,26 +1503,26 @@ 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.
* 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.
* 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.
* 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.
@ -1542,36 +1542,36 @@ 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).
* 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.
* 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
^^^^^^^^^^
@ -1694,3 +1694,39 @@ identified in the ChangeLog. Headlines would include:
* Incorporated the LUFA HID parser.
* Various bugfix as detailed in the ChangeLog
nuttx-5.18
^^^^^^^^^^
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 customizable initialization process. It
supports a set of end-user applications than can be executed (1) standalone
so you can have a fully customizable 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

View File

@ -163,12 +163,6 @@ volatile pid_t g_lastpid;
pidhash_t g_pidhash[CONFIG_MAX_TASKS];
/* The task ID of the worker thread */
#ifdef CONFIG_SCHED_WORKQUEUE
pid_t g_worker;
#endif
/* This is a table of task lists. This table is indexed by
* the task state enumeration type (tstate_t) and provides
* a pointer to the associated static task list (if there

View File

@ -1,7 +1,7 @@
/****************************************************************************
* sched/work_internal.h
*
* Copyright (C) 2009-2010 Gregory Nutt. All rights reserved.
* Copyright (C) 2009-2011 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@ -81,6 +81,10 @@
extern struct dq_queue_s g_work;
/* The task ID of the worker thread */
extern pid_t g_worker;
/****************************************************************************
* Public Function Prototypes
****************************************************************************/

View File

@ -1,7 +1,7 @@
/****************************************************************************
* sched/work_thread.c
*
* Copyright (C) 2009-2010 Gregory Nutt. All rights reserved.
* Copyright (C) 2009-2011 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
@ -71,6 +71,12 @@
struct dq_queue_s g_work;
/* The task ID of the worker thread */
#ifdef CONFIG_SCHED_WORKQUEUE
pid_t g_worker;
#endif
/****************************************************************************
* Private Variables
****************************************************************************/

View File

@ -32,7 +32,7 @@
# POSSIBILITY OF SUCH DAMAGE.
#
#set -x
set -x
WD=`pwd`
VERSION=$1
@ -43,43 +43,53 @@ ZIP=gzip
# Make sure we know what is going on
if [ -z ${VERSION} ] ; then
echo "You must supply a version like xx.yy.zz as a parameter"
echo "You must supply a version like xx.yy as a parameter"
exit 1;
fi
# Find the directory we were executed from and were we expect to
# see the directory to tar up
# see the directories to tar up
MYNAME=`basename $0`
if [ -x ${WD}/${MYNAME} ] ; then
NUTTX=`dirname ${WD}`
PROJECTS="${WD}/../../.."
else
if [ -x ${WD}/tools/${MYNAME} ] ; then
NUTTX=${WD}
PROJECTS="${WD}/../.."
else
echo "You must cd into the NUTTX directory to execute this script."
exit 1
if [ -x ${WD}/nuttx/tools/${MYNAME} ] ; then
PROJECTS="${WD}/.."
else
echo "You must cd into the NUTTX directory to execute this script."
exit 1
fi
fi
fi
# Get the NuttX directory name and the path to the parent directory
NUTTXDIR=`basename ${NUTTX}`
PROJECTS=`dirname ${NUTTX}`
NUTTXDIR=${PROJECTS}/nuttx-${VERSION}
NUTTX=${NUTTXDIR}/nuttx
APPS=${NUTTXDIR}/apps
# The name of the directory must match the version number
# Make sure that the versioned directory exists
if [ "X$NUTTXDIR" != "Xnuttx-${VERSION}" ]; then
echo "Expected directory name to be nuttx-${VERSION} found ${NUTTXDIR}"
if [ ! -d ${NUTTXDIR} ]; then
echo "Directory ${NUTTXDIR} does not exist"
exit 1
fi
cd ${PROJECTS} || \
{ echo "Failed to cd to ${PROJECTS}" ; exit 1 ; }
if [ ! -d ${NUTTXDIR} ] ; then
echo "${PROJECTS}/${NUTTXDIR} does not exist!"
if [ ! -d nuttx-${VERSION} ] ; then
echo "Directory ${PROJECTS}/nuttx-${VERSION} does not exist!"
exit 1
fi
if [ ! -d ${APPS} ] ; then
echo "Directory ${APPS} does not exist!"
exit 1
fi
@ -124,7 +134,7 @@ fi
# Then zip it
${TAR} ${TAR_NAME} ${NUTTXDIR} || \
${TAR} ${TAR_NAME} nuttx-${VERSION}/nuttx nuttx-${VERSION}/apps || \
{ echo "tar of ${TAR_NAME} failed!" ; exit 1 ; }
${ZIP} ${TAR_NAME} || \
{ echo "zip of ${TAR_NAME} failed!" ; exit 1 ; }