summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-10-02 00:55:32 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-10-02 00:55:32 +0000
commit145c74dbfc283479225bdeec6d465bc52cd2aa55 (patch)
tree899e77aee2d18efebb5650abff18730895f055d1
parent4f0f900f2da8a2f1ddd7ef6f8031cd2ffed30a5f (diff)
downloadnuttx-5.11.tar.gz
nuttx-5.11.tar.bz2
nuttx-5.11.zip
Prep for 5.11 Releasenuttx-5.11
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2960 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--nuttx/ChangeLog5
-rw-r--r--nuttx/Documentation/NuttX.html157
-rw-r--r--nuttx/ReleaseNotes18
-rw-r--r--nuttx/TODO14
-rwxr-xr-xnuttx/configs/ea3131/README.txt6
-rw-r--r--nuttx/sched/Makefile10
-rw-r--r--nuttx/sched/sem_holder.c13
-rw-r--r--nuttx/sched/sem_internal.h4
8 files changed, 99 insertions, 128 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index b2794cf70..d2ae952ac 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -1265,7 +1265,7 @@
are after this point, but really causes problems if you want to handle
data and prefectch aborts which are within this zeroed region.
-5.11 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
+5.11 2010-10-01 Gregory Nutt <spudmonkey@racsa.co.cr>
* configs/ea3131/src/up_fillpage.c - Added new configuration item
CONFIG_PAGING_BINPATH. If CONFIG_PAGING_BINPATH is defined, then it
@@ -1286,4 +1286,7 @@
to work correctly with these changes in place.
* examples/ostest/prioinherit.c - Need to reinitialize globals if
test is ran repeatedly in a loop.
+ * configs/ez80f910200zco - Updated to used ZDS-II 4.11.1
+
+5.12 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html
index b90591958..89170b1b3 100644
--- a/nuttx/Documentation/NuttX.html
+++ b/nuttx/Documentation/NuttX.html
@@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
- <p>Last Updated: September 28, 2010</p>
+ <p>Last Updated: October 1, 2010</p>
</td>
</tr>
</table>
@@ -772,72 +772,39 @@
</tr>
</table>
-<p><b>nuttx-5.10 Release Notes</b>:
+<p><b>nuttx-5.11 Release Notes</b>:
<p>
- This 57<sup>th</sup> release of NuttX, Version 5.10, was made on September 7, 2010 and is available for download from the
+ This 58<sup>th</sup> release of NuttX, Version 5.11, was made on October 1, 2010 and is available for download from the
<a href="http://sourceforge.net/project/showfiles.php?group_id=189573">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 CVS.
These unreleased changes are listed <a href="#pendingchanges">here</a>.
</p>
<p>
- This release includes a combination of some new features as well as several bugfixes.
- New features include:
+ This is primarily a bugfix release and includes some important corrections to the code:
<ul>
<li>
- <b>TI/Luminary Stellaris LM3S9B96</b>.
- Header file changes contributed by Tiago Maluta.
+ One very important bug fixes a race condition that can occur using
+ semaphores that can be awakened by signals. Under this particular
+ race condition, a task could hang waiting for a semaphore.
</li>
<li>
- <b>TI/Luminary Stellaris LM3S8962</b>.
- Header file changes and support for the Stellaris LM3S8962 Ethernet+CAN Evaluation Board contributed by Larry Arnold.
+ Corrections to lm3s8962 port contributed by Larry Arnold. That
+ port is purported to work correctly with these changes in place.
</li>
+ </ul>
+</p>
+<p>
+ Plus less critical bugfixes as detailed in the ChangeLog. New features
+ include:
+ <ul>
<li>
- <b>On-Demand Paging Support</b>.
- The basic logic for the On-Demand Paging feature is complete, implemented for the NXP LPC3131, and partially tested.
- See <a href="http://www.nuttx.org/NuttXDemandPaging.html">On-Demand Paging Documentation</a>.
- Some additional test infrastructure will be needed in order to complete the verification.
- See the EA3131 <a href="http://nuttx.cvs.sourceforge.net/viewvc/nuttx/nuttx/configs/ea3131/README.txt?view=log">README</a> file for details.
+ * A new configuration to support the mbed.org LPC1768 board (Contributed
+ by Dave Marples), and
</li>
<li>
- <b>Two Pass Build Support</b>.
- The make system now supports a two pass build where a relocatable, partially linked object is created on the first pass and that object is linked with the NuttX libraris to produce the final executable on the second pass.
- This two pass build is currently only used to support the On-Demand paging feature:
- The first pass link forces critical logic into the locked text region;
- the second pass builds the NuttX executable more-or-less as normal.
- <li>
- <b><code>CONFIG_APP_DIR</code></b>.
- Generalized the way in which applications are built and linked with NuttX.
- The new configuration <code>CONFIG_APP_DIR</code> replaces <code>CONFIG_EXAMPLE</code>.
- <code>CONFIG_EXAMPLE</code> used to identify the sub-directory within the NuttX <code>examples/</code> directory that held the example application to be built.
- That made it awkward to configure to build an application that resided outside of the NuttX <code>examples/</code> directory.
- <code>CONFIG_APP_DIR</code> is more general;
- it can be used to refer to any directory containing the application to be built.
- <ul>
- <p><small>
- For people who have their own configurations and/or Makefiles, you will need to make a couple of changes:
- <ul>
- <li>
- Replace all occurrences of <code>CONFIG_EXAMPLE=foobar</code> with <code>CONFIG_APP_DIR=examples/foobar</code> in all of the configuration files.
- </li>
- <li>
- Replace any occurrences of <code>examples/$(CONFIG_EXAMPLE)</code> with <code>$(CONFIG_APP_DIR)</code>
- </li>
- <li>
- Replace any occurrences of <code>lib$(CONFIG_EXAMPLE)$(LIBEXT)</code> with <code>libapp$(LIBEXT)</code> in your Makefiles.
- </li>
- <li>
- Check any other occurrences of <code>CONFIG_EXAMPLE</code>.
- </li>
- </ul>
- </small></p>
- </ul>
- </li>
- <li>
- <b>Other</b>.
- Several bugfixes are included as well as code changes to eliminate some warnings.
- See the ChangeLog for details.
+ * A driver for the Atmel AT45DB161D 4Mbit SPI FLASH part.
</li>
</ul>
</p>
@@ -1887,50 +1854,28 @@ Other memory:
</table>
<ul><pre>
-nuttx-5.10 2010-09-07 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * configs/ea3131/locked - Create logic to support a two pass build
- process: The first pass forces critical logic into the locked text
- region, the second pass builds the NuttX executable more-or-less as
- normal.
- * Makefile, arch/arm/src/Makefile, configs/ea3131 - Add logic to
- support a two-pass final link. This logic is only in place in
- the arch/arm/src/Makefile for now.
- * arch/arm/src/lpc17xx/lpc17_internal.h - Add missing parentheses in
- macros definitions (patch submitted by Tiago Maluta).
- * Documents/NuttxPortingGuide.html, configs/README.txt, etc. -
- Replaced CONFIG_EXAMPLE with CONFIG_APP_DIR (see documents for
- desciption). This allows NuttX application code to be built
- outside of the examples/ directory.
-
- For people who have their own configurations and/or Makefiles,
- you will need to make a couple of changes:
-
- - Replace all occurrences of CONFIG_EXAMPLE=foobar with
- CONFIG_APP_DIR=examples/foobar in all of the configuration
- files.
- - Replace any occurrences of examples/$(CONFIG_EXAMPLE) with
- $(CONFIG_APP_DIR)
- - Replace any occurrences of lib$(CONFIG_EXAMPLE)$(LIBEXT)
- with libapp$(LIBEXT) in your Makefiles.
- - Check any other occurrences of CONFIG_EXAMPLE.
-
- * arch/arm/src/lpc313x/lpc313x_spi.c - Fix compilation error when
- when CONFIG_DEBUG is enabled.
- * arch/arm/src/lm3s and arch/arm/include/lm3s - Support for the
- lm3s8962 contributed by Larry Arnold.
- * configs/lm328962-ek - Support for the TI/Stellaris EKC-LM3S8962
- board (also contributed by Larry Arnold).
- * arch/arm/src/lpc313x/lpc313x_boot.c - The call to lpc313x_boardinitialized()
- should not be conditioned on CONFIG_ARCH_LEDs being defined!
- * arch/arm/src/lpc313x/ - APB0 and APB1 cannot lie in different
- sections; they are too close together.
- * arch/arm/src/lpc313x/lpc13x_boot.c - Resetting all of the clocking
- had a side effect of wiping out the first 6 words of memory where the
- interrupt vectors are located (and also not resetting the fractional
- dividers). This is not usually noticeable because the IRQ vectors
- are after this point, but really causes problems if you want to handle
- data and prefectch aborts which are within this zeroed region.
+nuttx-5.11 2010-10-01 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
+
+ * configs/ea3131/src/up_fillpage.c - Added new configuration item
+ CONFIG_PAGING_BINPATH. If CONFIG_PAGING_BINPATH is defined, then it
+ is the full path to a file on a mounted file system that contains
+ a binary image of the NuttX executable. Pages will be filled by
+ reading from offsets into this file that correspond to virtual
+ fault addresses. up_fillpage.c implements logic to perform page
+ files using the CONFIG_PAGING_BINPATH file.
+ * configs/mbed - Add configuration to support the mbed.org LPC1768
+ board (Contributed by Dave Marples).
+ * sched/sem_wait.c and sem_waitirq.c - Eliminate a race condition
+ that can occur when a semaphore wait is interrupt by a signal.
+ (see email thread: http://tech.groups.yahoo.com/group/nuttx/message/530)
+ * drivers/mtd/at45db.c - Add a driver for the Atmel AT45DB161D 4Mbit
+ SPI FLASH part (untested on initial check-in).
+ * arch/arm/src/lm3s and arch/arm/include/lm3s - Corrections for the
+ lm3s8962 port contributed by Larry Arnold. That port is purported
+ to work correctly with these changes in place.
+ * examples/ostest/prioinherit.c - Need to reinitialize globals if
+ test is ran repeatedly in a loop.
+ * configs/ez80f910200zco - Updated to used ZDS-II 4.11.1
pascal-2.0 2009-12-21 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
@@ -1960,27 +1905,7 @@ buildroot-1.8 2009-12-21 &lt;spudmonkey@racsa.co.cr&gt;
</table>
<ul><pre>
-nuttx-5.11 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * configs/ea3131/src/up_fillpage.c - Added new configuration item
- CONFIG_PAGING_BINPATH. If CONFIG_PAGING_BINPATH is defined, then it
- is the full path to a file on a mounted file system that contains
- a binary image of the NuttX executable. Pages will be filled by
- reading from offsets into this file that correspond to virtual
- fault addresses. up_fillpage.c implements logic to perform page
- files using the CONFIG_PAGING_BINPATH file.
- * configs/mbed - Add configuration to support the mbed.org LPC1768
- board (Contributed by Dave Marples).
- * sched/sem_wait.c and sem_waitirq.c - Eliminate a race condition
- that can occur when a semaphore wait is interrupt by a signal.
- (see email thread: http://tech.groups.yahoo.com/group/nuttx/message/530)
- * drivers/mtd/at45db.c - Add a driver for the Atmel AT45DB161D 4Mbit
- SPI FLASH part (untested on initial check-in).
- * arch/arm/src/lm3s and arch/arm/include/lm3s - Corrections for the
- lm3s8962 port contributed by Larry Arnold. That port is purported
- to work correctly with these changes in place.
- * examples/ostest/prioinherit.c - Need to reinitialize globals if
- test is ran repeatedly in a loop.
+nuttx-5.12 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
pascal-2.1 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
diff --git a/nuttx/ReleaseNotes b/nuttx/ReleaseNotes
index 8120cf14f..e88b4d79e 100644
--- a/nuttx/ReleaseNotes
+++ b/nuttx/ReleaseNotes
@@ -1413,3 +1413,21 @@ some new features as well as several bugfixes. New features include:
* Several bugfixes are included as well as code changes to eliminate
some warnings. See the ChangeLog for details.
+
+nuttx-5.11
+^^^^^^^^^^
+
+This is the 58th release of NuttX. This is a bugfix release.
+
+ * One very important bug fixes a race condition that can occur using
+ semaphores that can be awakened by signals. Under this particular
+ race condition, a task could hang waiting for a semaphore.
+ * Corrections to lm3s8962 port contributed by Larry Arnold. That
+ port is purported to work correctly with these changes in place.
+
+Plus less critical bugfixes as detailed in the ChangeLog. New features
+include:
+
+ * A new configuration to support the mbed.org LPC1768 board (Contributed
+ by Dave Marples), and
+ * A driver for the Atmel AT45DB161D 4Mbit SPI FLASH part,
diff --git a/nuttx/TODO b/nuttx/TODO
index e1fed73e3..52ba42407 100644
--- a/nuttx/TODO
+++ b/nuttx/TODO
@@ -1,5 +1,5 @@
-NuttX TODO List (Last updated September 30, 2010)
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+NuttX TODO List (Last updated October 1, 2010)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
(5) Task/Scheduler (sched/)
(1) On-demand paging (sched/)
@@ -26,7 +26,7 @@ NuttX TODO List (Last updated September 30, 2010)
(2) ARM/i.MX (arch/arm/src/imx/)
(4) ARM/LPC17xx (arch/arm/src/lpc17xx/)
(7) ARM/LPC214x (arch/arm/src/lpc214x/)
- (1) ARM/LPC313x (arch/arm/src/lpc313x/)
+ (2) ARM/LPC313x (arch/arm/src/lpc313x/)
(3) ARM/STR71x (arch/arm/src/str71x/)
(4) ARM/LM3S6918 (arch/arm/src/lm3s/)
(5) ARM/STM32 (arch/arm/src/stm32/)
@@ -794,7 +794,7 @@ o ARM/LPC313x (arch/arm/src/lpc313x/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Description: arch/arm/src/lpc313x/lpc313x_spi.c contains logic that is specific to the
- Embedded Artist's ea3131 board. We need to abstract the assignmen of SPI
+ Embedded Artist's ea3131 board. We need to abstract the assignment of SPI
chip selects and logic SPI functions (like SPIDEV_FLASH). My thoughts are:
- Remove lpc313x_spiselect and lpc313x_spistatus from lpc313x_internal.h
- Remove configs/ea3131/src/up_spi.c
@@ -806,6 +806,12 @@ o ARM/LPC313x (arch/arm/src/lpc313x/)
Status: Open
Priority: High if you want to use SPI on any board other than the ea3131.
+ Description: arch/arm/src/lpc313x/lpc313x_spi.c may or may not be functional. It was
+ reported to be working, but I was unable to get it working with the
+ Atmel at45dbxx serial FLASH driver.
+ Status: Open
+ Priority: High if you need to use SPI.
+
o ARM/STR71x (arch/arm/src/str71x/)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/nuttx/configs/ea3131/README.txt b/nuttx/configs/ea3131/README.txt
index f1aec37ed..db6fc0b8d 100755
--- a/nuttx/configs/ea3131/README.txt
+++ b/nuttx/configs/ea3131/README.txt
@@ -424,6 +424,12 @@ On-Demand Paging
CONFIG_PAGING_M25PX=y
+ NOTE: See the TODO list in the top-level directory:
+
+ "arch/arm/src/lpc313x/lpc313x_spi.c may or may not be functional. It was
+ reported to be working, but I was unable to get it working with the
+ Atmel at45dbxx serial FLASH driver."
+
Alternative:
------------
diff --git a/nuttx/sched/Makefile b/nuttx/sched/Makefile
index b11511b65..31e09f2aa 100644
--- a/nuttx/sched/Makefile
+++ b/nuttx/sched/Makefile
@@ -89,7 +89,10 @@ MQUEUE_SRCS = mq_open.c mq_close.c mq_unlink.c \
mq_send.c mq_timedsend.c mq_sndinternal.c \
mq_receive.c mq_timedreceive.c mq_rcvinternal.c \
mq_setattr.c mq_getattr.c mq_initialize.c mq_descreate.c \
- mq_findnamed.c mq_msgfree.c mq_msgqfree.c mq_waitirq.c
+ mq_findnamed.c mq_msgfree.c mq_msgqfree.c
+ifneq ($(CONFIG_DISABLE_SIGNALS),y)
+MQUEUE_SRCS += mq_waitirq.c
+endif
ifneq ($(CONFIG_DISABLE_SIGNALS),y)
MQUEUE_SRCS += mq_notify.c
endif
@@ -125,7 +128,10 @@ endif
SEM_SRCS = sem_initialize.c sem_init.c sem_destroy.c\
sem_open.c sem_close.c sem_unlink.c \
sem_wait.c sem_trywait.c sem_post.c sem_getvalue.c \
- sem_waitirq.c sem_findnamed.c
+ sem_findnamed.c
+ifneq ($(CONFIG_DISABLE_SIGNALS),y)
+SEM_SRCS += sem_waitirq.c
+endif
ifeq ($(CONFIG_PRIORITY_INHERITANCE),y)
SEM_SRCS += sem_holder.c
endif
diff --git a/nuttx/sched/sem_holder.c b/nuttx/sched/sem_holder.c
index 1c3126f2d..28d74a868 100644
--- a/nuttx/sched/sem_holder.c
+++ b/nuttx/sched/sem_holder.c
@@ -734,13 +734,14 @@ void sem_releaseholder(FAR sem_t *sem)
* stcb - The TCB of the task that was just started (if any). If the
* post action caused a count to be given to another thread, then stcb
* is the TCB that received the count. Note, just because stcb received
- * the count, it does not mean that it it is higher priority than other threads.
+ * the count, it does not mean that it it is higher priority than other
+ * threads.
* sem - A reference to the semaphore being posted.
* - If the semaphore count is <0 then there are still threads waiting
- * for a count. stcb should be non-null and will be higher priority than
- * all of the other threads still waiting.
- * - If it is ==0 then stcb refers to the thread that got the last count; no
- * other threads are waiting.
+ * for a count. stcb should be non-null and will be higher priority
+ * than all of the other threads still waiting.
+ * - If it is ==0 then stcb refers to the thread that got the last count;
+ * no other threads are waiting.
* - If it is >0 then there should be no threads waiting for counts and
* stcb should be null.
*
@@ -831,6 +832,7 @@ void sem_restorebaseprio(FAR _TCB *stcb, FAR sem_t *sem)
*
****************************************************************************/
+#ifndef CONFIG_DISABLE_SIGNALS
void sem_canceled(FAR _TCB *stcb, FAR sem_t *sem)
{
/* Check our assumptions */
@@ -841,6 +843,7 @@ void sem_canceled(FAR _TCB *stcb, FAR sem_t *sem)
(void)sem_foreachholder(sem, sem_restoreholderprio, stcb);
}
+#endif
/****************************************************************************
* Function: sem_enumholders
diff --git a/nuttx/sched/sem_internal.h b/nuttx/sched/sem_internal.h
index 4b3d30fb1..cbb7e96dd 100644
--- a/nuttx/sched/sem_internal.h
+++ b/nuttx/sched/sem_internal.h
@@ -100,7 +100,11 @@ EXTERN void sem_addholder(FAR sem_t *sem);
EXTERN void sem_boostpriority(FAR sem_t *sem);
EXTERN void sem_releaseholder(FAR sem_t *sem);
EXTERN void sem_restorebaseprio(FAR _TCB *stcb, FAR sem_t *sem);
+# ifndef CONFIG_DISABLE_SIGNALS
EXTERN void sem_canceled(FAR _TCB *stcb, FAR sem_t *sem);
+# else
+# define sem_canceled(stcb, sem)
+# endif
#else
# define sem_initholders()
# define sem_destroyholder(sem)