diff --git a/COPYING b/COPYING
index 1c82d0ca202..a8113ab027c 100644
--- a/COPYING
+++ b/COPYING
@@ -93,7 +93,7 @@ has a similar BSD style license:
IGMP
^^^^
-IGMP support, if enabled in uIP, adds additional logic by Steve Reynolds:
+IGMP support, if enabled, adds additional logic by Steve Reynolds:
Copyright (c) 2002 CITEL Technologies Ltd.
All rights reserved.
diff --git a/ChangeLog b/ChangeLog
index 91871e15aa7..7cfae89153f 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -11586,7 +11586,7 @@
* configs/stm32l476vg-disco: Add support for the STM32L476VG Discovery
board. From Dave (2016-03-25).
-7.16 2016-xx-xx Gregory Nutt
+7.16 2016-06-01 Gregory Nutt
* PM: Add activity domain to all PM interfaces and driver callbacks. If
CONFIG_PM_NDOMAINS == 1, then the legacy behavior is preserved. If
@@ -11615,7 +11615,7 @@
* STM3220G-EVAL: Add support for both the IAR and uVision GCC IDEs
From Kha Vo (2016-04-08).
* STM32F429I Discovery: Add support for the uVision GCC IDE. From
- * Kha Vo (2016-04-08).
+ Kha Vo (2016-04-08).
* libc/signal and include/signal.h: Rename sigset() to signal().
sigset() is the System V function; signal() is the obsoleted POSIX
name. These seem to be equivalent. Neither are relevant in modern
@@ -11640,7 +11640,7 @@
is interpreted as a packed dual frame exchange. Sebastien Lorquet
(2016-04-13).
* net/sockets/listen.c and accept.c and include/nuttx/net: Separate
- out psock_listen() and psock_accepti() for internal OS usage
+ out psock_listen() and psock_accept() for internal OS usage
(2016-04-14).
* fs/inode/, fs/vfs/, and sched/task/: File and socket descriptors are
no longer allocated for kernel threads. They must use SYSLOG for
@@ -11750,3 +11750,211 @@
the watchdog driver by calling the appropriate, MCU-specific driver
configuration function from your board initialization logic
(2016-05-18).
+ * arch/srm/src/stm32l4: Add CAN support for STM32L4. From Sebastien
+ Lorquet (2016-05-19).
+ * arch/arm/src/samv7: Adds a JTAG config and ERASE config to Kconfig to
+ set the CCFG_SYSIO SYSIO Pins. From David Sidrane (2016-05-19).
+ * arch/sim/src: Enhance networking support for the simulation under Linux.
+ Includes updated support for Linux TUN/TAP, and the addition of support
+ for Linux bridge devices. From Steve (2016-05-20).
+ * configs/stm32f411e-disco: Add basic configuration for stm32f411e-disco
+ board with STM32F411VE chip. From Konstantin Berezenko (2016-05-20).
+ * i.MX6 Sabre-6Quad: Basic SMP NSH configuration is now working. But
+ this is probably only because the SMP NSH case does not stress the
+ logic. There are know outstanding SMP issues as noted in the
+ Sabre-6Quad README.txt file (2016-05-22).
+ * configs/sabre-6quad: Add an SMP configuration; Enable procfs in all
+ configurations (2016-05-22).
+ * include/nuttx/crypto/aes.h: Modifications to the crypto API needed
+ for LPC43xx. From Alexander Vasiljev (2016-05-23).
+ * arch/arm/src/lpc43xx: Add AES support. From Alexander Vasiljev
+ (2016-05-24).
+ * configs/*/src/tiva_timer.c: Tiva boards: Fix a naming collision,
+ rename board-specific function from tiva_timer_initialize() to
+ tiva_timer_configure() to remove conflict (2016-05-23).
+ * arch/arm/src/sam*: Ensure that the TWIHS (i2c) hw get's its clock
+ set when the sequence of sam_i2cbus_initialize(),
+ sam_i2cbus_uninitialize(), then sam_i2cbus_initialize() or twi_reset()
+ is called. I found this a while back in the stm32 family, so there
+ may be more arch-es with this sort of bug. I suppose any driver that
+ has the notion of "do not set the freq if it is already set" could be
+ suspect. From David Sidrane (2016-05-23).
+ * arch/arm/src/samv7: Add the up_systemreset interface to the samv7
+ arch. The approach is slightly different in that: 1) It enables
+ ARCH_HAVE_RESET and allows the user to set if, and for how long, to
+ drive External nRST signal. It also does not contain a default
+ board_reset, as that really should be done in the config's src if
+ CONFIG_BOARDCTL_RESET is defined. From David Sidrane (2016-05-23).
+ * arch/arm/include/lpc43xx and src/lpc43xx: Adds definitions for the
+ LPC4337jet100 chip. From Alexander Vasiljev (2016-05-24).
+ * Many files: board_app_initialize() now accepts an argument that may
+ be used to support initialization in different configurations
+ (2016-05-24).
+ * arch/arm/src/samv7: Remove disabling of whole USB on suspend of USBHS.
+ This fix removes the disabling of the whole USB peripheral on suspend
+ interrupt. Its enough to freeze the clock instead. When disabling the
+ whole peripheral, the next wakeup-interrupt comes up with an disabled
+ clocking. The unfreeze clock has no effect, because the master clock
+ is disabled. This makes all registers, including the IDR unwriteable
+ and the IRQ falls in an endless loop blocking the whole system.
+ Furthermore the disabling of the peripheral clock prevents hotplugging
+ or reconnecting the USB. From Frank Benkert (2015-05-25).
+ * drivers/lcd: Add support for PCF8574 LCD Backpack driver. This driver
+ supports an interface board that is based on the PCF8574 io expander
+ and supports the HD44780-based (or compatible) LCD modules. There
+ are a myriad of different vendors of such, but they are principally
+ the same, save wiring and minor features like jumpers for I2C
+ addresses. This driver supports known and unknown variants. From
+ Dave (ziggurat29, 2013-6-26).
+ * arch/arm/stm32: Add support for a custom 1-wire driver. The serial
+ driver already supports a 1-wire interface, but this driver uses the
+ same serial logic to implement a lower half driver much like the I2C
+ lower half driver. From Aleksandr Vyhovanec (2015-05-25).
+ * fs/: Add logic to detach a file structure from a file descriptor.
+ This is for use only within the OS. It permits an open file or driver
+ to be used across multiple threads (2016-05-26).
+ * arch/arm/src/stm32l4: Get I2C working for STM32L4. From Dave
+ (ziggurat29) (2016-05-25).
+ * fs/ and include/nuttx/fs: Add logic to detach a file structure from a
+ file descriptor. This is for use only within the OS. It permits an
+ open file or driver to be used across multiple threads. (2016-05-26).
+ * drivers/analog/adc.c, include/nuttx/analog/adc.h, and all ADC lower
+ half drivers: No longer uses global adc_receive() call. Added a new
+ bind() method to the ADC interface. Now the ADC upper half driver
+ will register its receipt-of-data callback. This change allows the
+ ADC lower half driver to be used with a differ ADC upper half
+ (2016-05-26).
+ * drivers/analog/ads1255.c: Must not do SPI access from interrupt
+ handler. Use the worker thread instead. Must also lock the SPI bus
+ before using it. (2015-05-26).
+ * drivers/: Several SPI-based drivers modified. All drivers that use
+ SPI must call SPI_LOCK and SPI_UNLOCK. This is not optional
+ (2016-05-26).
+ * drivers/sensors: Fix a bug in crc computation for ms583730.
+ Implement POSIX read (2016-05-27).
+ * arch/arm/src/samv7: This is a fix to a problem in the handling of the
+ oneshot timer. Due to a wrong assumption concerning the behavior
+ directly after the start of the timer/counter the function
+ sam_oneshot_cancel(…) calculates the wrong remaining time. The code
+ assumes that the counter register is zero directly after the start of
+ the timer, but this is not true. To start the time/counter a software
+ trigger is invoked, this trigger starts the timer/count and sets the
+ counter register to zero, but the reset of the counter register is not
+ performed instantly. According to the datasheet: "The counter can be
+ reset by a trigger. In this case, the counter value passes to zero on
+ the next valid edge of the selected clock." Thus the counter is set to
+ zero between 0 and USEC_PER_TICK microseconds after the clock was
+ started.
+ In my fix I use the freerun count value to determine if at least one
+ tick passed since the start of the timer and thus if the value of the
+ oneshot counter is correct. I also tried to use the function
+ up_timer_gettime(…) to achieve this but, at least if compiled with no
+ optimization the problem vanishes without using the value of the
+ function, the function call takes too long.
+ Another problem treated in the fix is that if the oneshot timer/counter
+ is canceled, we only know the remaining time with a precision of
+ USEC_PER_TICK microseconds. This means the calculated remaining time
+ is between 0 and USEC_PER_TICK microseconds too long. To fix this I
+ subtract one tick if the calculated remaining time is greater than one
+ tick and otherwise set the remaining time to zero. By doing so the
+ measured times are much more precise as without it. From Stefan Kolb
+ (2016-05-27).
+ * arch/arm/src/sama5: Stefan Kolb's change to the SAMV7 Oneshot Timer
+ should also be applied to the SAMA5 oneshot time since the drivers are
+ identical (2016-05-27).
+ * arch/arm/src/stm32l4: Add support for SPI 4 and 5 on stm32f411 chips.
+ From Konstantin Berezenko (2016-05-27).
+ * arch/arm/src/sam34: Stefan Kolb's change to the SAMV7 Oneshot Timer
+ should also be applied to the SAM3/4 oneshot time since the drivers
+ are identical (2016-05-29).
+ * arch/arm/src/stm32: Allow to not use all channel in a lower part of
+ PWM. From Pierre-noel Bouteville (2016-05-30).
+ * libc/math: Add a NAN test on 'x' in asin function of lib_asin.c.
+ Suggested by Pierre-noel Bouteville (2016-05-31).
+ * arch/arm/src/stm32: Fix logic in F4 RTCC driver that prevent ALARM
+ interrupt. From Neil Hancock (2016-05-31).
+ * arch/arm/src/stm32: Fix STM32 ValueLine ADC IRQ number selection.
+ From David Sidrane (2016-05-31).
+ * arch/arm/src/samv7: Fix missing unlock of device in MCAN
+ mcan_txempty(). From Frank Benkert (2016-06-01).
+
+7.17 2016-xx-xx Gregory Nutt
+
+ * drivers/mtd/flash_eraseall.c: Removed. This is no longer used
+ in the OS and is simply a wrapper around the MDIOC_BULKERASE
+ IOCTL command. It used to be called (only) from
+ apps/system/flash_eraseall, but that has been removed because it
+ violated the OS/application interface -- by calling flash_eraseall().
+ The old code can be found in the Obsoleted' repository (and a revised
+ version can be found at apps/fsutils/flash_eraseall) (2016-06-03).
+ * arch/arm/src/stm32: STM32 Timer Driver: Change calculation of per-
+ timer pre-scaler value. Add support for all timers (2016-6-03)
+ * drivers/lcd: Correct conditional compilation in ST7565 driver. From
+ Pierre-noel Bouteville (2016-6-03)
+ * arch/arm/src/stm32: Correct conditional compilation in STM32 timer
+ capture logic. From Pierre-noel Bouteville (2016-6-03)
+ * arch/arm/src/efm32: Fix EFM32 FLASH conditional compilation. From
+ Pierre-noel Bouteville (2016-6-03)
+ * arch/arm/src/lpc43xx: Fix errors in GPIO interrupt logic. From v01d
+ (phreakuencies) (2016-06-04)
+ * arch/arm/src/kl and lpc11xx: rename xyz_lowputc to up_putc. Remove
+ all references to up_lowputc, everywhere (2016-06-04).
+ * configs/stm32f103-minimum: Add minnsh configuration. From Alan
+ Carvalho de Assis (2016-06-04).
+ * arch/arm/src/stm32: Add the up_getc() function to STM32 in order to
+ support the minnsh configuration. From Alan Carvalho de Assis
+ (2016-06-04).
+ * include/sys/boardctl.h: Needs to be usable with C++ files (2016-06-05).
+ * tools/tesbuild.sh will now build NxWM configurations (2016-06-05).
+ * arch/arm/src/stm32: In PWM driver, just update duty if frequency is
+ not changed and PSM started. This removeis glitch or blinking when
+ only duty is frequently changed. From Pierre-noel Bouteville (2016-06-05).
+ * arch/arm/src/kinetis: Add a USB device controller driver. Derived from
+ the pic32mx usb driver, which uses the same usb controller. From kfazz
+ (2016-06).
+ * configs/teensy-3.x: Add USB support and a usbnsh configuration. From
+ kfazz (2016-06).
+ * arch/arm/src/stm32: Add support for the STM32F105R. From Konstantin
+ Berezenko (2016-06-06).
+ * include/signal.h: Change type of SIG_ERR, SIG_IGN, ... to
+ _sa_handler_t. They type void does not work with the IAR toolchain.
+ From Aleksandr Vyhovanec (2016-06-07).
+ * arch/arm/src/stm32f7 and include/stm32f7: Added STM32FF76xxx and
+ STM32FF7xx families. From David Sidrane (2016-06-08).
+ * Refactoring configs/nucleo-144 sub-directories to support additional
+ nucleo-144 board. Add support for the Nucleo-F767ZI board. From David
+ Sidrane (2016-06-08).
+ * arch/arm/src/kinetis: Add a USB device controller driver for kinetis.
+ Derived from pic32mx usb driver, which uses the same usb controller.
+ From kfazz (2016-06-06).
+ * configs/teensy-3.x: Add USB device support and usbnsh configuration.
+ From kfazz (2016-06-06.
+ * arch/arm/src/stm32: Add STM32F105R support. From Konstantin Berezenko
+ (2016-06-06).
+ * include/signal.h: Change type of SIG_IGN and related defines to
+ _sa_handler_t. From Aleksandr Vyhovanec (2016-06-07).
+ * configs/nucleo-144: Refactored configs/nucleo-144 sub-directories to
+ support additional nucleo-144 board. Add support for the Nucleo-F767ZI
+ board. From David Sidrane (2016-06-07).
+ * arch/arm/src/stm32f7: Add support for STM32FF76xxx and STM32FF7xx
+ families. From David Sidrane (2016-06-08).
+ * include/assert.h: Check if NDEBUG is defined. From Paul Alexander
+ Patience (2016-06-08).
+ * arch/arm/src/stm32: Fix STM32 DMA code and configuration for STM32F37X
+ chips. From Marten Svanfeldt (2016-06-08).
+ * drivers/mtd: Add a driver of IS25xP SPI flash devices. From Marten
+ Svanfeldt (2016-06-09).
+ * arch/arm/src/Kconfig and configs/teensy-3.x: Teensy clock fixes. The
+ High Gain bit in MCG_C1 was preventing teensy from booting except
+ after a programming session. The second change doesn't appear to
+ change any functionality, but complies with restrictions in the k20
+ family reference manual on FEI -> FBE clock transiions. From kfazz
+ (2016-06-09).
+ * configs/*/include/board.h: Fix timer input clock definitions. From
+ David Sidrane (2016-06-09).
+ * Networking: In both IPv6 and IPv4 incoming logic: (1) Should check
+ if the packet size is large enough before trying to access the packet
+ length in the IP header. (2) In the comparison between the IP length
+ and the full packet length, need to subtract the size of the link
+ layer header before making the comparison or we will get false
+ positives (i.e., the packet is really too small) (2016-06-09)
diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html
index 9910e4c275d..83c42c61cfd 100644
--- a/Documentation/NuttX.html
+++ b/Documentation/NuttX.html
@@ -8,7 +8,7 @@
NuttX RTOS
- Last Updated: April 12, 2016
+ Last Updated: June 1, 2016
|
@@ -1340,11 +1340,11 @@
Released Versions
In addition to the ever-changing GIT repository, there are frozen released versions of NuttX available.
- The current release is NuttX 7.15.
- NuttX 7.15 is the 115th release of NuttX.
- It was released on March 27, 2016, and is available for download from the
+ The current release is NuttX 7.16.
+ NuttX 7.16 is the 116th release of NuttX.
+ It was released on June 1, 2016, and is available for download from the
Bitbucket.org website.
- Note that the release consists of two tarballs: nuttx-7.15.tar.gz and apps-7.15.tar.gz.
+ Note that the release consists of two tarballs: nuttx-7.16.tar.gz and apps-7.16.tar.gz.
Both may be needed (see the top-level nuttx/README.txt file for build information).
@@ -1353,7 +1353,7 @@
- nuttx.
- Release notes for NuttX 7.15 are available here.
+ Release notes for NuttX 7.16 are available here.
Release notes for all released versions on NuttX are available in the Bitbucket GIT.
The ChangeLog for all releases of NuttX is available in the ChangeLog file that can viewed in the Bitbucket GIT.
The ChangeLog for the current release is at the bottom of that file.
@@ -1361,7 +1361,7 @@
apps.
Atmel AVR
@@ -2257,7 +2257,7 @@
NXP/Freescale i.MX6.
- A port is underway for the following i.MX6 board
+ The basic port has been completed for the following i.MX6 board
-
@@ -2268,9 +2268,13 @@
STATUS:
- The basic, minimal port is code complete and introduced in NuttX-7.15, but has not yet been tested.
- I am still waiting for the reciept of the Sabre board.
- Expect to see the verified Sabre-6Quad support (with SMP!) in NuttX-7.16.
+ The basic, minimal port is code complete and introduced in NuttX-7.15, but had not yet been tested at that time due to the inavailability of hardware.
+ This basic port was verified in the NuttX-7.16 release, however.
+ The port is still mininal and more device drivers are needed to make the port usable.
+
+
+ Basic support of NuttX running in SMP mode on the i.MX6Q was also accomplished in NuttX-7.16.
+ However, there are still known issues with SMP support on this platform as described in the README file for the board.
@@ -2907,13 +2911,26 @@ nsh>
|
STMicro STM32F103C4/8 (STM32 F1 Low- and Medium-Density Family).
- This port is for "STM32 Tiny" development board.
- This board is available from several vendors on the net, and may be sold under different names.
- It is based on a STM32 F103C8T6 MCU, and is bundled with a nRF24L01 wireless communication module.
+ There are two ports available for this family:
-
- STATUS:
+ -
+
+ One port is for "STM32 Tiny" development board.
+ This board is available from several vendors on the net, and may be sold under different names.
+ It is based on a STM32 F103C8T6 MCU, and is bundled with a nRF24L01 wireless communication module.
+
+
+ -
+
+ The other port is for a generic minimual STM32F103CBT6 "blue" board contributed by Alan Carvalho de Assis.
+
+
+
+
+ STATUS:
+
+
The basic STM32F103C8 port was released in NuttX version 6.28.
This work was contributed by Laurent Latil.
Refer to the NuttX board README file for further information.
@@ -3160,11 +3177,17 @@ nsh>
- STATUS:
- The peripherals of the STM32 F2 family are compatible with the STM32 F4 family.
- See discussion of the STM3240G-EVAL board below for further information.
- Refer also to the NuttX board README file for further information.
-
+
+ STATUS:
+ The peripherals of the STM32 F2 family are compatible with the STM32 F4 family.
+ See discussion of the STM3240G-EVAL board below for further information.
+ Refer also to the NuttX board README file for further information.
+
+
+ Support for both the IAR and uVision GCC IDEs added for the STM3220G-EVAL board in NuttX 7.16.
+ From Kha Vo.
+
+
|
@@ -3779,6 +3802,10 @@ nsh>
In Nutt-7.7, Marco Krahl included support for a framebuffer based driver using the LTDC and DMA2D.
Marcos's implementation included extensions to support more advance LTDC functions through an auxiliary interface.
+
+ Support for the uVision GCC IDE added for theSTM32F429I-Discovery board in NuttX 7.16.
+ From Kha Vo.
+
Refer to the STM32F429I-Discovery board README file for further information.
@@ -3853,6 +3880,15 @@ nsh>
UART, USART, Serial Console
GPIO, DMA, I2C, RNG, SPI
+
+ NuttX-7.16.
+ Additional drivers were contributed:
+
+
+ - QSPI with DMA and memory mapped support. From Dave (ziggurat29).
+ - CAN contributed by Sebastien Lorquet.
+ - I2C made functional by Dave (ziggurat29).
+
@@ -3968,6 +4004,13 @@ nsh>
The NXP WaveShare LPC4337-WS port is was contributed by Lok Tep and first released in NuttX-7.14.
+
+ NuttX-7.16
+ Support for the LPC4337JET100 chip was contribed by Alexander Vasiljev.
+ Alexander also contributed an LPC43xx AES driver available in NuttX-7.16.
+
+
+
@@ -4407,13 +4450,24 @@ Mem: 29232 5920 23312 23312
STMicro STM32 F745/F746.
- This port uses the STMicro STM32F746G-DISCO development board featuring the STM32F746NGH6 MCU. The STM32F746NGH6 is a 216MHz Cortex-M7 operation with 1024Kb Flash.
- Refer to the STMicro web site for further information about this board.
+ Two boards are supported for this MCU:
- STATUS:
- The basic port is complete and there are two, verified configurations available.
+ STM32F746G Discovery.
+ One port uses the STMicro STM32F746G-DISCO development board featuring the STM32F746NGH6 MCU. The STM32F746NGH6 is a 216MHz Cortex-M7 operation with 1024Kb Flash.
+ Refer to the STMicro web site for further information about this board.
+
+
+ A basic port for the Nucleo-144 board with the STM32F746ZG MCU was contribued in NuttX-7.16 by Kconstantin Berezenko.
+
+
+
+ STATUS:
+
+
+
+ The basic STM32F746G-DISCO port is complete and there are two, verified configurations available.
Both configurations use the NuttShell (NSH) and a serial console; one includes Ethernet support.
DMA supports is available.
The STM32 F7 peripherals are very similar to some members of the STM32 F4 and additional drivers can easily be ported the F7 as discussed in this Wiki page: Porting Drivers to the STM32 F7
diff --git a/Documentation/NuttxPortingGuide.html b/Documentation/NuttxPortingGuide.html
index ff3990c9d9b..9fc2e5e9e29 100644
--- a/Documentation/NuttxPortingGuide.html
+++ b/Documentation/NuttxPortingGuide.html
@@ -4901,8 +4901,7 @@ int kbd_decode(FAR struct lib_instream_s *stream, FAR struct kbd_getstate_s *sta
include/nuttx/net/netdev.h.
All structures and APIs needed to work with Ethernet drivers are provided in this header file.
- The structure struct net_driver_s defines the interface and is passed to uIP via
- netdev_register().
+ The structure struct net_driver_s defines the interface and is passed to the network via netdev_register().
-
diff --git a/Documentation/NuttxUserGuide.html b/Documentation/NuttxUserGuide.html
index a91959e198d..3766eba646f 100644
--- a/Documentation/NuttxUserGuide.html
+++ b/Documentation/NuttxUserGuide.html
@@ -8755,9 +8755,8 @@ FAR void *mmap(FAR void *start, size_t length, int prot, int flags, int fd, off_
- NuttX includes a simple interface layer based on uIP (see http://www.sics.se).
- NuttX supports subset of a standard socket interface to uIP.
- These network feature can be enabled by settings in the architecture configuration file.
+ NuttX supports a BSD-compatible socket interface layer.
+ These socket interface can be enabled by settings in the architecture configuration file.
Those socket APIs are discussed in the following paragraphs.
|