summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-03-12 22:09:14 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-03-12 22:09:14 +0000
commitbb4bde4152e4caf8bb4103d843cea25994ef3c12 (patch)
treefe27d490548897aae21c28e3c63187001fc2ec4e
parentec6b2a92400bf21f8b501d76b7cae54ac7a41381 (diff)
downloadnuttx-5.19.tar.gz
nuttx-5.19.tar.bz2
nuttx-5.19.zip
Prep for 5.19 releasenuttx-5.19
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3373 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--apps/Makefile1
-rw-r--r--apps/README.txt (renamed from apps/README)28
-rw-r--r--apps/exec_nuttapp.c6
-rw-r--r--nuttx/ChangeLog6
-rw-r--r--nuttx/Documentation/NuttX.html167
-rw-r--r--nuttx/ReleaseNotes444
-rw-r--r--nuttx/sched/os_start.c6
-rwxr-xr-xnuttx/sched/work_internal.h6
-rwxr-xr-xnuttx/sched/work_thread.c8
-rwxr-xr-xnuttx/tools/zipme.sh40
10 files changed, 376 insertions, 336 deletions
diff --git a/apps/Makefile b/apps/Makefile
index 4ffca6343..ac07176fb 100644
--- a/apps/Makefile
+++ b/apps/Makefile
@@ -103,6 +103,7 @@ $(BIN): $(OBJS) $(BUILTIN_APPS_BUILT)
$(CC) -- $(CFLAGS) -- $(SRCS) >Make.dep
@touch $@
@for dir in $(BUILTIN_APPS_DIR) ; do \
+ rm -f $$dir/.depend ; \
$(MAKE) -C $$dir TOPDIR="$(TOPDIR)" depend ; \
done
diff --git a/apps/README b/apps/README.txt
index 4ffee90c8..e7bb212e4 100644
--- a/apps/README
+++ b/apps/README.txt
@@ -2,9 +2,7 @@
Application Folder
==================
-This folder provides various applications that can be enabled in the .config
-file and further provides frame-work to include external user applications
-from the ../apps directory.
+This folder provides various applications found in sub-directories.
Application entry points with their requirements are gathered together in
this folder, in two files:
@@ -16,15 +14,12 @@ Application information is collected during the make .depend process.
To execute an application function:
exec_nuttapp() is defined in the include/nuttx/nuttapp.h
-Further, builtin applications may be accessed via pseudo file-system found
-under the nuttx/drivers/sbin directory.
-
NuttShell provides transparent method of invoking the command, when the
-following option is enabled (regardless of sbin pseudo file system):
+following option is enabled:
CONFIG_EXAMPLES_NSH_BUILTIN_APPS=y
To select which application to be included in the build process set your
-preferences the .config file as:
+preferences the nuttx/.config file as:
To include applications under the nuttx apps directory:
CONFIG_BUILTIN_APPS_NUTTX=y/n
@@ -32,14 +27,13 @@ To include applications under the nuttx apps directory:
where each application can be controlled as:
CONFIG_BUILTIN_APPS_<NAME>=y/n
-To include applications under the user ../apps directory:
- CONFIG_BUILTIN_APPS_USER=y/n
-
-When the user defines an option: (NOT IMPLEMENTED YET)
+When the user defines an option:
CONFIG_BUILTIN_APP_START=<application name>
-
-then after initialization of the NuttX OS it starts this application
-using the exec_nuttapp() method.
+
+Note that application name must be provided in ".." as: "hello"
+for the hello application, which starts the immediately after system
+starts:
+ int hello_main(int argc, char *argv[])
Application skeleton can be found under the hello sub-directory,
which shows how an application can be added to the project. One must
@@ -53,6 +47,4 @@ define:
ASRCS = asm source file list as a.asm b.asm ...
CSRCS = C source file list as foo1.c foo2.c ..
- 4. add enable/disable option in the top file in this directory as:
- ifeq CONFIG_BUILTIN_APPS_<NAME>
- ...
+ 4. add application in the apps/Makefile
diff --git a/apps/exec_nuttapp.c b/apps/exec_nuttapp.c
index 3cc4b5139..84e592256 100644
--- a/apps/exec_nuttapp.c
+++ b/apps/exec_nuttapp.c
@@ -124,9 +124,11 @@ int exec_nuttapp(FAR const char *appname, FAR const char *argv[])
{
#ifndef CONFIG_CUSTOM_STACK
i = task_create(nuttapps[i].name, nuttapps[i].priority,
- nuttapps[i].stacksize, nuttapps[i].main, &argv[1]);
+ nuttapps[i].stacksize, nuttapps[i].main,
+ (argv) ? &argv[1] : (const char **)NULL);
#else
- i = task_create(nuttapps[i].name, nuttapps[i].priority, nuttapps[i].main, &argv[1]);
+ i = task_create(nuttapps[i].name, nuttapps[i].priority, nuttapps[i].main,
+ (argv) ? &argv[1] : (const char **)NULL);
#endif
#if CONFIG_RR_INTERVAL > 0
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index 499c81950..3359e5e8f 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -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>
+
diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html
index b75971671..d7187464f 100644
--- a/nuttx/Documentation/NuttX.html
+++ b/nuttx/Documentation/NuttX.html
@@ -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>
+ <li>
+ <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>
+ <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>
+ <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>
+ Additional NSH improvements and bug fixes. See the Changelog for details.
+ </li>
<li>
- Incorporate several important uIP patches -- including the well known patch to handle missing SYNACK.
+ <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>
- 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>RAMTROM FRAM Driver</b>.
+ New RAMTRON FRAM driver (contributed by Uros Platise)
</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>16550 UART Driver</b>.
+ New generic 16550 UART driver.
</li>
<li>
- USB host support expanded to handle vendor specific USB devices.
+ <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>
- Incorporated the LUFA HID parser.
+ <b><code>waitpid()</code></b>.
+ New <code>waitpid()</code> system interface.
</li>
<li>
- Various bugfix as detailed in the ChangeLog
+ <b>Bugfixes</b>.
+ Additional bugfixes: pipes, stdint.h, STM32 SDIO and SPI drivers
</li>
</ul>
@@ -2040,78 +2074,6 @@ Other memory:
</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;
* arch/arm/stm32/stm32_idle.c -- During idle times, the STM32 now uses the
@@ -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;
diff --git a/nuttx/ReleaseNotes b/nuttx/ReleaseNotes
index 897672130..a00ac19b5 100644
--- a/nuttx/ReleaseNotes
+++ b/nuttx/ReleaseNotes
@@ -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.
-
- * 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.
+ * 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.
@@ -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
diff --git a/nuttx/sched/os_start.c b/nuttx/sched/os_start.c
index 9b5fd4938..5b5e659e7 100644
--- a/nuttx/sched/os_start.c
+++ b/nuttx/sched/os_start.c
@@ -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
diff --git a/nuttx/sched/work_internal.h b/nuttx/sched/work_internal.h
index a25c9615b..56f5e5d56 100755
--- a/nuttx/sched/work_internal.h
+++ b/nuttx/sched/work_internal.h
@@ -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
****************************************************************************/
diff --git a/nuttx/sched/work_thread.c b/nuttx/sched/work_thread.c
index bbf6a3bb1..49542b532 100755
--- a/nuttx/sched/work_thread.c
+++ b/nuttx/sched/work_thread.c
@@ -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
****************************************************************************/
diff --git a/nuttx/tools/zipme.sh b/nuttx/tools/zipme.sh
index edc0e4251..a80ccd5e7 100755
--- a/nuttx/tools/zipme.sh
+++ b/nuttx/tools/zipme.sh
@@ -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 ; }