Prep for the 7.12 release

This commit is contained in:
Gregory Nutt 2015-10-01 13:10:11 -06:00
parent 49871dde15
commit 4cf28dff1d
4 changed files with 310 additions and 18 deletions

View File

@ -4114,7 +4114,7 @@
group exits.
* sched/waitpid.c, task_exithook.c and include/nuttx/sched.h:
Move waitpid data data structures to task group. Callers of
of waitpid() are now only awakened whent he final thread of the
of waitpid() are now only awakened when the final thread of the
task group exits.
* sched/mq_descreate.c, mq_open.c, mq_remove.c, group_leave.c, and
include/nuttx/sched.h: Move list of opened message queues to
@ -4533,7 +4533,7 @@
* arch/arm/src/lpc17_lcd.c: Rommel Marcelo got the LPC1788
framebuffer-based LCD working. Very nice! (2013-4-08).
* arch/arm/src/lm/lm_clockconfig.c and configs/lm4f120-launchpad:
Fix handling of the RCC SYSDIV2 field whent the PLL output is
Fix handling of the RCC SYSDIV2 field when the PLL output is
400MHz. Don't forget to set the USERCC2 bit in the register or
all is for naught (2013-4-09).
* configs/zkit-arm-1769/src/up_lcd.c, up_ssp.c, and up_spi.c:
@ -10814,7 +10814,7 @@
support for an MS5805 altimeter. From Paul Alexander Patience
(2015-08-12).
7.12 2015-xx-xx Gregory Nutt <gnutt@nuttx.org>
7.12 2015-10-01 Gregory Nutt <gnutt@nuttx.org>
* fs/vfs/fs_poll.c: Use sem_tickwait() instead of sem_timedwait()
From Macs Neklyudov (2015-08-13).
@ -10828,7 +10828,7 @@
* include/signal.h and files that include it: Add si_errno to
siginfo_t (2015-08-14).
* drivers/sensors/mx58xx.c and include/nuttx/sensors/ms58xx.h:
General the MS5805 altimeter driver to support other family
Generalize the MS5805 altimeter driver to support other family
members and rename to ms58xx. From Paul Alexander Patience
(2015-08-14).
* Network drivers. Fix bug in tun interface driver. From Max
@ -10866,12 +10866,12 @@
as defined in the standard. Original implementation used that
for numeric addresses but for DNS lookup returned pointer to
whole sockaddr_in or sockaddr_in6. From Pavel Pisa (2015-08-21).
* tools/mksymtab: declare g_symtab array as conts to occupy RO
* tools/mksymtab: declare g_symtab array as const to occupy RO
section (Flash). From Pavel Pisa (2015-08-23).
* libc/libc.csv and syscalls/syscalls.csv: Define some symbol
export conditions, correct errno and add sleep and usleep. From
Pavel Pisa (2015-08-23).
* net/ ande include/nuttx/net: Remove references to PPP as a
* net/ and include/nuttx/net: Remove references to PPP as a
link layer protocol (2015-08-24).
* net/, drivers/net, and include/net: Add definitions to support
a local loopback device and link layer (2015-08-24).
@ -10889,7 +10889,7 @@
with the SAMV71 QSPI hardware (2015-08-25).
* drivers/rwbuffer.c: Fix some logic errors. From Dmitry Nikolaev
via Juha Niskanen (2015-08-26).
* net/socket and net/tcp: Fix a problem in whent there are multiple
* net/socket and net/tcp: Fix a problem in when there are multiple
network devices. Polls were being sent to all TCP sockets before.
This is not good because it means that packets may sometimes be
sent out on the wrong device. That is inefficient because it
@ -10908,7 +10908,7 @@
* fs/romfs: One allocation was not being freed if there was a
subsequent failure to allocation I/O buffers resulting in a memory
leak on certain error conditions. From Bruno Herrera (2015-08-30).
* arch/arm/src/up_iternal.h and several ARM Make.defs files: In the
* arch/arm/src/up_internal.h and several ARM Make.defs files: In the
original implementation, !defined(CONFIG_ARMV7M_CMNVECTOR) was a
sufficient test to determine if lazy floating point register saving
was being used. But recents changes added common lazy register as
@ -10924,7 +10924,7 @@
* libc/math/lib_asin.c: The function did not convert for some input
values. Asin did not convert for values which do not belong to the
domain of the function. But aside of that the function also did not
convert for sine allowed values. I achieved a conversion of the
converge for some allowed values. I achieved a conversion of the
function by reducing the DBL_EPSION and by checking if the input
value is in the domain of the function. This is a fix for the
problem but the function should always terminate after a given
@ -10933,7 +10933,7 @@
Averyanov (2015-09-02).
* arch/arm/src/lpc43xx/lpc43_ethernet.c: Add Ethernet support. From
Ilya Averyanov (2015-09-02).
* net/tcp: The logic that binds a specific networkd device to
* net/tcp: The logic that binds a specific network device to
a connection was faulty for the case of multiple network
devices. On bind(), the local address should be used to associate
a device with the connection (if the local address is not INADDR_ANY);
@ -10959,12 +10959,12 @@
Averyanov (2015-09-07).
* arch/arm/src/sama5: Separate memory mapping tables for SAMA5D2, 3,
and 4 (2015-09-08).
* libc/net/lib_shutdown.c: Add an empty implementatino of the
* libc/net/lib_shutdown.c: Add an empty implementation of the
standard shutdown function. This provides only the framework for
the shutdown function; the internal logic is not included
(2015-09-09).
* configs/nucleo-f303re: Support for the STMicro Nucleo F303ERE board
from Paul Alexander Patience (2014-09-10).
* configs/nucleo-f303re: Support for the STMicro Nucleo F303RE board
from Paul Alexander Patience (2015-09-10).
* arch/arm/src/lpc43xx/lpc32_ehci.c and .h: LPC43xx EHCI driver from
Ilya Averyanov (2015-09-10).
* ARMv7-M, all "lazy" interrupt stack logic. Assembly instruction
@ -10976,8 +10976,8 @@
* drivers/power/battery_gauge.c and include/nuttx/power/battery_gauge.h:
battery.c/h renamed to batter_gauge.c/.h since it really only
implements a battery fuel gauge. From Alan Carvalho de Assis (2015-09-19).
* drivers/power/battery_charter.c and include/nuttx/power/batter_charger.h:
Add a new frame to support a batter charger interface. From Alan
* drivers/power/battery_charger.c and include/nuttx/power/batter_charger.h:
Add a new framework to support a batter charger interface. From Alan
Carvalho de Assis (2015-09-19).
* drivers/power/bq2425x.c and .h: Battery Charger: Add BQ24250 driver.
From Alan Carvalho de Assis (2015-09-20).
@ -11003,3 +11003,5 @@
* sched/wqueue/kwork_queue.c and libc/wqueue/work_queue.c: Logic that
sets the queued indication and the logic that does the actual queuing
must be atomic (2015-09-20).
7.13 2015-xx-xx Gregory Nutt <gnutt@nuttx.org>

@ -1 +1 @@
Subproject commit 6e20db5f174f5ebe95e7ea3def4a67e2b97277ff
Subproject commit b705a3fefb00ce13be249f47a17d80cdfa7bf71c

View File

@ -9620,6 +9620,296 @@ detailed bugfix information):
anti-aliasing OFF. but I don't have the wherewithal for that change
today.
- OS test: Improve synchronization in round robin tests. On very fast
processors, there are race conditions that make the test failure.
processors, there are race conditions that make the test fail.
Need better interlocking to assure that the threads actually do start
at the same time.
NuttX-7.12 Release Notes
------------------------
The 112th release of NuttX, Version 7.12, was made on October 1, 2015,
and is available for download from the Bitbucket.org website. Note
that release consists of two tarballs: nuttx-7.12.tar.gz and
apps-7.12.tar.gz. These are available from:
https://bitbucket.org/patacongo/nuttx/downloads
https://bitbucket.org/nuttx/apps/downloads
Both may be needed (see the top-level nuttx/README.txt file for build
information).
Additional new features and extended functionality:
* Graphics/Graphic Drivers:
- Added SSD1351 OLED controller support. Contributed by Paul
Alexander Patience.
* Common Device Drivers:
- MS58xx: Generalize the MS5805 altimeter driver to support other
family members. From Paul Alexander Patience.
- CAN driver interface: Add an error indication bit to the CAN
message report.
- Developed a new interface for QSPI. Most QSPI hardware (such as the
SAMV71) used a programmed interface to access the QuadSPI FLASH.
That programmed interface is no compatible with the simpler NuttX
SPI data transfer interface.
- Added a driver for ST25L1*K QuadSPI parts.
- Renamed the battery driver interface to battery_gauge since it
really only implements a battery fuel gauge. From Alan Carvalho de
Assis.
- Added a new framework to support a batter charger interface. From
Alan Carvalho de Assis.
- Added a BQ24250 battery charger driver. From Alan Carvalho de Assis.
* Networking:
- Added support for the local loopback device (dev lo, hostname localhost).
- Added NetDB support for the local loopback device.
- Network initialization: Automatically initialize all the TUN and
loopback devices if they arein the configuration.
* Simulation Platform:
- The simulation now runs under Cygwin64. Modern Cygwin X86_64
machines follow the Microsoft ABI for parameter passing. The Linux
System 5 ABI would not work on X86_64-based Cygwin machines. Newer
Cygwin tool chains do nor pre-pend symbol names with the underscore
character.
* Atmel SAMA5Dx:
- Added architectural support for the Atmel SAMA5D2 parts. Not fully
verified in this NuttX release.
* Atmel SAMA5Dx Boards:
- Added support for the Atmel SAMA45D2 Xplained Ultra board. Not
fully verified in this NuttX release.
* Atmel SAMV7 Drivers:
- SAMV7 USBHS DCD: The device controller driver is (finally)
functional.
* NXP LPC17xx:
- Implement options to use external SDRAM and or SRAM for the heap.
From Pavel Pisa.
* NXP LPC43x:
- Added architectural support for the LPC4370. From Lok Tep.
* NXP LPC43xx Drivers:
- Added Ethernet support. From Ilya Averyanov.
- Added LPC43xx EHCI driver from Ilya Averyanov.
* NXP LPC43xx Drivers:
- Added support for the NXP LPC4370-Link2 development board from Lok
Tep.
* STMicro STM32:
- Added architectural for STM32F303K6, STM32F303K8, STM32F303C6,
STM32F303C8, STM32F303RD, and STM32F303RE devices. From Paul
Alexander Patience.
* STMicro STM32 Drivers:
- Added OTG support for STM32F44x. From David Sidrane.
* STMicro STM32 Boards:
- Added support for the STMicro Nucleo F303ERE board from Paul
Alexander Patience.
* C Library/Header Files:
- stdlib: Add support for div() to the C library. From OrbitalFox.
Also added ldiv() and lldiv() which are equivalent to div() with
long and long long types, respectively, instead of int.
- Added an implementation of the standard shutdown function.
* Tools:
- tools/mksymtab: declare g_symtab array as const to occupy RO section
(Flash). From Pavel Pisa.
* Build/Configuration System:
- Simplify configs/ Makefiles by combining common logic into a new
Board.mk Makefile fragment. From Paul Alexander Patience.
* Applications: apps/system:
- apps/system/symtab: Optional canned symtab inclusion to the build.
When option CONFIG_SYSTEM_SYMTAB is selected and symbol table file
libc/symtab/canned_symtab.inc is prepared then application can use
system provided complete symbol table. The option has substantial
effect on system image size. Mainly code/text. If loading of
applications at runtime is not planned do not select this. From
Pavel Pisa.
* Applications: apps/canutils:
- apps/canutils/uavcan: Add support for libuavcan. From Paul Alexander Patience.
* Applications: apps/examples:
- apps/examples/can: Extend the CAN loopback test by adding more
command line options.
- apps/examples/usbserial: Can now be run as an NSH builtin-function.
Now uses a configurable IO buffer size.
- apps/examples/nettest: Add option to suppress network initialization.
This is necessary if the nettest is run from NSH which has already
initialized the network.
- apps/examples/nettest: Extend test so that can be performed using
the local loopback device.
- apps/examples/netloop: Add a test of the local loopback device.
- apps/examples/udpblaster: Add a test to stress the network by
sending UDP packets at a very high rate. .
- apps/examples/uavcan: libuavcan example from Paul Alexander Patience.
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:
- wd_create(): Correct a counting error in the number of available
watchdog timers. When the number of free timers is low, the counter
could be incremented below zero.
- mq_open(): When message queue is opened, inode_reserve() leaves the
reference count at zero. mq_open() logic must assure that the
reference count of the newly created inode is one.
- work_queue(): Logic that sets the queued indication and the logic
that does the actual queuing must be atomic.
* Binary Loader:
- Fix a memory leak in the built-in application logic: File was not
being closed. From Bruno Herrera.
* File System/Block Drivers:
- poll(): If we fail to setup the poll for any file descriptor, for
any reason, set the POLLERR bit.
- rwbuffer: Fix some logic errors. From Dmitry Nikolaev via Juha
Niskanen.
- ROMFS: One allocation was not being freed if there was a subsequent
failure to allocation I/O buffers resulting in a memory leak on
certain error conditions. From Bruno Herrera.
* Networking/Network Drivers:
- Fix a bug in tun interface driver. From Max Neklyudov.
- recvfrom(): Correct wait for new data when NET_UDP_READAHEAD is
enabled. Fix size accounting when recvfrom_udpreadahead() sets
state.rf_recvlen == -1. I have not checked if data are accumulated
to the right position in the buffer however. From Pavel Pisa.
- networking: Correct return value from psock_tcp_accept(). From
SaeHie Park.
- TCP: Fix a problem in when there are multiple network devices.
Polls were being sent to all TCP sockets before. This is not good
because it means that packets may sometimes be sent out on the wrong
device. That is inefficient because it will cause retransmissions
and bad performance. But, worse, when one of the devices is not
Ethernet, it will have a different MSS and, as a result, incorrect
data transfers can cause crashes. The fix is to lock into a single
device once the MSS is locked locked down.
- net/tcp: The logic that binds a specific network device to a
connection was faulty for the case of multiple network devices. On
bind(), the local address should be used to associate a device with
the connection (if the local address is not INADDR_ANY); On connect(),
the remote address should be used (in case the local address is
INADDR_ANY). On accept(), it does not matter but the remote address
is the one guaranteed to be available.
- net/tcp: Fix unbuffered send compilation error when Ethernet is not
enabled. From Alan Cavalho de Assis.
* ARMv7-M:
- All ARMV7-M IRQ setup: Always set the NVIC vector table address
unconditionally. This is needed in cases where the code is running
with a bootload and when the code is running from RAM. It is also
needed by the logic of up_ramvec_initialize() which gets the vector
base address from the NVIC. Suggested by Pavel Pisa.
- Fix some H/W floating point logic: In the original implementation,
!defined(CONFIG_ARMV7M_CMNVECTOR) was a sufficient test to determine
if lazy floating point register saving was being used. But recents
changes added common lazy register as well so now that test must be
(!defined(CONFIG_ARMV7M_CMNVECTOR) || defined(CONFIG_ARMV7M_LAZYFPU)).
- ARMv7-M, all "lazy" interrupt stack logic. Assembly instruction
that fetches the saved value is incorrect; replace with more
traditional push and pop. This is an important fix. Noted by
Stefan Kolb.
- All ARMV7-M: Force 8-byte stack alignment when calling from assembly
to C to interrupt handling.
- up_schedulesigaction(): Fix logic that determines if there is a
pending signal action before scheduling the next signal action.
Both the test and the scheduling action need to be atomic. This
problem was fixed on the ARMv7-M but also ported to other
architectures that had the same issue.
* NXP LPC43xx:
- LPC43xx: Fix NVIC_SYSH_PRIORITY_STEP define. From Ilya Averyanov.
- LPC43xx: Fix missing #define in eeprom. From Ilya Averyanov.
* NXP LPC43xx Drivers:
- Fixed the SPI driver. From Ilya Averyanov.
* Atmel SAMA5 Drivers:
- LPC31 and SAMA5D EHCI: Fix qh_ioccheck to move bp to next QH. From
Ilya Averyanov.
- LPC31 and SAMA5D EHCI: Performance improvement: Do not disable the
asynchronous queue when adding a new QH structure. From Ilya
Averyanov.
* C Library/Header Files:
- gethostbyname(): correct returned address format when DNS is used.
The hostent.h_addr_list should point to raw in_addr or in6_addr
as defined in the standard. Original implementation used that for
numeric addresses but for DNS lookup returned pointer to whole
sockaddr_in or sockaddr_in6. From Pavel Pisa .
- asin(): The function did not convert for some input values. asing()
did not convert for values which do not belong to the domain of the
function. But aside of that the function also did not converge for
allowed values. I achieved a conversion of the function by
reducing the DBL_EPSION and by checking if the input value is in
the domain of the function. This is a fix for the problem but the
function should always terminate after a given number of iterations.
From Stefan Kolb.
- Change all references from avsprintf to vasprintf. From Sebastien
Lorquet.
* Applications: apps/nshlib:
- Fix error handling in 'cat' command. On a failure to allocate
memory, a file was not being closed. From Bruno Herrera.
- Fix error handling in 'mv' command. On a failure to expand the
second path, the memory allocated for the expansion of the first
path was not being freed. From Bruno Herrera.
* Applications: apps/system:
- apps/system/netdb: Failed to build if CONFIG_NET_HOSTFILE was not
defined because gethostbyaddr() was not available. Noted by
OrbitalFox.
* Applications: apps/netutils:
- Various Kconfig files in netutils: Fix some changes from from
NETUTILS_DNSCLIENT to NETDB_DNSCLIENT. From Pavel Pisa.
* Applications: apps/modbus:
- Macros PR_BEGIN_EXTERN_C and PR_END_EXTERN_C were not defined in
all contexts. Replace with explicit expansion in all cases. From Stefan Kolb.

@ -1 +1 @@
Subproject commit be32e67e9b3ac14b779a6e3539304c9aa69e3f8c
Subproject commit bb669000c76498d9a0a769948a403784fec897e1