Prep for 7.15 release

This commit is contained in:
Gregory Nutt 2016-03-26 12:16:14 -06:00
parent cc5a678a9e
commit 8523e17f52
4 changed files with 297 additions and 23 deletions

View File

@ -1040,7 +1040,7 @@
development board.
* lib/lib_crc32.c: Add CRC32 logic by Gary S. Brown to lib/. This is
the larger (but faster) table look-up version of the CRC32 algorithm.
* confgs/ea3131/tools: Added a tool to create a image suitable for
* configs/ea3131/tools: Added a tool to create a image suitable for
use with the LPC313x bootloader.
* configs/sam3u-3k/ostest: Completed verification of the basic NuttX
OS test for the SAM3U.
@ -1295,7 +1295,7 @@
(all of the AVR32 is a work in progress).
* arch/avr/include/at32uc3 and arch/avr/src/at32uc3: Add support
for the AVR32 UC3A/B family of AVR32 MCUs.
* confgs/avr32dev1: Add support for the Atmel AVR32DEV1 board featuring
* configs/avr32dev1: Add support for the Atmel AVR32DEV1 board featuring
the AT32UC3B0256 MCU. This board is produced by www.mcuzone.com.
* include/stdlib.h, lib/Makefile, lib/lib_abs.c, lib/lib_labs.c,
lib_labs.c, lib_llabs.c, lib_imaxabs.c: Add abs(), labs(), llabs(), and
@ -2006,7 +2006,7 @@
(reported by Li Zhouy (Lzyy)).
* 8/18/2011: The basic port to the FreeScale Kinetics TWR-K60N512 board is
now functional.
* confgs/twr-k60n512: Add Kinetics TWR-K60N512 NSH configuration.
* configs/twr-k60n512: Add Kinetics TWR-K60N512 NSH configuration.
* drivers/analog and include/nuttx/analog: Add ADC driver infrastructure
and TI ADS1255 driver developed and submitted by Li Zhouy (Lzyy)).
* arch/arm/stm32/stm32_sdio.h and drivers/mmcsd/mmcsd.c: Add logic to
@ -2331,7 +2331,7 @@
* arch/arm/src/lpc17_can.c: Several CAN driver improvements. Adds support for
testing in loopback mode. now uses all three transmit buffers for better
performance.
* confgs/olimex-lpc1766stk/nsh: Now supports the CAN loopback test as an
* configs/olimex-lpc1766stk/nsh: Now supports the CAN loopback test as an
optional "built-in" application.
* sched/irq_attach.c: Fix an issue with disabling interrupts when they are
detached. For the PIC32, this can't be done because there is a 1-to-many
@ -2374,7 +2374,7 @@
one APB2 timer.
* arch/mips/src/pic32mx/pic32mx-ethernet.c: The PIC32 Ethernet driver is
code complete, but still untested.
* confgs/sim/*/Make.defs and arch/sim/src/Makefile: Add support for building
* configs/sim/*/Make.defs and arch/sim/src/Makefile: Add support for building
a 32-bit executable on a 64-bit Linux target.
* configs/sure-pic32mx/src/up_leds.c: Correct GPIOs used for LEDs. The wrong
pins were being used.
@ -3328,7 +3328,7 @@
simple allocation of DMA I/O buffers. The initial check-in
is code complete but untested (not event built into the
mm/Makefile yet.
* confgs/fire-stm32v2: The board port is basically functional.
* configs/fire-stm32v2: The board port is basically functional.
Not all features have been verified. The ENC28J60 network
is not yet functional.
* configs/stm3240g-eval/discover: A configuration for testing
@ -3687,7 +3687,7 @@
* arch/arm/src/stm32/stm32f20xx_rcc.c and stm32f40xx_rcc.c: Added option
CONFIG_STM32_FLASH_PREFETCH. FLASH prefetch will now only be enabled
if this option is selected.
* confgs/ez80f910200zco/ostest: Now uses Kconfig/mconf configuration
* configs/ez80f910200zco/ostest: Now uses Kconfig/mconf configuration
tool. Updated to build in native Windows environment. Other ez80f910200zco
build scripts also updated.
* configs/z8f64200100kit/ostest: Update to same level as ez80 configurations.
@ -5267,7 +5267,7 @@
* arch/arm/src/sama5/sam_boot.c: Boot logic now initially
configures DRAM as strongly ordered so that it can be initialized.
After initialization, the page table entries are modified so
that DRAM is fully cache-able (2018-8-2).
that DRAM is fully cache-able (2016-8-2).
* arch/arm/src/sama5/chip/sam_mpddrc.h: Correct typos in the
SAMA5 DDR controller register definitions (2013-8-2).
* arch/arm/src/sama5/sam_irq.c: Correct handling of spurious
@ -11406,30 +11406,31 @@
sem_tickwait() does not return an -1+errno, it returns a negated
errno value. Noted by Freddie Chopin.
7.15 2016-xx-xx Gregory Nutt <gnutt@nuttx.org>
7.15 2016-03-27 Gregory Nutt <gnutt@nuttx.org>
* drivers/analog/adc1242.c and include/nuttx/analog/adc1242.h: Driver
* drivers/analog/ads1242.c and include/nuttx/analog/ads1242.h: Driver
for the 24-Bit Differential Input ADC ADS1242 that communicates via
SPI with a MCU. Reading the ADC conversion result as well as configuring
the ADC, setting the input channel, etc. is implemented via ioctl calls.
However, it does not yet implement the standard ADC interface. From
* configs/board/src/xyz_cxxinitialize.c: Move CXX initialization logic
Alexander Entinger (2016-01-29)
* configs/board/src/xyz_cxxinitialize.c: Move C++ initialization logic
out of the RTOS and into the application space, specifically to
apps/platform/board, where it belongs (2016-01-29).
* drivers/modem/u-blox.c and include/nuttx/drivers/u-blox.h: Add an upper
half driver for the U-Blox Modem. From Vladimir Komendantskiy
(2018-01-30).
(2016-01-30).
* arch/arm/src/lpc17xx: Backport lpc43xx I2C driver, replacing the
lpc17xx I2C driver. This gives us the I2C_TRANSFER method (2016-01-30).
* arch/arm/src/lpc11xx: Backport the lpc17xx I2C driver, replacing the
lpc11xx I2C driver. This gives us the I2C_TRANSFER method (2019-01-30).
lpc11xx I2C driver. This gives us the I2C_TRANSFER method (2016-01-30).
* arch/arm/src/lpc2378: Backo the Lpc17xx I2C driver, replacing the
lpc2378 I2C driver. This gives us the I2C_TRANSFER method (2019-01-30).
* confgs/u-blox-c027: Support for the u-blox GSM and GPS module evaluation
lpc2378 I2C driver. This gives us the I2C_TRANSFER method (2016-01-30).
* configs/u-blox-c027: Support for the u-blox GSM and GPS module evaluation
board with NXP LPCExpresso LPC1768. The GSM module is one of LISA-C200,
LISA-U200 or SARA-G350. The GPS module is one of MAX-M7 or MAX-M8. From
Vladimir Komendantskiy (2016-01-31).
* drivers/, arch/, include/, numerous files: May restructuring of the I2C
* drivers/, arch/, include/, numerous files: Restructuring of the I2C
interface necessary to eliminate some thread-safety issues inherent in
the legacy I2C interface design. This effects the interface definition,
all I2C clients, and all low-level I2C drivers. I have used caution,
@ -11497,7 +11498,7 @@
per thread but, rather, per task group. I know, I preferred it the
other way too, but this is more compliant with POSIX (2016-02-18).
* fs/ procfs/fs_procfsproc.c: Add support for showing CPU if SMP is
is enabled (2016-02-19).
enabled (2016-02-19).
* include/pthread.h, sched.h, sys/types.h and other files: Rename
cpuset_t to cpu_set_t which is the type used in some non-standard
Linux/GNU interfaces. Move definitions of cpu_set_t to include/sys/types.h.
@ -11517,7 +11518,7 @@
* sched/sched: Add sched_setaffinity() and sched_getaffinity() (2016-02-19).
* drivers/leds/rgbled.c: Add a driver to manage a RGB LED via PWM. From
Alan Carvalho de Assis (2016-02-22).
* arch/arm/src/stm32fcdiscovery: Add PWM support for the onboard RGB LED
* arch/arm/src/stm32f4discovery: Add PWM support for the onboard RGB LED
From Alan Carvalho de Assis (2016-02-22).
* arch/arm/src/samv7: HSMCI driver can now be configured to handle unaligned
data buffers (2016-02-22).
@ -11549,7 +11550,7 @@
* include/nuttx/clock.h: Missing parenteses in MSEC2TICK macro can
cause wrong calculations. From Stefan Kolb (2016-03-09).
* Build system: Added a 'make olddefconfig' target that will refresh
a .config file without interaction. tools/refesh.sh no has a --silent
a .config file without interaction. tools/refesh.sh now has a --silent
option so that it can be used in batch modes without human input
(2016-03-09).
* tools/testbuild.sh: .config files were not being updated because (a)
@ -11566,8 +11567,8 @@
option to buffer RTOS instrumentation data in an in-memory buffer
(2016-03-17).
* drivers/syslog/note_driver.c: Add a character driver that will allow
an appliation to read buffered scheduler instrumentation data (2016-03-17).
* arch/arm/src/samv7/sam_usbdevhs.c: The USB drivr has had some issue that
an application to read buffered scheduler instrumentation data (2016-03-17).
* arch/arm/src/samv7/sam_usbdevhs.c: The USB driver has had some issue that
would occasionally cause loss of packets. Back last December, a fix was
put in for this but the fix apparently worsens the problem; now causing
hangs. The basic problem is that the number of busy banks (NBUSYBKS)
@ -11582,3 +11583,7 @@
* include/sys/boardctl.h, configs/boardctl.c, and many configurations: Add
boardctl() support that will permit applications to control USB devices
(2016-03-25).
* configs/stm32l476vg-disco: Add support for the STM32L476VG Discovery
board. From Dave (2016-03-25).
7.16 2016-xx-xx Gregory Nutt <gnutt@nuttx.org>

@ -1 +1 @@
Subproject commit 4dd10152e4fe4ec2594f59d0a84e7e6d288eee3d
Subproject commit ce8bd7e82a4418b24c6c04026f6019d8e0ffe849

View File

@ -10447,3 +10447,272 @@ detailed bugfix information):
link rather than the absolute path. For Cygwin, the absolute would
would need converted with cygpath. But just using the relative path
is a simpler solution.
NuttX-7.15 Release Notes
------------------------
The 115th release of NuttX, Version 7.15, was made on March 27, 2016,
and is available for download from the Bitbucket.org website. Note
that release consists of two tarballs: nuttx-7.15.tar.gz and
apps-7.15.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:
* Core OS:
- Add a state variable that provides the current level of OS
initialization. This is needed by some logic that may attempt to
run early in the start-up sequence but cannot run if a sufficient
level of initialization has not yet occurred.
- Spinlocks: Add interface definitions for to support spinlocks as
needed for multi-CPU configurations.
- SMP support. Support for Symmetric Multi-Processing (SMP) added.
This affects many internal data structures, spinlock extensions
and renaming of interrupt enable/disable interfaces, new platform
interfaces to support CPU initialization and inter-actions, and
new application interfaces to manage CPU affinity. The changes
are too extensive to summarize here; see the SMP Wiki page at
http://www.nuttx.org/doku.php?id=wiki:nxinternal:smp. The
new platform interfaces are also described in the NuttX porting
guide: http://www.nuttx.org/doku.php?id=documentation:portingguide.
Only partially verified; awaiting hardware for the complete
verification.
- TLS: Basic definitions needed to support thread local storage
(TLS). TLS is not used anywhere yet (and may not be used in the
near future either).
- Performance Monitoring: Add a configuration option to buffer
RTOS instrumentation data in an in-memory buffer.
- boardctl(): Add boardctl() support that will permit applications
to control USB devices.
* File Systems/Block Drivers:
- procfs: Add /proc/kmm entry that shows that state of the kernel
heap. Only useful in PROTECTED and KERNEL build modes where there
is a kernel heap.
- procfs: Add support for showing CPU in the tast status if SMP is
enabled.
* Networking:
- ARP: Add support for IOCTL commands to manage the ARP table.
- IEEE 802.15.4 and 6LowPAN: There are some radio drivers and a
directory structure is in place. However, most of this
development is occurring on a fork and is not yet available in the
NuttX repositories. Hopefully in NuttX-7.16.
* Common Device Drivers:
- ADS1242: Driver for the 24-Bit Differential Input ADC ADS1242 that
communicates via SPI with a MCU. Reading the ADC conversion result
as well as configuring the ADC, setting the input channel, etc. is
implemented via ioctl calls. However, it does not yet implement
the standard ADC interface. From Alexander Entinger.
- U-Blox Modem: Add an upper half driver for the U-Blox Modem. From
Vladimir Komendantskiy.
- I2C: Add an I2C, "upper half", character drivers to support raw I2C
data transfers for test applications.
- RGB LED: Add a driver to manage a RGB LED via PWM. From Alan
Carvalho de Assis.
- Performance Monitoring: Add a character driver that will allow an
application to read buffered scheduler instrumentation data.
* Simulation Platform:
- SMP: Add multi-CPU support to the simulation to support SMP
investigation. There are issues with the simulation and it is less
than perfect but sufficient for some very preliminary testing of
the core SMP feature.
* ARMv7-A, ARMv7-R, and ARMv7-M:
- ARMv7-A, ARMv7-R, and ARMv7-M: Add test-and-set logic and
definitions needed to supports spinlocks.
- ARMv7-A: Added MPCOre Generic Interrupt Controller (GICv2) and
Global Timer support
- ARMv7-A: Now includes in MCU-specific hooks needed for SMP support.
* Atmel SAMV7 Drivers:
- HSMSI: HSMCI driver can now be configured to handle unaligned data
buffers.
* NXP Freescale LPC11xx/17xx/43xx and LPC2378 Drivers:
- I2C: Backported the LPC43XX I2C driver, replacing the LPC11XX,
LPC17XX, and LPC2378 I2C drivers. This gives us the I2C_TRANSFER
method in all I2C drivers.
* NXP Freescale LPC17xx Boards:
- Support for the u-blox GSM and GPS module evaluation board with
NXP LPCExpresso LPC1768. The GSM module is one of LISA-C200,
LISA-U200 or SARA-G350. The GPS module is one of MAX-M7 or
MAX-M8. From Vladimir Komendantskiy.
* NXP Freescale i.MX6:
- Basic support is in place for the i.MX6 Quad/Dual MCUs.
Verification is, however, waiting for the receipt of hardware.
* NXP Freescale i.MX6 Boards:
- Sabre-6Quad: Basic support for the NXP/Freescale Sabre 6Quad
board is in place but waiting for hardware for verification.
* STMicro STM32:
- STM32F46xx: Support for STM32F46xx from Paul Alexander Patience
- STM32L4: Add support for the STM32L4 family. From Sebastien
Lorquet.
* STMicro STM32 Boards:
- STM32F4 Discovery: Add PWM support for the onboard RGB LED. From
Alan Carvalho de Assis.
- Nucleo-L476: Add support for the Nucleo-L476 board. From Sebastien
Lorquet.
- STM32L476VG Discovery: Add support for the STM32L476VG Discovery
board. From Dave.
* Tools:
- tools/refesh.sh now has a --silent option so that it can be used in
batch modes without human input.
* Build System:
- Added a 'make olddefconfig' target that will refresh a .config file
without interaction.
* Applications: NSH
- 'arp': Add an 'arp' command that will support access to the OS ARP
table.
- 'ps': The 'ps' command will show CPU if SMP is enabled.
* Applications: apps/netutils:
- apps/netutils/chat: Chat logic contributed by Vladimir
Komendantskiy.
- apps/netutils/netlib: Add utility functions to support accesses to
the ARP table.
* Applications: apps/examples:
- apps/examples/chat: Chat example contributed by Vladimir
Komendantskiy.
- apps/sysem/ubloxmodem: Example to control the power
state of the modem in nsh. From Vladimir Komendantskiy.
- apps/examples/leds: An example to demonstrate use of LED driver.
- apps/examples/smp: Add a test to verify SMP configurations.
- apps/examples/rgbled: Example using the RGB LED driver to drive an
RGB LED via PWM. From Alan Carvalho de Assis.
- apps/examples/ostest: Add a test of TLS.
- apps/examples/sched_note: Add a simple example to exercise the
scheduler instrumentation logic.
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:
- Signals: Move the list of signal actions from the TCB to the group
structure. Signal handlers are not per thread but, rather, per task
group. I know, I preferred it the other way too, but this is more
compliant with POSIX.
- Semaphores: Add an internal, non-standard interface to reset a
semaphore count. This is sometimes needed by drivers in order to
recover from error conditions. Were previously using sem_init()
which is both inappropriate and incorrect if the semaphore count is
negative.
- Low-Priority Work Queue: Fix logic to find an IDLE worker thread;
the test for busy was backward. From Linfei Chen.
* File System/Block Drivers:
- FAT: Add an option to force all transfers to be performed
indirectly using the FAT file system's internal sector buffers.
This is a fix for the case where the user provided buffers are not
properly aligned for DMA (as with THTTPD).
- MTD: Increase block size in mtd_geometry_s to 32-bits.
* Common Drivers:
- I2C: Restructured the I2C interface as necessary to eliminate some
thread-safety issues inherent in the legacy I2C interface design.
This effects the interface definition, all I2C clients, and all low-
level I2C drivers. I have used caution, but I still expect a change
of this magnitude to introduce some errors. Any bug reports of bug
fixes will be much appreciated.
- I2C_RESET: Eliminate up_i2creset(). It should not be a global
function; Now it is an I2C interface method.
- PCA555: Add logic to make the PCA555 driver thread safe.
- syslog: If syslog timestamping is enabled, don't try to get the time
if the timer hardware has not yet been initialized.
- AT24xx driver: Correct missing address calculation logic. From Frank
Benkert.
* Networking:
- Networking drivers that support CONFIG_NET_NOINTS: Fix a race
condition that can cause the TX poll timer to stop running. From
Manuel Stuhn.
- Timer Poll: Fix some logic when there are multiple network
interfaces. In this case, TCP timeout events can really only being
processed when the poll from the correct device is received.
* Atmel SAMV7 Drivers:
- SAMV7 USB HS device: The USB driver has had some issue that would
occasionally cause loss of packets. Back last December, a fix was
put in for this but the fix apparently worsens the problem; now
causing hangs. The basic problem is that the number of busy banks
(NBUSYBKS) status is not real time but is delayed. This was fixed;
now when the DMA completes and NBUSYBKS > 0, the NBUSYBK is
interrupt is enabled and the operations are deferred until NBUSYBKS
is truly zero.
* Tools:
- tools/testbuild.sh: .config files were not being updated because
(a) kconfig-conf was being called in the wrong directory and (b)
apps/Kconfig had not yet been created. Now uses 'make
olddefconfig'.
* Applications: apps/system:
- apps/system/i2c: The I2C tool now obeys it OS interfacing: it now
uses an I2C character driver to access the I2C bus.
- apps/system/cdcacm, usbmsc, and composite: Use new boardctl()
instead of calling directly in the OS when possible.
* Applications: apps/netutils:
- apps/netutils/dhcpd: DHCPD no longer calls directly into the OS but
uses the new network IOCTL commands to modify the ARP table.
* Applications: apps/modbus:
- apps/modbus/nuttx/portserial.c: Was not returning an error on
failure to open the device driver. From Olololshka kokoko.
* Applications: apps/examples:
- apps/examples/usbserial, composite, usbterm: Use new boardctl()
instead of calling directly in the OS when possible. There are
still a few bad OS calls for USB device interfaces that do not yet
have boardctl() commands.
* Applications: apps/platform:
- Moved C++ initialization logic out of the RTOS and into the
application space, specifically to apps/platform/board, where it
belongs.

@ -1 +1 @@
Subproject commit 7d4cd683fe8b2a6be2bf9d25c91afefa877a50bf
Subproject commit c36ca087a3ac12a72fb3a5601bcb46254bd223e6