Prep for 5.11 Release
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2960 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
6427f98c3c
commit
d1b6f4fc9a
@ -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>
|
||||
|
||||
|
@ -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>
|
||||
* A new configuration to support the mbed.org LPC1768 board (Contributed
|
||||
by Dave Marples), and
|
||||
</li>
|
||||
<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.
|
||||
</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>
|
||||
nuttx-5.11 2010-10-01 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.
|
||||
* 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>
|
||||
|
||||
|
18
ReleaseNotes
18
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,
|
||||
|
14
TODO
14
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/)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
@ -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:
|
||||
------------
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user