Prep for 7.8 release
This commit is contained in:
parent
005643de2c
commit
fb796f6b9f
12
ChangeLog
12
ChangeLog
|
@ -9513,7 +9513,7 @@
|
|||
lpc4357-evb. These changes are required to get USART 2 and 3 working
|
||||
on the Embest development board. From Toby Duckworth.
|
||||
|
||||
7.8 2015-xx-xx Gregory Nutt <gnutt@nuttx.org>
|
||||
7.8 2015-02-11 Gregory Nutt <gnutt@nuttx.org>
|
||||
|
||||
* include/nuttx/math.h and libc/math: Add support for inverse
|
||||
hyperbolic functions. From Brennan Ashton (2015-01-26).
|
||||
|
@ -9617,7 +9617,7 @@
|
|||
* EFM32 RTC: RTC driver using BURTC. From Pierre-Noel Bouteville
|
||||
(2015-02-01).
|
||||
* drivers/ramdisk.c, include/nuttx/fs/ramdisk.h, and other files: Add
|
||||
logic to dispose of the drvier and RAM buffer when the RAM disk has
|
||||
logic to dispose of the driver and RAM buffer when the RAM disk has
|
||||
been unlinked and all open references to the RAM disk have been
|
||||
closed. Add new parameters to romdisk() to specify what should be
|
||||
done with the RAM/ROM buffer -- Should it be freed or not? Changed
|
||||
|
@ -9629,7 +9629,7 @@
|
|||
with a Neighbor Solicitation) (2015-01-02).
|
||||
* net/arp/arp.h, arp_notify.c, and arp_send.c: Fixes another
|
||||
CONFIG_NET_NOINTS issues. When called sem_timedwait() with the
|
||||
network locked, the network stays logcked while we wait which is not
|
||||
network locked, the network stays locked while we wait which is not
|
||||
what we want (without CONFIG_NET_NOINTS, interrupts are re-enabled
|
||||
while we wait and all is well) (2015-02-02).
|
||||
* net/icmpv6/icmpv6.h, icmpv6_neighbor.c, icmpv6_notify.c: Apply the
|
||||
|
@ -9681,7 +9681,7 @@
|
|||
Sidrane (2015-02-07).
|
||||
* drivers/syslog/syslog_console.c, include/nuttx/syslog/syslog_console.h,
|
||||
and the console device initialization logic for all architectures: Add
|
||||
an option to use the syslog'ing device as the system consolution. This
|
||||
an option to use the syslog'ing device as the system console. This
|
||||
option enables a low-level, write-only console device at /dev/console
|
||||
(similar to the low-level UART console device). From Pierre-noel
|
||||
Bouteville (2015-02-08).
|
||||
|
@ -9745,9 +9745,11 @@
|
|||
Ethernet driver. Untested... I no longer have a proper environment
|
||||
for LPC17 debug (2015-02-10).
|
||||
* include/netinet/in.h and libc/net/lib_addrconfig.c: Some extensions
|
||||
to netinet/in.h adding some Linux compatible defintions. From Macs N
|
||||
to netinet/in.h adding some Linux compatible definitions. From Macs N
|
||||
(2015-02-11).
|
||||
* arch/arm/src/kl: Add architectural support for the K26Z128VLH4 chip.
|
||||
From Derek B. Noonburg (2015-02-11).
|
||||
* configs/freedom-kl26z: Add board support for the Freedom KL26Z board.
|
||||
From Derek B. Noonburg (2015-02-11).
|
||||
|
||||
7.8 2015-xx-xx Gregory Nutt <gnutt@nuttx.org>
|
||||
|
|
|
@ -1249,20 +1249,29 @@
|
|||
<h2>Released Versions</h2>
|
||||
<p>
|
||||
In addition to the ever-changing GIT repository, there are frozen released versions of NuttX available.
|
||||
The current release is NuttX 7.7.
|
||||
NuttX 7.7 is the 107<sup>th</sup> release of NuttX.
|
||||
It was released on Januay 26, 2015, and is available for download from the
|
||||
The current release is NuttX 7.8.
|
||||
NuttX 7.8 is the 108<sup>th</sup> release of NuttX.
|
||||
It was released on February 11, 2015, and is available for download from the
|
||||
<a href="http://sourceforge.net/projects/nuttx/files/">SourceForge</a> website.
|
||||
Note that the release consists of two tarballs: <code>nuttx-7.7.tar.gz</code> and <code>apps-7.7.tar.gz</code>.
|
||||
Note that the release consists of two tarballs: <code>nuttx-7.8.tar.gz</code> and <code>apps-7.8.tar.gz</code>.
|
||||
Both may be needed (see the top-level <code>nuttx/README.txt</code> file for build information).
|
||||
</p>
|
||||
|
||||
<p>
|
||||
This release is primarily a bugfix release for the NuttX-7.7 version that
|
||||
was release just two weeks prior. That release included substantial
|
||||
modifications in the NuttX networking to accommodate support for IPv6. This
|
||||
release follows close behind NuttX-7.7 in order to correct some the problems
|
||||
discovered in that networking code. This release does, however, include a
|
||||
small number of new features and bug fixes unrelated to NuttX networking.
|
||||
</p>
|
||||
|
||||
<h2><a name="changelogs"><b>Release Notes and Change Logs</b>:</a></h2>
|
||||
|
||||
<ul>
|
||||
<li><b>nuttx</b>.
|
||||
<ul><p>
|
||||
Release notes for NuttX 7.7 are available <a href="http://sourceforge.net/projects/nuttx/files/nuttx/nuttx-7.7/">here</a>;
|
||||
Release notes for NuttX 7.8 are available <a href="http://sourceforge.net/projects/nuttx/files/nuttx/nuttx-7.8/">here</a>;
|
||||
release notes for all released versions on NuttX are available in the <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/ReleaseNotes">SourceForge GIT</a>
|
||||
The ChangeLog for all releases of NuttX is available in the ChangeLog file that can viewed in the <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/ChangeLog">SourceForge GIT</a>.
|
||||
The ChangeLog for the current release is at the bottom of that file.
|
||||
|
@ -1270,7 +1279,7 @@
|
|||
</li></ul>
|
||||
<li><b>apps</b>.
|
||||
<ul><p>
|
||||
Release notes for NuttX 7.7 are available <a href="http://sourceforge.net/projects/nuttx/files/nuttx/nuttx-7.7/">here</a>;
|
||||
Release notes for NuttX 7.8 are available <a href="http://sourceforge.net/projects/nuttx/files/nuttx/nuttx-7.8/">here</a>;
|
||||
release notes for all released versions on NuttX are available in the <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/nuttx/ReleaseNotes">SourceForge GIT</a>
|
||||
The ChangeLog for the all releases of apps is available in the ChangeLog file that can viewed in the <a href="http://sourceforge.net/p/nuttx/git/ci/master/tree/apps/ChangeLog.txt">SourceForge GIT</a>.
|
||||
The ChangeLog for the current release is at the bottom of that file.
|
||||
|
|
319
ReleaseNotes
319
ReleaseNotes
|
@ -8098,3 +8098,322 @@ detailed bugfix information):
|
|||
signal, do not do anything crazy like exit. Most from Rony Xln
|
||||
- apps/nshlib/: NSH TFTP get command: Wrong file name used for the
|
||||
destination. From Lazlo
|
||||
|
||||
NuttX-7.8
|
||||
---------
|
||||
|
||||
The 108th release of NuttX, Version 7.8, was made on February 11, 2015,
|
||||
and is available for download from the SourceForge website. Note
|
||||
that release consists of two tarballs: nuttx-7.8.tar.gz and
|
||||
apps-7.8.tar.gz. Both may be needed (see the top-level nuttx/README.txt
|
||||
file for build information).
|
||||
|
||||
This release is primarily a bugfix release for the NuttX-7.7 version that
|
||||
was release just two weeks prior. That release included substantial
|
||||
modifications in the NuttX networking to accommodate support for IPv6. This
|
||||
release follows close behind NuttX-7.7 in order to correct some the problems
|
||||
discovered in that networking code. This release does, however, include a
|
||||
small number of new features and bug fixes unrelated to NuttX networking.
|
||||
|
||||
Additional new features and extended functionality:
|
||||
|
||||
* Core OS:
|
||||
|
||||
- Tickless Mode: added limit of maximum delay that can be request
|
||||
by the scheduler tickless logic. This is necessary so that the
|
||||
tickless logic does not request a delay beyond the capability of the
|
||||
underlying hardware. From Macs Neklyudov.
|
||||
|
||||
* Common Drivers:
|
||||
|
||||
- VFS Unlink: Add an unlink method to both the character and block
|
||||
driver interface. This is important because if the driver inode is
|
||||
unlinked and there are no open references to the driver, then the
|
||||
driver resources will be stranded. On the unlink call, the driver
|
||||
has the opportunity (1) check if there an any open references, and
|
||||
if not, (2) free the driver resources.
|
||||
- Pipes and FIFOs: Implement the unlink method. If the pipe/FIFO is
|
||||
unlinked, it will marked the pipe/FIFO as unlinked. If/when all
|
||||
open references to the driver are closed, all of the driver
|
||||
resources will be freed.
|
||||
- Added an option to use the syslog'ing device as the system console.
|
||||
This option enables a low-level, write-only console device at
|
||||
/dev/console (similar to the low-level UART console device). From
|
||||
Pierre-noel Bouteville.
|
||||
|
||||
* File Systems/Block Drivers/MTD:
|
||||
|
||||
- RAM/ROM disk: Add logic to dispose of the driver and RAM buffer
|
||||
when the RAM disk has been unlinked and all open references to the
|
||||
RAM disk have been closed. Add new parameters to romdisk() to
|
||||
specify what should be done with the RAM/ROM buffer in this case --
|
||||
Should it be freed or not? Changed all calls to ramdisk() to use
|
||||
these new parameters.
|
||||
|
||||
* Networking:
|
||||
|
||||
- Add support for local, Unix domain sockets. Support included for
|
||||
both SOCK_STREAM and SOCK_DGRAM style local socket.
|
||||
- UDP enhancement: Add UDP read-ahead support. In addition to
|
||||
eliminating the main reason for lost UDP packets, then change
|
||||
enables support for for poll/select on UDP sockets and also non-
|
||||
blocking UDP sockets. From Macs Neklyudov.
|
||||
- SLIP interface improvements. From Macs Neklyudov.
|
||||
- IPv6 Neighbor Solicitation: Added logic to support verification
|
||||
that we have the IPv6 address in the Neighbor Table before sending
|
||||
any packets. If not, then the Neighbor Solicitation message is
|
||||
sent. This feature is important because otherwise the first packet
|
||||
sent to a remote peer will fail (it would have been replaced with a
|
||||
Neighbor Solicitation).
|
||||
- IPv6 Autonomous Auto-Configuration: Added support for sending
|
||||
ICMPv6 Router Solicitation and receiving Router advertisement. The
|
||||
local IPv6 address, mask, and router address are then auto-configured
|
||||
from the response..
|
||||
- IPv6 Router Support: Add logic to behave like a router (if so
|
||||
configured) only in the sense that NuttX will send the router
|
||||
advertisement message in response to any received router solicitation
|
||||
messages. Thus, one NuttX node in a network can configure the IPv6
|
||||
addresses of all other nodes in the network.
|
||||
- Optional IPv6 address filtering added to all Ethernet drivers for
|
||||
the all-routers multicast address.
|
||||
|
||||
* Atmel AVR:
|
||||
|
||||
- Added architecture support for the Atmel AVR ATMega1284P MCU. From
|
||||
Jedi Tek'Unum.
|
||||
|
||||
* Atmel AVR Boards:
|
||||
|
||||
- Added support for the LowPowerLab MoteinoMEGA that is based on the
|
||||
Atmel AVR ATMega1284P MCU. From Jedi Tek'Unum.
|
||||
|
||||
* Atmel SAMA4:
|
||||
|
||||
- Add support for Tickless mode of operation for the SAM4CM platform.
|
||||
From Macs Neklyudov.
|
||||
|
||||
* Atmel SAMA4 Drivers:
|
||||
|
||||
- Ethernet: The SAM4E Ethernet driver can now be configuration to
|
||||
perform all network processing on the work queue. This greatly
|
||||
reduces the amount of interrupt level processing to service Ethernet
|
||||
packets.
|
||||
- SAM4E Ethernet: Add support multicast address matching and IPv6.
|
||||
|
||||
* Atmel SAMA4 Boards:
|
||||
|
||||
- SAM4E-EK: The nsh configuration now configures the Ethernet driver
|
||||
for execution on the work thread.
|
||||
|
||||
* Atmel SAMA5D Drivers:
|
||||
|
||||
- SAMA5D4 Ethernet: The SAMA5D4 Ethernet driver can now be configuration
|
||||
to perform all network processing on the work queue. This greatly
|
||||
reduces the amount of interrupt level processing to service Ethernet
|
||||
packets.
|
||||
- SAMA5D3 and SAMA5D4 Ethernet: Add support multicast address matching
|
||||
and IPv6.
|
||||
|
||||
* Atmel SAMA5D Boards:
|
||||
|
||||
- SAMA5D4-EK; Added a configuration to testing IPv6.
|
||||
- SAMA5D4-EK: Converted the nsh and ipv6 configurations to configure
|
||||
the Ethernet driver to use the work queue (vs. interrupt level
|
||||
processing).
|
||||
|
||||
* Freescale KL:
|
||||
|
||||
- Add architectural support for the K26Z128VLH4 chip. From Derek B. Noonburg.
|
||||
|
||||
* Freescale KL Boards:
|
||||
|
||||
- Add board support for the Freedom KL26Z board. From Derek B. Noonburg.
|
||||
|
||||
* NXP LPC17xx Drivers:
|
||||
|
||||
- Ethernet: Add support multicast address matching and IPv6.
|
||||
|
||||
* SiLabs EFM32:
|
||||
|
||||
- Add configurable option to unconditionally enable LE clocking. Even
|
||||
you don't use core clock LE as source for LFA or LFB, to read are
|
||||
write any register not clocked by HFPERCLK or HFCORECLK, HFCORECLKLE
|
||||
should be enabled. From Pierre-noel Bouteville.
|
||||
|
||||
* SiLabs EFM32 Drivers:
|
||||
|
||||
- EFM32 RTC: RTC driver using BURTC. From Pierre-Noel Bouteville.
|
||||
|
||||
* STMicro STM32 Drivers:
|
||||
|
||||
- AES: Add driver for STM32L162XX AES peripheral. From Juha Niskanen.
|
||||
- Ethernet: The STM32 Ethernet driver can now be configuration to
|
||||
perform all network processing on the work queue. This greatly
|
||||
reduces the amount of interrupt level processing to service Ethernet
|
||||
packets.
|
||||
- Ethernet: Add support multicast address matching and IPv6.
|
||||
|
||||
* STMicro STM32 Boards:
|
||||
|
||||
- Added an IPv6 configuration for the STM32F4-Discovery board (with the
|
||||
STM32-DISCO_BB base board).
|
||||
- Converted all STM32F4-Discovery configurations (with base board) to
|
||||
configure the Ethernet driver to use the work queue (vs. interrupt
|
||||
level processing).
|
||||
|
||||
* TI Tiva Drivers:
|
||||
|
||||
- Added support for TM4C123G timers. From Calvin Maguranis.
|
||||
- Added a Tiva ADC driver. From Calvin Maguranis.
|
||||
|
||||
* TI Tiva Boards:
|
||||
|
||||
- Added TM4C123G timers on the TM4C123G Launchpad. From Calvin Maguranis.
|
||||
- Added Tiva ADC support to the TM4C123G-Launchpad. From Calvin Maguranis.
|
||||
|
||||
* C Library/Header Files:
|
||||
|
||||
- Math Library: Added support for inverse hyperbolic functions,
|
||||
isfinite(), error functions, nan(), copysign(), and trunc()
|
||||
functions. From Brennan Ashton.
|
||||
|
||||
* Applications:
|
||||
|
||||
- apps/examples/ustream: Add a simple test of Unix domain stream
|
||||
sockets.
|
||||
- apps/examples/udgram: Add a simple test of Unix domain datagram
|
||||
sockets.
|
||||
- apps/netutils/netlib: Add utilities to convert to/from prefix
|
||||
lengths from/to 128-bit network masks.
|
||||
- apps/nshlib: Modify the NSH IPv6 ifconfig command to show the more
|
||||
standard post-pended prefix value, rather than the full 128-bit
|
||||
netmask.
|
||||
|
||||
Efforts In Progress. The following are features that are partially
|
||||
implemented but present in this release. They are not likely to be
|
||||
completed soon.
|
||||
|
||||
* Processes. Much of the work in this release is focused on the
|
||||
realization of Unix-style user processes in NuttX. There is more to
|
||||
be done, however. The full roadmap and status is available at:
|
||||
http://www.nuttx.org/doku.php?id=wiki:nxinternal:memconfigs#the_roadmap_toward_processes
|
||||
|
||||
* XMega: There are some fragments in place for an XMega port. That
|
||||
port has not really started, however.
|
||||
|
||||
Bugfixes. Only the most critical bugfixes are listed here (see the
|
||||
ChangeLog for the complete list of bugfixes and for additional, more
|
||||
detailed bugfix information):
|
||||
|
||||
* Core OS:
|
||||
|
||||
- Work Queues: Fix a backward calculation when determining the time
|
||||
to the next interesting event. . From Liio Chen via the PX4
|
||||
repository.
|
||||
- clock_systimespec(): Fixes for compilation errors in certain
|
||||
configurations. From Macs Neklyudov.
|
||||
|
||||
* Graphics
|
||||
|
||||
- Fixed a problem with one of the font files. From Pierre-noel Bouteville.
|
||||
|
||||
* Networking:
|
||||
|
||||
- IOB Deadlock: There were issues with the TCP write-ahead buffering
|
||||
if CONFIG_NET_NOINTS was enabled: There is a possibility of
|
||||
deadlocks in certain timing conditions: The network should never
|
||||
wait for TCP read-ahead buffering space to be available. It should
|
||||
drop the packets immediately if no buffering is available. This was
|
||||
fixed by duplicating most of the IOB interfaces: The versions that
|
||||
waited are still present (like iob_alloc()), but now there are non-
|
||||
waiting versions of the same interfaces (like iob_tryalloc()). The
|
||||
TCP read-ahead logic now uses only these non-waiting interfaces.
|
||||
- TCP Deadlock: Fix another deadlock when CONFIG_NET_NOINTS is enabled.
|
||||
tcp_write_buffer_alloc() calls sem_wait() with network locked. That
|
||||
worked if CONFIG_NET_NOINTS was not defined because interrupts are
|
||||
automatically restored when the wait happens. But with
|
||||
CONFIG_NET_NOINTS=y, the wait blocks with the network locked -- bad
|
||||
style and also can lead to a deadlock condition.
|
||||
- ARP response waiting: Fixes another CONFIG_NET_NOINTS issue. When
|
||||
called sem_timedwait() with the network locked, the network stays
|
||||
locked while we wait which is not what we want (without CONFIG_NET_NOINTS,
|
||||
interrupts are re-enabled while we wait and all is well).
|
||||
- TCP accept(): Fix a major TCP bug introduced with the NuttX-7.7
|
||||
IPv6 changes: Some connection logic was reordered; setting the
|
||||
socket as 'connected' got moved to BEFORE the point where the check
|
||||
was made if the socket was already connected. The resulting behavior
|
||||
was odd: Telnet would connect, but then when you exit and reconnect,
|
||||
it would fail to connect. But then if try again, it would connect
|
||||
okay. So the symptom was connect-fail-connect-fail-...
|
||||
- Lots of build problems introduced into multiple NIC support with the
|
||||
IPv6 changes of NuttX-7.7. Many places where conditional logic based
|
||||
on CONFIG_NETDEV_MULTINIC is confused with CONFIG_NET_MULTILINK.
|
||||
Lots of code changed with IPv6 that was never compiled with MULTINIC
|
||||
enabled.
|
||||
|
||||
* Common Drivers:
|
||||
|
||||
- Pipes and FIFOs: Fix a race condition between FIFO buffer operations
|
||||
and the opening and closing of FIFOs which necessary when the FIFOs
|
||||
are used to support Unix domain, datagram sockets. The default
|
||||
policy is the deallocate FIFO buffering when the last client closes
|
||||
the pipe. When when used for datagram communications, packets left
|
||||
in the FIFO will be lost. Some like UDP read-ahead is needed: The
|
||||
buffered data in the FIFO needs to be retained until the reader gets
|
||||
a chance to re-open the FIFO. Added an ioctl (PIPEIOC_POLICY) to
|
||||
control the buffer policy. Default (0) is the legacy behavior; Unix
|
||||
domain datagram logic sets the alternative policy so that the packet
|
||||
data persists after the FIFO is closed.
|
||||
- RAMTRON: Table of parts is not terminated properly if
|
||||
CONFIG_RAMTRON_FRAM_NON_JEDEC is not defined. Noted by David
|
||||
Sidrane.
|
||||
|
||||
* All Archtectures:
|
||||
|
||||
- Removed all occurrences of up_maskack_irq() that disables interrupts
|
||||
with up_ack_irq() that only acknowledges the interrupts. This is only
|
||||
used in interrupt decoding logic. Also remove the logic that
|
||||
unconditionally re-enables interrupts with the interrupt exits. This
|
||||
interferes with the drivers ability to control the interrupt state.
|
||||
This is a necessary, sweeping, global change and unfortunately
|
||||
impossible to test.
|
||||
|
||||
* ARM
|
||||
|
||||
- ARMv7-A and ARMv7-M memcpy(): Optimized ARM assembly language
|
||||
memcpy's were not returning a value in R0 they are required to do.
|
||||
From David Sidrane.
|
||||
- ARMv7-A interrupt handler should not automatically re-enable interrupts
|
||||
on interrupt return. That interferes with the driver's ability to
|
||||
manage interrupts. Analogous change made to all other architectures
|
||||
as well (ARM7, ARM9, HC, SH, x86, z16, z80, etc,. See above.).
|
||||
|
||||
* STMicro STM32:
|
||||
|
||||
- GPIO Interrupts: Disabling any of EXTI 5-9 interrupts was disabling
|
||||
interrupts for all EXTI 5-9. Same issue with EXTI 10-15. From Jussi
|
||||
Kivilinna.
|
||||
|
||||
* STMicro STM32 Drivers:
|
||||
|
||||
- RTCC: Fix for recent changes that caused compilation failrues with
|
||||
STM32L15XX configurations. From Jussi Kivilinna.
|
||||
- SPI: The source clock for SPI 4,5, and 6 should be PCLK2, not PCLK1
|
||||
(for F411, F427, and F429). Per David Sidrane.
|
||||
|
||||
* C Library/Header Files:
|
||||
|
||||
- execl(): Fix bad logic in counting the number of arguments.
|
||||
execl() parameter passing could never have worked. Noted by
|
||||
Pierre-noel Bouteville.
|
||||
|
||||
* Applications:
|
||||
|
||||
- Fix for building with parallel make. Build-server sometimes failed
|
||||
'make -j24' with errors in the builtin line or or sometimes silently
|
||||
succeeds but generated builds that contain a random subset of
|
||||
configured NuttX applications. There are two root causes for this:
|
||||
(1) Recipes for building builtin_list.h and builtin_proto.h are
|
||||
not linearizable, and (2) Nothing ensures that 'make context' is run
|
||||
first for apps/builtin. This change address both issues. From Juha
|
||||
Niskanen.
|
||||
|
|
Loading…
Reference in New Issue