diff options
author | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2010-10-02 00:55:32 +0000 |
---|---|---|
committer | patacongo <patacongo@7fd9a85b-ad96-42d3-883c-3090e2eb8679> | 2010-10-02 00:55:32 +0000 |
commit | a622abde40c5268fd9e18fd2a8804343a594f7f6 (patch) | |
tree | 899e77aee2d18efebb5650abff18730895f055d1 /nuttx | |
parent | 312439fce6bc6980822b15f2c98bd32dff2c458e (diff) |
Prep for 5.11 Release
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@2960 7fd9a85b-ad96-42d3-883c-3090e2eb8679
Diffstat (limited to 'nuttx')
-rw-r--r-- | nuttx/ChangeLog | 5 | ||||
-rw-r--r-- | nuttx/Documentation/NuttX.html | 157 | ||||
-rw-r--r-- | nuttx/ReleaseNotes | 18 | ||||
-rw-r--r-- | nuttx/TODO | 14 | ||||
-rwxr-xr-x | nuttx/configs/ea3131/README.txt | 6 | ||||
-rw-r--r-- | nuttx/sched/Makefile | 10 | ||||
-rw-r--r-- | nuttx/sched/sem_holder.c | 13 | ||||
-rw-r--r-- | nuttx/sched/sem_internal.h | 4 |
8 files changed, 99 insertions, 128 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index b2794cf70e..d2ae952ac7 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 b90591958b..89170b1b39 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 <spudmonkey@racsa.co.cr> - - * 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 <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 + 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 <spudmonkey@racsa.co.cr> @@ -1960,27 +1905,7 @@ buildroot-1.8 2009-12-21 <spudmonkey@racsa.co.cr> </table> <ul><pre> -nuttx-5.11 2010-xx-xx 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 - 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 <spudmonkey@racsa.co.cr> pascal-2.1 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> diff --git a/nuttx/ReleaseNotes b/nuttx/ReleaseNotes index 8120cf14f5..e88b4d79e7 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 e1fed73e3a..52ba42407e 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 f1aec37edc..db6fc0b8dd 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 b11511b65e..31e09f2aa7 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 1c3126f2df..28d74a8683 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 4b3d30fb1c..cbb7e96ddf 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) |