Update ReleaseNotes in preparation for NuttX-7.21 release.
This commit is contained in:
parent
5aa23da717
commit
a46a748bfa
104
ChangeLog
104
ChangeLog
@ -584,7 +584,7 @@
|
||||
* Added fixed precision math support
|
||||
* Added some color converson routines into what may become a real graphics library someday.
|
||||
* Added a framebuffer driver for the DM320 (untested on initial check-in)
|
||||
* Network: add support for outgoing multicast addresses
|
||||
* Network: Add support for outgoing multicast addresses
|
||||
* Added some rasterizers to the graphics library
|
||||
|
||||
0.4.0 2008-12-06 Gregory Nutt <gnutt@nuttx.org>
|
||||
@ -924,7 +924,7 @@
|
||||
context switches and background/user context switches. This change should
|
||||
improve the performance of those background/user context switches by a factor
|
||||
of about two.
|
||||
* arch/arm/src/stm32/: fix several typos in the serial logic. It turns out
|
||||
* arch/arm/src/stm32/: Fix several typos in the serial logic. It turns out
|
||||
that these typose don't make any difference as long as you use only one
|
||||
serial port and all uarts are configured the same. But the typos are bugs
|
||||
waiting to happen in any other configuration.
|
||||
@ -1591,7 +1591,7 @@
|
||||
where the GPL driver(s) can be re-installed into the NuttX source
|
||||
tree. By re-installing the driver, you agree to the GPL licsensing
|
||||
and all of its implications.
|
||||
* Makefile, apps/Makefile, tools/configure.sh: add logic to copy
|
||||
* Makefile, apps/Makefile, tools/configure.sh: Add logic to copy
|
||||
configs/<board>/<config>/appdir to apps/.config and to simply the
|
||||
application configuration logic.
|
||||
* examples/nsh and apps/nshlib: Move the core NuttShell (NSH) logic
|
||||
@ -1617,7 +1617,7 @@
|
||||
without the SDcard (but one issue still exists in STM32)
|
||||
* arch/arm/src/stm32/stm32_tim.*: Added basic timer support TIM1..TIM8
|
||||
with output PWMs and interrupt logic
|
||||
* config/vsn/src: added basic support for Sensor Interface (GPIO and
|
||||
* config/vsn/src: Added basic support for Sensor Interface (GPIO and
|
||||
PWM Power Output, and the sif utility program)
|
||||
* fs/: Reorgnize header so that file systems can be built outside
|
||||
of the nuttx source tree
|
||||
@ -6362,7 +6362,7 @@
|
||||
from Max Holtzberg (2014-1-4).
|
||||
* configs/olimex-stm32-p107/nsh/Make.defs: Add native Windows build
|
||||
support for the Olimex STM32 P107. From Max Holtzberg (2014-1-4).
|
||||
* Makefile.win: Changes for native Windows build: fix creation of
|
||||
* Makefile.win: Changes for native Windows build: Fix creation of
|
||||
a .version file if one does not exist. Make sure that the APPDIR
|
||||
environment variable is set before configuring. From Max Holtzberg
|
||||
(2014-1-4).
|
||||
@ -9341,11 +9341,11 @@
|
||||
That is because not handles not only the case of semaphore wait
|
||||
being awakened by a signal, but also the case with sem_timedwait.c
|
||||
when the semaphore wait is awakened by a timeout (2014-12-28).
|
||||
* arch/arm/src/stm32/stm32_ltdc.c: stm32: fix faulty access to non-
|
||||
* arch/arm/src/stm32/stm32_ltdc.c: stm32: Fix faulty access to non-
|
||||
existing layer. This disables operation that requires double layer
|
||||
support, when configured for single layer only. From Marco Krahl
|
||||
(2014-12-29).
|
||||
* arch/arm/src/stm32/stm32_ltdc.c: stm32: fix wait upon vertical blank.
|
||||
* arch/arm/src/stm32/stm32_ltdc.c: stm32: Fix wait upon vertical blank.
|
||||
This should never have occurred before. From Marco Krahl (2014-12-29).
|
||||
* configs/stm32f429i-disco/ltdc/defconfig and src/stm32_boot.c:
|
||||
stm32f429i-disco: change ltdc initializing during boot up. This moves
|
||||
@ -9465,7 +9465,7 @@
|
||||
* arch/arm/src/tiva/tm4c_ethernet.c: When calling into the stack
|
||||
from the worker thread, it is necessary to have the stack locked
|
||||
(2015-01-18).
|
||||
* nuttx/arch/arm/src/stm32/stm32_serial.c: fix declaration and
|
||||
* nuttx/arch/arm/src/stm32/stm32_serial.c: Fix declaration and
|
||||
definition of up_receive() and up_dma_receive() to match fields of
|
||||
uart_ops_s from nuttx/include/nuttx/serial/serial.h. From Freddie
|
||||
Chopin (2015-01-19).
|
||||
@ -10323,7 +10323,7 @@
|
||||
LED, PWM, and UART0 have been tested. The SPI pins are mapped
|
||||
correctly but have not yet been tested. From Michael Hope as
|
||||
SourceForge patch 51 (2015-05-07).
|
||||
* arch/arm/src/kl/kl_pwm.c: fix PWM debugging. TPM1 and TPM2 have two
|
||||
* arch/arm/src/kl/kl_pwm.c: Fix PWM debugging. TPM1 and TPM2 have two
|
||||
channels instead of six and will hard fault if you try to read the
|
||||
missing channels. From Michael Hope (2015-05-07).
|
||||
* arch/arm/src/kl/kl_lowputc.c: enable the clocks to UART1 and UART2.
|
||||
@ -11954,7 +11954,7 @@
|
||||
stm32_pwm.c. From Konstantin Berezenko (2016-06-09).
|
||||
* arch/arm/src/kinetis: Support up to 8 channels per timer. From kfazz
|
||||
(2016-06-09).
|
||||
* lib/: crc16: fix error. From Paul Alexander Patience (2016-06-10).
|
||||
* lib/: crc16: Fix error. From Paul Alexander Patience (2016-06-10).
|
||||
* lib/: Add crc64 support. From Paul Alexander Patience (2016-06-10).
|
||||
* arch/arm/src/kinetis: Added kl_dumpgpio functionality as
|
||||
kinetis_pindump. From kfazz (2016-06-10).
|
||||
@ -12243,7 +12243,7 @@
|
||||
* drivers/syslog: Add a SYSLOG character device that can be used to re-
|
||||
direct output to the SYSLOG (2016-07-05).
|
||||
* net/netdev: Break out internal interface psock_ioctl() (2016-07-06).
|
||||
* configs/stm32f4disovery: add can driver for stm32f4discovery. From
|
||||
* configs/stm32f4disovery: Add can driver for stm32f4discovery. From
|
||||
Matthias Renner (2016-07-06).
|
||||
* configs/freedom-k64f: Increase MCU clock to 120MHz (2016-07-06).
|
||||
* arch/arm/src/stm32: Add support for Tickless mode (two timer
|
||||
@ -12598,7 +12598,7 @@
|
||||
feature is EXPERIMENTAL because (1) it is untested and (2) has some
|
||||
know design issues that must be addressed before it can be of use
|
||||
(2016-08-28).
|
||||
* CXXFLAGS: add -fcheck-new whenever -fno-exceptions is used. From Beat
|
||||
* CXXFLAGS: Add -fcheck-new whenever -fno-exceptions is used. From Beat
|
||||
Küng (2016-08-23).
|
||||
* tools/mkfsdata.pl was still generating the old-style apps/include
|
||||
inclusion paths (2016-08-23).
|
||||
@ -12769,7 +12769,7 @@
|
||||
Mateusz Szafoni (2016-10-06).
|
||||
* STM32 SPI: stm32_modifycr2 should be available on all platforms if DMA
|
||||
is enabled. (2016-10-06).
|
||||
* STM32 DMA2D: fix an error in up_dma2dcreatelayer where an invalid
|
||||
* STM32 DMA2D: Fix an error in up_dma2dcreatelayer where an invalid
|
||||
pointer was returned when a certain underlying function failed. From
|
||||
Jens Gräf (2016-10-07).
|
||||
|
||||
@ -12808,10 +12808,10 @@
|
||||
* libc/locale: Add clocale header file (2016-10-18).
|
||||
* libc/wchar: Add functions btowc, mbrtowc, mbtowc, wcscmp, wcscoll,
|
||||
wmemmove. From Alan Carvalho de Assis (2016-10-18).
|
||||
* usbhost/enumerate: fix possible buffer overwrite. From Janne Rosberg
|
||||
* usbhost/enumerate: Fix possible buffer overwrite. From Janne Rosberg
|
||||
(2016-10-18).
|
||||
* configs/Board.mk: Add extra clean operations (2016-10-18).
|
||||
* usbhost/composite: fix compile; missing semicolons. From Jann
|
||||
* usbhost/composite: Fix compile; missing semicolons. From Jann
|
||||
Rosberg (2016-10-18).
|
||||
* libc/stdio: Include wchar.h in lib_libvsprintf.c to fix compilation
|
||||
error. From Alan Carvalho de Assis (2016-10-18).
|
||||
@ -12843,7 +12843,7 @@
|
||||
From Alan Carvalho de Assis (2016-10-19).
|
||||
* syslog: Fixes required for file syslog output. From Max Kriegleder
|
||||
(2016-10-19).
|
||||
* arch/arm/src/stm32: add TIM8 to STM32F103V pinmap. From Maciej Wójcik
|
||||
* arch/arm/src/stm32: Add TIM8 to STM32F103V pinmap. From Maciej Wójcik
|
||||
(2016-10-19).
|
||||
* libc/locale: Allows c++ code to compile with or without
|
||||
CONFIG_LIBC_LOCALE and will generate a link error if CONFIG_LIBC_LOCALE
|
||||
@ -12989,24 +12989,24 @@
|
||||
* arch/arm/src/armv7-r: Fix compilation error. This commit fixes
|
||||
compilation errors on MPU support for ARMv7-R. From Heesub Shin
|
||||
(2016-11-06).
|
||||
* arch/arm/src/armv7-r: fix invalid drbar handling. In ARMv7-R,
|
||||
* arch/arm/src/armv7-r: Fix invalid drbar handling. In ARMv7-R,
|
||||
[31:5] bits of DRBAR is physical base address and other bits are
|
||||
reserved and SBZ. Thus, there is no point in passing other than the
|
||||
base address. From Heesub Shin (2016-11-06).
|
||||
* arch/arm/src/armv7-r: Remove the redundant update on SCTLR.
|
||||
mpu_control() is invoking cp15_wrsctlr() around SCTLR update
|
||||
redundantly. From Heesub Shin (2016-11-06).
|
||||
* arch/arm/src/armv7-r: add new Kconfig entries for d/i-cache.
|
||||
* arch/arm/src/armv7-r: Add new Kconfig entries for d/i-cache.
|
||||
Unlike in ARMv7-A/M, Kconfig entries for data and instruction caches
|
||||
are currently missing in ARMv7-R. This commit adds those missing
|
||||
Kconfig entries. Actual implmenetation for those functions will be
|
||||
added in the subsequent patches. From Heesub Shin (2016-11-06).
|
||||
* arch/arm/src/armv7-r: add cache handling functions. This commit
|
||||
* arch/arm/src/armv7-r: Add cache handling functions. This commit
|
||||
adds functions for enabling and disabling d/i-caches which were
|
||||
missing for ARMv7-R. From Heesub Shin (2016-11-06).
|
||||
* arch/arm/src/armv7-r: fix typo in mpu support. s/ARMV7M/ARMV7R/g.
|
||||
* arch/arm/src/armv7-r: Fix typo in mpu support. s/ARMV7M/ARMV7R/g.
|
||||
From Heesub Shin (2016-11-06).
|
||||
* arch/arm/src/armv7-r: fix CPSR corruption after exception handling.
|
||||
* arch/arm/src/armv7-r: Fix CPSR corruption after exception handling.
|
||||
A sporadic hang with consequent crash was observed when booting. It
|
||||
seemed to be caused by the corrupted or wrong CPSR restored on return
|
||||
from exception. NuttX restores the context using code like this:
|
||||
@ -13027,7 +13027,7 @@
|
||||
result in the corruption of cpsr and thus unexpected behavior.
|
||||
|
||||
From Heesub Shin (2016-11-06).
|
||||
* arch/arm/src/armv7-r: fix to restore the Thumb flag in CPSR. Thumb
|
||||
* arch/arm/src/armv7-r: Fix to restore the Thumb flag in CPSR. Thumb
|
||||
flag in CPSR is not restored back when the context switch occurs while
|
||||
executing thumb instruction. From Heesub Shin (2016-11-06).
|
||||
* sched/wqueue: When queuing new LP work, don't signal any threads
|
||||
@ -13271,9 +13271,9 @@
|
||||
CONFIG_NET_MULTIBUFFER (2016-11-29).
|
||||
* stm32_otghshost: if STM32F446 increase number of channels to 16. From
|
||||
Janne Rosberg (2016-11-30).
|
||||
* usbhost_composite: fix end offset in usbhost_copyinterface(). From
|
||||
* usbhost_composite: Fix end offset in usbhost_copyinterface(). From
|
||||
Janne Rosberg (2016-11-30).
|
||||
* usbhost_cdcacm: add CDC_SUBCLASS_ACM and CDC_PROTO_ATM to supported
|
||||
* usbhost_cdcacm: Add CDC_SUBCLASS_ACM and CDC_PROTO_ATM to supported
|
||||
class and proto. From Janne Rosberg (2016-11-30).
|
||||
* LPC43 SD/MMC: Correct some git definitions on SMMC control register
|
||||
in lpc43_sdmmc.h. From Alan Carvalho de Assis (2016-11-30).
|
||||
@ -13850,7 +13850,7 @@
|
||||
* STM32L4: Bring LPTIM driver in from the Motorola MDK (2017-02-18).
|
||||
* drivers/sensors: Add driver for the ST L3GD20 3 axis gyro. From
|
||||
raiden00 (2017-02-19).
|
||||
* config/stm32f429i-disco: add support for the L3GD20 driver. From
|
||||
* config/stm32f429i-disco: Add support for the L3GD20 driver. From
|
||||
raiden00 (2017-02-19).
|
||||
* STM32L4 COMP: Port from Motorola MDK (2017-02-19).
|
||||
* Add twr-k64f120m config and fix some ENET related problems. From Marc
|
||||
@ -14004,7 +14004,7 @@
|
||||
standardized approach. From Mark Schulte (2017-03-01).
|
||||
* Fix open() a block device with CONFIG_DISABLE_PSEUDOFS_OPERATIONS=y.
|
||||
From Masayuki Ishikawa (2017-03-01).
|
||||
* net/: fixed a nullptr-dereference on iob_clone. From Pascal Speck
|
||||
* net/: Fixed a nullptr-dereference on iob_clone. From Pascal Speck
|
||||
(2017-03-01).
|
||||
* configs/: All functions that used to return an xcpt_t old handler value,
|
||||
not return NULL. The oldhandler value is no longer useful with the
|
||||
@ -14089,7 +14089,7 @@
|
||||
Janne Rosberg. Adapt Janne Rosberg's patch to STM32 OTGHS host to
|
||||
OTGFS host, and to similar USB host implementations for STM32 L4 and
|
||||
F7 (2017-03-07).
|
||||
* usbhost_cdcacm: fix tx outbuffer overflow and remove now invalid
|
||||
* usbhost_cdcacm: Fix tx outbuffer overflow and remove now invalid
|
||||
assert. From Janne Rosberg (2017-03-07).
|
||||
|
||||
7.21 2017-06-06 Gregory Nutt <gnutt@nuttx.org>
|
||||
@ -14313,7 +14313,7 @@
|
||||
architectures. From David Cabecinhas (2017-03-18).
|
||||
* configs/nucleo_f334r8: Add ADC example. From Mateusz Szafoni
|
||||
(2017-03-18).
|
||||
* mtd/progmem: fix incorrect target address calculation.
|
||||
* mtd/progmem: Fix incorrect target address calculation.
|
||||
progmem_read/write() is incorrectly calculating the target address,
|
||||
expecting the offset argument is given in a block number. This is
|
||||
completely wrong and as a result invalid flash region is accessed.
|
||||
@ -14540,7 +14540,7 @@
|
||||
HW TCP/IP API requests while rest of the user-space can access
|
||||
standard socket API, with socket descriptors that can be used with
|
||||
NuttX system calls. From Jussi Kivilinna (2017-03-31).
|
||||
* STM32F7: add support for LSE RTC and enable RTC subseconds. From
|
||||
* STM32F7: Add support for LSE RTC and enable RTC subseconds. From
|
||||
Jussi Kivilinna (2017-03-31).
|
||||
* TCP/IPv6: Fix a compile issue when IPv6, but not IPv4 is enabled
|
||||
(2017-03-31).
|
||||
@ -14580,12 +14580,12 @@
|
||||
loopback driver (2017-04-03).
|
||||
* STM32: Add I2C3 SDA pin mapping for STM32F411. From no1wudi
|
||||
(2017-04-04).
|
||||
* sensors: lis2dh: fix hardfault when reading from unconfigured
|
||||
* sensors: lis2dh: Fix hardfault when reading from unconfigured
|
||||
sensor. From Juha Niskanen (2017-04-04).
|
||||
* STM32: stm32_flash: add EEPROM writing for STM32L15XX. From Juha
|
||||
* STM32: stm32_flash: Add EEPROM writing for STM32L15XX. From Juha
|
||||
Niskanen (2017-04-04).
|
||||
* 6loWPAN: Add option to dump buffers (2017-04-04).
|
||||
* STM32: stm32l15xx_rcc: add support for using MSI as system clock.
|
||||
* STM32: stm32l15xx_rcc: Add support for using MSI as system clock.
|
||||
From Juha Niskanen (2017-04-05).
|
||||
* STM32: stm32l15xxx_rcc: configure medium performance voltage range
|
||||
and zero wait-state when allowed by SYSCLK setting. Zero wait-state
|
||||
@ -14601,7 +14601,7 @@
|
||||
(2017-04-05).
|
||||
* STM32: Fix SYSCFG_CFGR1_I2C_PBXFMP_SHIFT value. From Alan Carvalho
|
||||
de Assis (2017-04-06).
|
||||
* STM32F7: Serial: add interface to get uart_dev_t by USART number,
|
||||
* STM32F7: Serial: Add interface to get uart_dev_t by USART number,
|
||||
stm32_serial_get_uart. From Jussi Kivilinna (2017-04-06).
|
||||
* STM32F7: Default CONFIG_STM32F7_DMACAPABLE to 'n'. STM32F7 does not
|
||||
have CCM RAM but DTCM, so this option does not need to enabled. DTCM
|
||||
@ -14609,7 +14609,7 @@
|
||||
(2017-04-06).
|
||||
* STM32F7: Fix UART7 and UART8 IFLOWCONTROL options. From Jussi
|
||||
Kivilinna (2017-04-06).
|
||||
* STM32F7: add warning for RXDMA + IFLOWCONTROL combination.
|
||||
* STM32F7: Add warning for RXDMA + IFLOWCONTROL combination.
|
||||
Combination of RXDMA + IFLOWCONTROL does not work as one might
|
||||
expect. Since RXDMA uses circular DMA-buffer, DMA will always keep
|
||||
reading new data from USART peripheral even if DMA buffer underruns.
|
||||
@ -14619,7 +14619,7 @@
|
||||
inside irq critical section and feeding data to RXDMA+IFLOWCONTROL
|
||||
UART. From Jussi Kivilinna (2017-04-06).
|
||||
* sim/sixlowpan: Now supports apps/examples/udpblaster too (2017-04-06).
|
||||
* SAMV7: Watchdog: fix Forbidden Window Value. According the Datasheet
|
||||
* SAMV7: Watchdog: Fix Forbidden Window Value. According the Datasheet
|
||||
the WDD Value is the lower bound of a so called Forbidden Window and
|
||||
to disable this we have to set the WDD Value greater than or equal to
|
||||
the WDV Value. This seems to be a bug in the datasheet. It looks
|
||||
@ -14629,7 +14629,7 @@
|
||||
Feature resets the System if WDD equals to WDV. This Changeset
|
||||
disables the Forbidden Window by setting the WDD Value to the Maximum
|
||||
(0xfff) Value possible. From Frank Benkert (2017-04-06).
|
||||
* RTC: add interface for check if RTC time has been set. New interface
|
||||
* RTC: Add interface for check if RTC time has been set. New interface
|
||||
allows checking if RTC time has been set. This allows to application
|
||||
to detect if RTC has valid time (after reset) or should application
|
||||
attempt to get real time by other means (for example, by launching
|
||||
@ -14735,7 +14735,7 @@
|
||||
wireless/ieee802154/mac802154.h (2017-04-14).
|
||||
* radio802154_device.c now accesses the PHY layer via the IOCTL helper
|
||||
functions (2017-04-14).
|
||||
* photon: add sdpcm + thread support for wlan. From Simon Piriou
|
||||
* photon: Add sdpcm + thread support for wlan. From Simon Piriou
|
||||
(2017-04-13).
|
||||
* Not a clean fix, but at least makes DHCP working with
|
||||
CONFIG_NETDEV_MULTINIC. From Andreas Bihlmaier (2017-04-15).
|
||||
@ -14927,7 +14927,7 @@
|
||||
(2017-04-27).
|
||||
* net/socket: Fix cloning of local and raw sockets. From Jussi
|
||||
Kivilinna (2017-04-28).
|
||||
* STM32L4: stm32l4_i2c: add I2C4 code. From Juha Niskanen (2017-04-28).
|
||||
* STM32L4: stm32l4_i2c: Add I2C4 code. From Juha Niskanen (2017-04-28).
|
||||
* STM32L4: I2C was not using current interrupt handling parameter
|
||||
passing logic (2017-04-28).
|
||||
* vfs/poll: round timeout up to next full tick. Calling poll() with
|
||||
@ -15019,7 +15019,7 @@
|
||||
* 6loWPAN: Fixes hang in loopback test (2017-05-03).
|
||||
* drivers/wireless/bcmf: Fix frame not freed when dropped + cleanup.
|
||||
From Simon Piriou (2017-05-03).
|
||||
* STM32L4: stm32l4_i2c: change wrong macro to CONFIG_I2C_POLLED. From
|
||||
* STM32L4: stm32l4_i2c: Change wrong macro to CONFIG_I2C_POLLED. From
|
||||
Juha Niskanen (2017-05-04).
|
||||
* STM32L4: modularize Kconfig to support different product
|
||||
lines/families. This is modeled after STM32F7. Idea is to declare
|
||||
@ -15044,8 +15044,6 @@
|
||||
short/exended address terminology (2017-05-04).
|
||||
* 6loWPAN: Remove all ieee802.15.4 MAC knowledge from 6loWPAN. Now
|
||||
relies on wires/ieee802154 for all MAC-related operations (2017-05-04).
|
||||
* STM32L4: stm32l4_i2c: change wrong macro to CONFIG_I2C_POLLED. From
|
||||
Juha Niskanen (2017-05-04).
|
||||
* 6loWPAN: Local address length is fixed by the configuration. The
|
||||
remote address be with short or extended (2017-05-04).
|
||||
* STM32L4: Separate SYSCFG into product line specific files for
|
||||
@ -15075,7 +15073,7 @@
|
||||
* wireless/ieee802154: Removes radio IOCTL. Starts bringing radio and
|
||||
MAC closer with well-defined interface. From Anthony Merlino
|
||||
(2017-05-05).
|
||||
* STM32L4: add support for many new MCUs from STM32L4X3XX product line
|
||||
* STM32L4: Add support for many new MCUs from STM32L4X3XX product line
|
||||
and Nucleo-L452 board. From Juha Niskanen (2017-05-05).
|
||||
* 6loWPAN: Use information in struct ieee802154_data_ind_s when
|
||||
reassembling a packet (2017-05-05).
|
||||
@ -15117,8 +15115,6 @@
|
||||
Merlino (2017-05-08).
|
||||
* wireless/ieee802154: Completes basic receive functionality. From
|
||||
Anthony Merlino (2017-05-08).
|
||||
* STM32: Serial DMA buffer round off not up. From David Sidrane
|
||||
(2017-05-08).
|
||||
* Final fixes to get the nucleo-l432kc config build. Execution not
|
||||
tested yet. From Sebastien Lorquet (2017-05-09).
|
||||
* Adapt stm32l43x pin definitions. From Sebastien Lorquet (2017-05-09).
|
||||
@ -15128,7 +15124,7 @@
|
||||
(2017-05-09).
|
||||
* IOBs: Move from driver/iob to a better location in mm/iob
|
||||
(2017-05-09).
|
||||
* STM32L4: add dbgmcu header files. From Juha Niskanen (2017-05-09).
|
||||
* STM32L4: Add dbgmcu header files. From Juha Niskanen (2017-05-09).
|
||||
* wireless/ieee802154: Fixes missing handle of read/write being able to
|
||||
be interrupted. From Anthony Merlino (2017-05-09).
|
||||
* wireless/ieee802154: Starts implementing START.request primitive.
|
||||
@ -15149,7 +15145,7 @@
|
||||
(2017-05-10).
|
||||
* syslog buffering: Use IOBs to buffer data, not an on-stack buffer
|
||||
(2017-05-10).
|
||||
* STM32L4: add internal flash write support. From Juha Niskanen
|
||||
* STM32L4: Add internal flash write support. From Juha Niskanen
|
||||
(2017-05-11).
|
||||
* When syslog message has addition characters after last new-line. With
|
||||
buffering those now get lost as vsyslog does not flush output after
|
||||
@ -15208,7 +15204,7 @@
|
||||
* locale.h: Add a bogus definition of locale_t. From (2017-05-12).
|
||||
* kinetis K66: Fixed TMP2_CH1 definition. From David Sidrane
|
||||
(2017-05-12).
|
||||
* kinetis K66: Fefine ALT1 to match ref manual. From David Sidrane
|
||||
* kinetis K66: Define ALT1 to match ref manual. From David Sidrane
|
||||
(2017-05-12).
|
||||
* kinetis K66: GPIO and pin mux cleanup. From David Sidrane
|
||||
(2017-05-13).
|
||||
@ -15237,7 +15233,7 @@
|
||||
* drivers: fix some bad NULL checks. From Juha Niskanen (2017-05-15).
|
||||
* drivers: rename newly introduced up_i2creset to I2C_RESET. From
|
||||
Juha Niskanen (2017-05-15).
|
||||
* TCP: An RST recevied suring the 3-way handshake requires a little
|
||||
* TCP: An RST received during the 3-way handshake requires a little
|
||||
more clean-up (2017-05-15).
|
||||
* STM32 CAN: I had the problem that the transmit FIFO size (= actual
|
||||
elements in FIFO) was slowly increasing over time, and was full after
|
||||
@ -15287,7 +15283,7 @@
|
||||
its IOB in the committed list, rather than free list. In this way,
|
||||
the content of the free list and the value of the semaphore count
|
||||
always remain in sync (2017-05-16).
|
||||
* stm32_serial: fix freezing serial port. Serial interrupt
|
||||
* stm32_serial: Fix freezing serial port. Serial interrupt
|
||||
enable/disable functions do not disable interrupts and can freeze
|
||||
device when serial interrupt is received while execution is at those
|
||||
functions. Trivially triggered with two or more threads write to
|
||||
@ -15311,7 +15307,7 @@
|
||||
change the link state. From Sebastien Lorquet (2017-05-19).
|
||||
* drivers/wireless/ieee80211: Add support for AP scanning. From Simon
|
||||
Piriou (2017-05-21).
|
||||
* drivers/audio: add cs43l22 audio driver STM32F4: Add i2s driver.
|
||||
* drivers/audio: Add cs43l22 audio driver STM32F4: Add i2s driver.
|
||||
From Taras Drozdovsky (2017-05-21).
|
||||
* This is based on a patch by Taras Drozdovsky. Basically, the delay
|
||||
that was added during the integration of the CDC/ACM host driver was
|
||||
@ -15332,7 +15328,7 @@
|
||||
started, as this seems to work on L4. From Juha Niskanen (2017-05-23).
|
||||
* drivers/can: Add Microchip MCP2515 CAN Bus controller driver. From
|
||||
Alan Carvalho de Assis (2017-05-23).
|
||||
* button_upper: fix interrupt enabling for poll-events. From Jussi
|
||||
* button_upper: Fix interrupt enabling for poll-events. From Jussi
|
||||
Kivilinna (2017-05-24).
|
||||
* netdb: Fix bugs in lib_gethostbynamer.c. This fix sets h_name in
|
||||
struct hostent returned by gethostbyname(). From Masayuki Ishikawa
|
||||
@ -15347,7 +15343,7 @@
|
||||
Carvalho de Assis (2017-05-26).
|
||||
* configs/stm32f103-miniumum: Add board support to use the Nokia 5110
|
||||
LCD display driver. From Alan Carvalho de Assis (2017-05-26).
|
||||
* configs/pic32mx7mmb: add support for the Pinquino toolchain
|
||||
* configs/pic32mx7mmb: Add support for the Pinquino toolchain
|
||||
(2017-05-27).
|
||||
* configs/pic32mx7mmb: Repartition files to match newer
|
||||
configurations. Add support for PROCFS file system. Default is now
|
||||
@ -15356,11 +15352,11 @@
|
||||
initialkjc@yahoo.com. When CONFIG_PTHREAD_MUTEX_UNSAFE=y, the
|
||||
special return value EAGAIN was not being detected due to differences
|
||||
in reporting of returned values (2017-05-29).
|
||||
* vfs: fdopen: add missing file stream flags clearing. Clear file
|
||||
* vfs: fdopen: Add missing file stream flags clearing. Clear file
|
||||
stream structure regardless of config options. Structure clearing is
|
||||
needed as previous use of stream list entry might leave fs_flags
|
||||
set. From Harri Luhtala (2017-05-31).
|
||||
* drivers/input: add Cypress MBR3108 CapSense touch button driver.
|
||||
* drivers/input: Add Cypress MBR3108 CapSense touch button driver.
|
||||
From Juha Niskanen (2017-05-31).
|
||||
* STM32L4: gpio: put back EXTI line source selection. From Juha
|
||||
Niskanen (2017-05-31).
|
||||
|
988
ReleaseNotes
988
ReleaseNotes
@ -13546,3 +13546,991 @@ detailed bugfix information):
|
||||
- In apps/examples/mtdpart/mtdpart_main.c where
|
||||
CONFIG_EXAMPLES_MTDPART_NPARTITIONS defining is checked should be
|
||||
#ifndef instead of #ifdef. Noted by Oleg Evseev.
|
||||
|
||||
NuttX-7.21 Release Notes
|
||||
------------------------
|
||||
|
||||
The 121st release of NuttX, Version 7.21, was made on June 6, 2017,
|
||||
and is available for download from the Bitbucket.org website. Note
|
||||
that release consists of two tarballs: nuttx-7.21.tar.gz and
|
||||
apps-7.21.tar.gz. These are available from:
|
||||
|
||||
https://bitbucket.org/nuttx/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:
|
||||
|
||||
- pthread rwlocks: Add an implementation for read/write locks
|
||||
(rwlocks) into the pthread library. These locks are writer
|
||||
priority, such that if any writers come in they are given priority
|
||||
for writing. From Mark Schulte.
|
||||
- pthread robust mutexes: Implement robust mutex support:
|
||||
pthread_mutex_lock() and trylock() will return EOWNERDEAD if the
|
||||
mutex is locked by a thread that no longer exists. Add
|
||||
pthread_mutex_consistent() to recover from this situation. Keep
|
||||
list of all mutexes held by a thread in a list in the pthread's TCB.
|
||||
When pthread exits or is cancelled, mutexes held by thread are
|
||||
marked inconsistent and the highest priority thread waiting for the
|
||||
mutex is awakened. There is a configuration option to (a) support
|
||||
only robust mutexes, (b) support only traditional unsafe mutexes,
|
||||
or (c) Support both unsafe and robust mutexes via
|
||||
pthread_mutexattr_get/setrobust().
|
||||
- pthread cancellation points: Add logic to disable cancellation
|
||||
points within the OS. This is useful when an internal OS function
|
||||
that is NOT a cancellation point calls an OS function which is a
|
||||
cancellation point. In that case, irrecoverable states may occur if
|
||||
the cancellation is within the OS. From Juha Niskanen.
|
||||
- clock: Add clock_resynchronize and use subseconds RTC. Add
|
||||
clock_resynchronize for better synchronization of CLOCK_REALTIME and
|
||||
CLOCK_MONOTONIC to match RTC after resume from low-power state. Add
|
||||
up_rtc_getdatetime_with_subseconds under
|
||||
CONFIG_ARCH_HAVE_RTC_SUBSECONDS to allow initializing (and
|
||||
resynchronizing) system clock with subseconds accuracy RTC. From
|
||||
Jussi Kivilinna.
|
||||
- clock: Add new type ssystime_t for relative 64-bit ticks, change
|
||||
ticks<->time conversion functions to use ssystime_t. From Jussi
|
||||
Kivilinna.
|
||||
- clock: Add testing for 32-bit overflow of 64-bit system timer. From
|
||||
Jussi Kivilinna.
|
||||
|
||||
* File Systems/Block and MTD Drivers
|
||||
|
||||
- drivers/mtd/w25.c: Erase sector only if it is not in erased state.
|
||||
From Jussi Kivilinna.
|
||||
|
||||
* Graphics/Display Drivers:
|
||||
|
||||
- drivers/lcd: Extend st7565 driver to include support for the
|
||||
AQM_1248A. From Masayuki Ishikawa.
|
||||
- drivers/lcd: Add driver for Nokia 5110 (Philips PCD8544). From Alan
|
||||
Carvalho de Assis.
|
||||
|
||||
* Networking/Network Drivers:
|
||||
|
||||
- Extensive modifications to support wireless network (see below).
|
||||
- TUN driver: Implement TAP (OSI layer 2) mode. Enable by setting the
|
||||
IFF_TAP flag instead of the IFF_TUN flag in ifr_flags. From Thomas
|
||||
Keh.
|
||||
- Add user-space networking stack API (usrsock). User-space
|
||||
networking stack API allows user-space daemon to provide TCP/IP
|
||||
stack implementation for NuttX network. Main use for this is to
|
||||
allow use and seamless integration of HW-provided TCP/IP stacks to
|
||||
NuttX. For example, user-space daemon can translate /dev/usrsock
|
||||
API requests to HW TCP/IP API requests while rest of the user-space
|
||||
can access standard socket API, with socket descriptors that can be
|
||||
used with NuttX system calls. From Jussi Kivilinna.
|
||||
- net/: Network driver now retains Ethernet MAC address in a union so
|
||||
that other link layer addresses may be used in a MULTILINK
|
||||
environment.
|
||||
|
||||
* Wireless Networking/Wireless Drivers:
|
||||
|
||||
- BCM43362: Support for Broadcom's BCM43362 WiFi chip was contributed
|
||||
by Simon Piriou as part of the port of the Particle Photon board.
|
||||
Only station functionality is available at present. This work
|
||||
includes not on the WiFi driver, but the support Particle Photon
|
||||
board, the infrasture for IEEE 802.11 FullMAC networking including
|
||||
the network device interface, WiFi configuration, AP scanning and
|
||||
authentication and association with an AP.
|
||||
- IEEE 802.11 networking tools and support.
|
||||
- IEEE 802.15.4 MAC support. This is an effort that was started some
|
||||
time back by Sebastien Lorquet (with some help from Matte Poppe).
|
||||
Recently, Anthony Merlino has taken on this effort and has made
|
||||
some significant progress. Using the Microchip MRF24J40 module with
|
||||
the Mikroe Clicker2-STM32 board along with a PC-based IEEE 802.15.4
|
||||
sniffer, Anthonly has verified correct transmittion and receipt of
|
||||
basic frames.
|
||||
- Microchip MRF24J40: As mentioned above, this IEEE 802.15.4 radio
|
||||
driver is now basically functional.
|
||||
- IEEE 802.15.4 Network Driver: A driver that interfaces the NuttX
|
||||
network with the IEEE 802.15.4 MAC has been developed but is still
|
||||
incomplete and has not been verified.
|
||||
- IEEE 802.15.4 Network Loopback Driver: A simple IEEE 802.15.4 MAC
|
||||
loopback driver was developed. This driver allowed for parallel
|
||||
development of the IEEE 802.15.4 MAC and 6loWPAN.
|
||||
- 6loWPAN: The Contiki 6loWPAN stack has been ported so that works
|
||||
within the NuttX networking framework and interfaces with the new
|
||||
IEEE 802.15.4 MAC via the network driver. Live testing with
|
||||
IEEE 802.15.4 radios has not yet been done; all testing has used
|
||||
the loopback driver. There are no known problems and the stack
|
||||
is ready for additional testing.
|
||||
- Add option to enable wireless debug output.
|
||||
|
||||
* Other Common Device Drivers:
|
||||
|
||||
- Add entropy pool and strong random number generator. Entropy pool
|
||||
gathers environmental noise from device drivers, user-space, etc.,
|
||||
and returns good random numbers, suitable for cryptographic use.
|
||||
Based on entropy pool design from *BSDs and uses BLAKE2Xs algorithm
|
||||
for CSPRNG output. Patch also adds /dev/urandom support for using
|
||||
entropy pool RNG and new 'getrandom' system call for getting
|
||||
randomness without file-descriptor usage (thus avoiding file-
|
||||
descriptor exhaustion attacks). The 'getrandom' interface is similar
|
||||
as 'getentropy' and 'getrandom' available on OpenBSD and Linux
|
||||
respectively. From Jussi Kivilinna.
|
||||
- XBox One controller: Adds USB host driver support for the XBox One
|
||||
controller. Currently only the latest version (XBox One X)
|
||||
controller works. The older XBox One controllers do not enumerate
|
||||
correctly. From Brian Webb.
|
||||
- drivers/analog: Add basic COMP driver. From Mateusz Szafoni.
|
||||
- drivers/analog: Add driver for the LTC1767L ADC. From Martin
|
||||
Lederhilger.
|
||||
- drivers/analog: Add basic OPAMP driver. From Mateusz Szafoni.
|
||||
- drivers/sensors: Add driver for ST HTS221 humidity sensor. From
|
||||
Juha Niskanen.
|
||||
- drivers/sensors: Add driver for ST LPS25H pressure sensor. From
|
||||
Juha Niskanen.
|
||||
- drivers/sensors: Add driver for ST LIS2DH accelerometer. From Timo
|
||||
Voutilainen.
|
||||
- drivers/usbmisc: Add driver for Fairchild FUSB301 USB type-C
|
||||
controller. From Harri Luhtala.
|
||||
- RTC: Add interface for check if RTC time has been set. New
|
||||
interface allows checking if RTC time has been set. This allows to
|
||||
application to detect if RTC has valid time (after reset) or should
|
||||
application attempt to get real time by other means (for example, by
|
||||
launching ntpclient or GPS). From Jussi Kivilinna.
|
||||
- Buttons: Change return value of board_buttons() and the type of
|
||||
btn_buttonset_t to uint32_t so that more than 8 buttons can be
|
||||
supported.
|
||||
- drivers/syslog: Use monotonic clock for timestamp when available.
|
||||
From Jussi Kivilinna.
|
||||
- SPI: Add an instance argument to the SPIDEV definitions. Thus,
|
||||
instead of specifying a FLASH device, for example, as SPI_FLASH, you
|
||||
would now use SPI_FLASH(0) where the "instance" argument now
|
||||
distinguishes multiple FLASH devices on the same SPI bus. From
|
||||
Sebastien Lorquet.
|
||||
- IOBs: Move from net/iob to a better location in mm/iob where they
|
||||
can be shared outside of the networking logic. Current also used
|
||||
by IEEE 802.15.4 MAC and by syslog (when buffering enabled).
|
||||
- syslog: Add option to buffer SYSLOG output to avoid interleaving.
|
||||
Uses new shareable IOBs. Additional logic to assure that the the
|
||||
write from the buffer is a single atomic write in normal debug
|
||||
output.
|
||||
- drivers/can: Move CAN subsystem to its own directory and put device
|
||||
drivers there. From Alan Carvalho de Assis.
|
||||
- drivers/can: Add Microchip MCP2515 CAN Bus controller driver. From
|
||||
Alan Carvalho de Assis.
|
||||
- drivers/audio: Add cs43l22 audio driver. From Taras Drozdovsky.
|
||||
- drivers/input: Add Cypress MBR3108 CapSense touch button driver.
|
||||
From Juha Niskanen.
|
||||
|
||||
* Simulation
|
||||
|
||||
- configs/sim/sixlowpan: Configuration for testing the 6loWPAN with
|
||||
the IEEE 802.15.4 loopback network driver.
|
||||
|
||||
* Infineon XMC4xxx:
|
||||
|
||||
- arch/arm/src/xmc4: Initial, partial support for Infineon XMC4xxx.
|
||||
|
||||
* Infineon XMC4xxx Boards:
|
||||
|
||||
- XMC4500 Relax: Add basic board support infrastructure of Infineon
|
||||
XMC4500 Relax Lite v1. Basic serial, LED, and button button support
|
||||
for a simple NSH configuration. There are still stome remaining
|
||||
issues with serial communications.
|
||||
|
||||
* MicroChip PIC32MX Boards:
|
||||
|
||||
- pic32mx7mmb: Add support for the Pinquino toolchain.
|
||||
- pic32mx7mmb: Add support for PROCFS file system.
|
||||
|
||||
* NXP Freescale Kinetis:
|
||||
|
||||
- Kinetis: Allow board to add pullups on SDHC lines. From David
|
||||
Sidrane.
|
||||
- Kinetis: Use optional BOARD_OSC_CR and BOARD_OSC_DIV in clock
|
||||
configuration. From David Sidrane.
|
||||
|
||||
* NXP Freescale Kinetis Drivers:
|
||||
|
||||
- Kinetis: Add Timer PWM Module (TPM) to K66 chip. From David
|
||||
Sidrane.
|
||||
- Kinetis: Added HW flow control and termios. From David Sidrane.
|
||||
- Kinetis: Add ARCH_HAVE_I2CRESET. From David Sidrane.
|
||||
|
||||
* NXP Freescale LPC43xx:
|
||||
|
||||
- Add support for LPC4337FET256. From Andreas Bihlmaier.
|
||||
|
||||
* STMicro STM32:
|
||||
|
||||
- Change STM32 tickless to use only one timer. From Konstantin
|
||||
Berezenko.
|
||||
- STM3 2F7: Add support for LSE RTC and enable RTC subseconds. From
|
||||
Jussi Kivilinna.
|
||||
- STM32 L1: stm32l15xx_rcc: Add support for using MSI as system
|
||||
clock. From Juha Niskanen.
|
||||
- STM32 L1: stm32l15xxx_rcc: configure medium performance voltage
|
||||
range and zero wait-state when allowed by SYSCLK setting. Zero
|
||||
wait-state for flash can be configured when: (1) Range 1 and
|
||||
SYSCLK <= 16 Mhz, (2) Range 2 and SYSCLK <= 8 Mhz, or (3) Range 3
|
||||
and SYSCLK <= 4.2 Mhz. Medium performance voltage range (1.5V)
|
||||
can be configured when SYSCLK is up to 16 Mhz and PLLVCO up to
|
||||
48 Mhz. From Juha Niskanen.
|
||||
- STM32 F0: Add basic support for STM32F0. From Alan Carvalho de
|
||||
Assis.
|
||||
- STM32 F0: Add basic support for STM32F07x family.
|
||||
- STM32 L1: stm32l15xx_rcc: Allow board to configure HSE clock in
|
||||
bypass-mode. Allows using MCO output from ST-link chip (on Nucleo
|
||||
and Discovery boards) as HSE input. From Juha Niskanen.
|
||||
- STM32 L1: Add support for STM32L152CC, STM32L152RC and STM32L152VC.
|
||||
From Juha Niskanen.
|
||||
- STM32 F0: Add support for HSI48.
|
||||
- STM32 L4: Add support for the STM32L496XX family. From Juha
|
||||
Niskanen.
|
||||
- STM32 L4: modularize Kconfig to support different product
|
||||
lines/families. This is modeled after STM32F7. Idea is to declare
|
||||
each chip in Kconfig but allow for flash size override. Commit adds
|
||||
many STM32L4_HAVE_XXX feature test macros. From Juha Niskanen.
|
||||
- STM32 L4: Separate SYSCFG into product line specific files for
|
||||
clarity. From Juha Niskanen.
|
||||
- STM32 L4: Add support for many new MCUs from the STM32L4X3XX
|
||||
product line. From Juha Niskanen.
|
||||
- STM32 L4: Add dbgmcu header files. From Juha Niskanen.
|
||||
- STM32 F410: Add support for STM32F410. STM32F410 is a version of
|
||||
STM32F4 with 32 KB of RAM and 62 or 128 KB of flash. From Gwenhael
|
||||
Goavec-Merou.
|
||||
|
||||
* STMicro STM32 Drivers:
|
||||
|
||||
- SDIO: Extensions to support the SDIO interface to the BCM43362 from
|
||||
Simon Piriou.
|
||||
- STM32 F2: Add USB OTG HS support for stm32f20xxx cores. From Simon
|
||||
Piriou.
|
||||
- STM32 F2, F4, and F7: Add BOARD_DISABLE_USBOTG_HSULPI flag. From
|
||||
Simon Piriou.
|
||||
- STM32 F33: Move DMA logic to a separate files + add ADC support.
|
||||
From Mateusz Szafoni.
|
||||
- STM32 F3: Add COMP support. From Mateusz Szafoni.
|
||||
- STM32 F33: Support for COMP character driver. From Mateusz Szafoni.
|
||||
- STM32 F4: Implement DMA support for the STM32F4 I2C. From rg.
|
||||
- STM32 F7: Add stm32 RNG support. This is copied from stm32l4.
|
||||
Tested on STM32F746ZG board. From Juha Niskanen.
|
||||
- STM32 L1: Add STM32L162VE to chip.h. From Juha Niskanen.
|
||||
- STM32 F4: Add I2C3 SDA pin mapping for STM32F411. From no1wudi.
|
||||
- STM32 L1: stm32_flash: Add EEPROM writing for STM32L15XX. From
|
||||
Juha Niskanen.
|
||||
- STM32 F7: Serial: Add interface to get uart_dev_t by USART number,
|
||||
stm32_serial_get_uart. From Jussi Kivilinna.
|
||||
- STM32 F4: Provide TIM5 definition for STM32F429. From Matias v01d.
|
||||
- STM32 F0: Add an untested port of the F1 USB device to the STM32F0.
|
||||
- STM32 F0: Add support for the STM32F09X family. From Juha
|
||||
Niskanen.
|
||||
- STM32 F0: Initial cut at I2C driver. Still a work in progress.
|
||||
From Alan Carvalho de Assis.
|
||||
- STM32 F33: Add OPAMP support. From Mateusz Szafoni.
|
||||
- STM32 L4: stm32l4_i2c: Add I2C4 code. From Juha Niskanen.
|
||||
- STM32 L4: Add GPIO_PORTI definition. From Juha Niskanen.
|
||||
- STM32 F7 Serial: Allow configuring Rx DMA buffer size. From Jussi
|
||||
Kivilinna.
|
||||
- STM32 L4: Firewall for stm32l4x3xx. Not tested for any product
|
||||
family, but now it at least compiles. L496 devices can have one bit
|
||||
wider Volatile Data Segment. From Juha Niskanen.
|
||||
- STM32 TIM: Add method to get timer width. Freerun timer: Use timer
|
||||
width to get the correct clock rollover point.
|
||||
- STM32 L4: Add internal flash write support. From Juha Niskanen.
|
||||
- STM32 L4: Port stm32l4_serial_get_uart function from STM32F7. From
|
||||
Juha Niskanen.
|
||||
- STM32 Ethernet: Add support for KSZ8081 PHY interrupts. From
|
||||
Sebastien Lorquet.
|
||||
- STM32 F4: Add i2s driver. From Taras Drozdovsky.
|
||||
- STM32 L4: Add IWDG peripheral. This is the same as for STM32
|
||||
except that prescale and reload can be changed after watchdog has
|
||||
been started, as this seems to work on L4. From Juha Niskanen.
|
||||
- STM32 F7: Add SPI DMA support. From Jussi Kivilinna.
|
||||
|
||||
* STMicro STM32 Boards:
|
||||
|
||||
- Support for the Particle Photon board was contributed by Simon
|
||||
Piriou. The Photon board is based on a STM32F205G MCU with and on-
|
||||
board BCM43362 WiFi chip that interfaces via the STM32's SDIO
|
||||
interface. Board configuration support includes, in addition,
|
||||
buttons, LEDS, IWDG, USB OTG HS, and procfs support. Configurations
|
||||
available for nsh, usbnsh, and wlan configurations.
|
||||
- Clicker2-STM32: Support for the Mikroelektronika Clicker 2 for
|
||||
STM32 was added by Anthony Merlino. This board, along with the
|
||||
MRF24J40 Click board is the platform used to deveop the IEEE
|
||||
802.15.4 support. The boad configuration includes the MRF24J40
|
||||
intialization logic and SPI support. Configurations exist for nsh,
|
||||
knsh, usbnsh, and mrf24j40-radio.
|
||||
- Nucleo_F334R8: Add ADC example. From Mateusz Szafoni.
|
||||
- Nucleo-F334R8: Add COMP support. From Mateusz Szafoni.
|
||||
- Nucleo-F334R8: Use new COMP driver. From Mateusz Szafoni.
|
||||
- Adds USB host support to stm32f411-disco board. From Brian Webb.
|
||||
- Add stm32f0discovery board support. From Alan Carvalho de Assis.
|
||||
- Nucleo-F072RB: Add board configuration.
|
||||
- Nucleo-F334R8: Add OPAMP support. From Mateusz Szafoni.
|
||||
- Nucleo-F072RB: Add support for the I2C driver used by I2C tools.
|
||||
- Nucleo-L496ZG: Add nucleo-l496zg board files. From Juha Niskanen.
|
||||
- Nucleo-F091RC: Add nucleo-f091rc board files. From Juha Niskanen.
|
||||
- Nucleo-L432KC: Add nucleo-l432kc board files. From Sebastien
|
||||
Lorquet.
|
||||
- Nucleo-L452RE: Add nucleo-l452re board files. From Juha Niskanen.
|
||||
- stm32f103-miniumum: Add board support to use the Nokia 5110
|
||||
LCD display driver. From Alan Carvalho de Assis.
|
||||
|
||||
* C Library/Header Files:
|
||||
|
||||
- C library: Add strerror_r().
|
||||
- C Library: Add wcstoull(), swprintf(), wcstod(), wcstof(), wcstol(),
|
||||
wcstold(), wcstoul(), wcstoll() functions. Add mbsnrtowcs() and
|
||||
wcsnrtombs() (just returning success). Add mbtowc() and wctomb() to
|
||||
C++ std namespace. From Alan Carvalho de Assis.
|
||||
- C Library: Add ffsl(), ffsll(), fls(), flsl(), flsll() and use
|
||||
GCC's __builtin_ctz/__builtin_clz for faster implementation of these.
|
||||
From Jussi Kivilinna.
|
||||
- fixedmath: Add square root and b32_t conversion operators. From
|
||||
Jussi Kivilinna.
|
||||
- locale.h: Add a bogus definition of locale_t.
|
||||
- C library: Versions mbrlen and mbsrtowcs taken and adapted from
|
||||
FreeBSD code (at https://github.com/freebsd/freebsd/). From Matias
|
||||
v01d.
|
||||
|
||||
* Build/Configuration System:
|
||||
|
||||
- Include C++ library in 'make export'. From Alan Carvalho de Assis.
|
||||
- configs: Remove all setenv.sh and setenv.bat files. Remove all
|
||||
references to setenv.sh and setenv.bat from all config README files.
|
||||
- Kconfig/deconfigs: Add CONFIG_ARCH_TOOLCHAIN_GNU to indicate that
|
||||
the toolchain is based on GNU gcc/as/ld. This is in addition to the
|
||||
CPU-specific versions of the same definition.
|
||||
- Move prototype for up_cxxinitialize() from nuttx/include/nuttx/arch.h
|
||||
to apps/include/platform/cxxinitialize.h.
|
||||
|
||||
* Tools:
|
||||
|
||||
- Add initialconfig.c so that perhaps in the future we will be able to
|
||||
use this to generate a new configuration from scratch (rather than
|
||||
having to derive new configurations from existing configurations).
|
||||
NOTE: Not yet intregated into the build system.
|
||||
|
||||
* NSH: apps/nshlib:
|
||||
|
||||
- Added support for set [{+|-}{e|x|xe|ex}] [<name> <value>]. Set the
|
||||
'exit on error control' and/or 'print a trace' of commands when
|
||||
parsing scripts in NSH. The settinngs are in effect from the point
|
||||
of exection, until they are changed again, or in the case of the init
|
||||
script, the settings are returned to the default settings when it
|
||||
exits. Included child scripts will run with the parents settings and
|
||||
changes made in the child script will effect the parent on return.
|
||||
Use 'set -e' to enable and 'set +e' to disable (ignore) the exit
|
||||
condition on commands. The default is -e. Errors cause script to
|
||||
exit. Use 'set -x' to enable and 'set +x' to disable (silence)
|
||||
printing a trace of the script commands as they are ececuted. The
|
||||
default is +x. No printing of a trace of script commands as they are
|
||||
executed. From David Sidrane.
|
||||
- Print expanded variables if -x. From David Sidrane.
|
||||
- ifconfig command: Extend ifconfig to support 6loWPAN. Adapt to
|
||||
some changes in configuration variable usage.
|
||||
- Network initialization: If IEEE802.11 selected use wlan0 instead of
|
||||
eth0 for network device name.
|
||||
- Network initialization: NSH now has configuration options to select
|
||||
the wireless properties. It builds the configuration structure and
|
||||
passes this to wpa_driver_wext_associate() so that it will set the
|
||||
network as configured.
|
||||
- Network initialization: Add a new option CONFIG_NSH_NETLOCAL that
|
||||
will suppress some built in operations and will support manual
|
||||
configuration of a wireless network through command line tools.
|
||||
|
||||
* Examples/Tests: apps/examples:
|
||||
|
||||
- examples/xbc_text: Adds a test program for the XBox One controller
|
||||
driver. From Brian Webb.
|
||||
- examples/ostest: Add a test of robust mutexes.
|
||||
- examples/ostest: Add tests for pthread_rwlock. Adding tests to be
|
||||
used to verify the pthread_rwlock lock works. From Mark Schulte.
|
||||
- examples/ostest: Additional test for rwlock and one for cancel
|
||||
cleanup handlers. From Juha Niskanen.
|
||||
- examples/usrsocktest: Add application for USRSOCK testing. From
|
||||
Jussi Kivilinna.
|
||||
- examples/nettest: Adapt for use in testing 6loWPAN.
|
||||
- examples/nettest: If doing loopback, but not using the official
|
||||
loopback device, then use the server should use the configured client
|
||||
IP address.
|
||||
- examples/udpblaster: Several fixes to work with 6loWPAN.
|
||||
- examples/udpblaster: Add logic to bind the local UDP socket to a
|
||||
well-known address.
|
||||
- examples/configdata: Add stacksize and priority. From Juha Niskanen.
|
||||
|
||||
* Network Utilies: apps/netuils:
|
||||
|
||||
- netutils/netlib: Add IEEE 802.11 wireless IOCTL wrappers.
|
||||
- netutils/netlib: Add a helper function to convert a string to a
|
||||
6loWPAN node address.
|
||||
- netlib and NSH: Add logic to get/set the IEEE802.15.4 PAN ID.
|
||||
- netutils/dhcpc: Make the network device name a configuration
|
||||
option. Was hardcoded to eth0 but may, instead, need to be wlan0.
|
||||
- netutils/dhcpc: Remove hard-coded interface device. Now passed as
|
||||
a parameter to dhcpc_open(). From Sebastien Lorquet.
|
||||
|
||||
* Wireless Utilies: apps/wireless:
|
||||
|
||||
- wireless/wapi: Port of Wapi wireless services. The original
|
||||
depended on features not supported by NuttX: Removed logic that
|
||||
depends on Linux netlink. Removed functionality that depended on
|
||||
the Linux procfs: This includes only 1) listing of available
|
||||
interfaces and 2) listing of all routes.
|
||||
- wireless/wapi: Create command line Wapi application based on
|
||||
Wapi sample code.
|
||||
- wireless/wapi: wpa_driver_wext_associate() now accepts a
|
||||
configuration parameter that can be used to specify the wireless
|
||||
properties.
|
||||
- wireless/wapi: Add basic wapi_event_stream_extract implementation.
|
||||
From Simon Piriou.
|
||||
- wireless/ieee802154: Add iwpan and i8sak tools. iwpan is similar
|
||||
in concept to wapi. From Anthony Merlino (i8sak was originally
|
||||
by Sebastien Lorquet).
|
||||
- wireless/ieee802154/libmac: IEEE 802.15.4 MAC library.
|
||||
- wireless/wext: Add drivers_wext from the WPA supplicant; Integrate
|
||||
into NSH. From Simon Piriou.
|
||||
|
||||
* System Unitilities (apps/system)
|
||||
|
||||
- apps/system/dhcpc: Add a command to renew or establish a lease on an
|
||||
IPv4 address.
|
||||
- apps/system/ntpc: Add a command to start or stop the NTPC daemon.
|
||||
- apps/system/ramtest: Make stacksize and priority conigurable.
|
||||
|
||||
* Platform-Specific Support (apps/platform)
|
||||
|
||||
- apps/platform: Create gnu/ subdirectory that contains the one and
|
||||
only GNU C++ initialization function. Remove all other C++
|
||||
initialization functions.
|
||||
|
||||
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:
|
||||
|
||||
- Priority inheritance: When CONFIG_SEM_PREALLOCHOLDERS==0, there is
|
||||
only a single, hard-allocated holder structure. This is problem
|
||||
because in sem_wait() the holder is released, but needs to remain in
|
||||
the holder container until sem_restorebaseprio() is called. The call
|
||||
to sem_restorebaseprio() must be one of the last things the
|
||||
sem_wait() does because it can cause the task to be suspended. If in
|
||||
sem_wait(), a new task gets the semaphore count then it will fail to
|
||||
allocate the holder and will not participate in priority
|
||||
inheritance. This fix is to add two hard-allocated holders in the
|
||||
sem_t structure: One of the old holder and one for the new holder.
|
||||
- Priority inheritance: sem_holder sem_findholder missing
|
||||
inintalization of pholder. sem_findholder would fail and code
|
||||
optimization covered this up. From David Sidrane.
|
||||
- Partial Fix priority inheritance CONFIG_SEM_PREALLOCHOLDERS=0. From
|
||||
David Sidrane.
|
||||
- Priority inheritance: sem_boostholderprio prevent overrun of
|
||||
pend_reprios. The second case rtcb->sched_priority <=
|
||||
htcb->sched_priority did not check if there is sufficient space in
|
||||
the pend_reprios array. From David Sidrane.
|
||||
- lp_worker: Guard from pend_reprios overlow. From David Sidrane.
|
||||
- Priority inheritance: Fixes improper restoration of base_priority in
|
||||
the case of CONFIG_SEM_PREALLOCHOLDERS=0. The call to
|
||||
sem_restorebaseprio_task context switches in the
|
||||
sem_foreachholder(sem, sem_restoreholderprioB, stcb); call prior to
|
||||
releasing the holder. So the running task is left as a holder as is
|
||||
the started task. Leaving both slots filled thus failing to perform
|
||||
the boost/or restoration on the correct tcb. This PR fixes this by
|
||||
releasing the running task slot prior to reprioritization that can
|
||||
lead to the context switch. To faclitate this, the interface to
|
||||
sem_restorebaseprio needed to take the tcb from the holder prior to
|
||||
the holder being freed. In the failure case where sched_verifytcb
|
||||
fails it added the overhead of looking up the holder. There is also
|
||||
the additional thunking on the foreach to get from holer to
|
||||
holder->tcb. An alternate approach could be to leve the interface
|
||||
the same and allocate a holder on the stack of sem_restoreholderprioB
|
||||
copy the sem's holder to it, free it as is done in this pr and and
|
||||
then pass that address sem_restoreholderprio as the holder. It could
|
||||
then get the holder's tcb but we would keep the same sem_findholder
|
||||
in sched_verifytcb. From David Sidrane.
|
||||
- Priority inheritance: Fixes improper restoration of base_priority.
|
||||
From David Sidrane.
|
||||
- sem_holder: Indexing error. From David Sidrane.
|
||||
|
||||
if (sem->holder[0].htcb != NULL || sem->holder[**1**].htcb != NULL)
|
||||
- realloc(): When realloc() has to fall back to calling malloc(), size
|
||||
including overhead was being provided to malloc(), causing a slightly
|
||||
larger allocation than needed. Noted by initialkjc@yahoo.com.
|
||||
- scheduler: Fix tg_flags check with GROUP_FLAG_NOCLDWAIT. From Masayuki
|
||||
Ishikawa.
|
||||
- scheduler: Fix CHILD_FLAG_EXITED in include/nuttx/sched.h. From
|
||||
Masayuki Ishikawa.
|
||||
- binfmt/elf: Fix offset value when calling elf_read() in
|
||||
elf_symname(). From Masayuki Ishikawa.
|
||||
- binfmt/elf: Fix offset value when calling elf_read() in
|
||||
elf_sectname(). From Masayuki Ishikawa.
|
||||
- There can be a failure in IOB allocation to some asynchronous
|
||||
behavior caused by the use of sem_post(). Consider this scenario:
|
||||
(1) Task A holds an IOB. There are no further IOBs. The value of
|
||||
semcount is zero. Task B calls iob_alloc(). Since there are not
|
||||
IOBs, it calls sem_wait(). The value of semcount is now -1. (2)
|
||||
Task A frees the IOB. iob_free() adds the IOB to the free list and
|
||||
calls sem_post() this makes Task B ready to run and sets semcount to
|
||||
zero NOT 1. There is one IOB in the free list and semcount is zero.
|
||||
When Task B wakes up it would increment the sem_count back to the
|
||||
correct value. (3) But an interrupt or another task runs occurs
|
||||
before Task B executes. The interrupt or other tak takes the IOB off
|
||||
of the free list and decrements the semcount. But since semcount is
|
||||
then < 0, this causes the assertion because that is an invalid state
|
||||
in the interrupt handler. So I think that the root cause is that
|
||||
there the asynchrony between incrementing the semcount. This change
|
||||
separates the list of IOBs: Currently there is only a free list of
|
||||
IOBs. The problem, I believe, is because of asynchronies due
|
||||
sem_post() post cause the semcount and the list content to become out
|
||||
of sync. This change adds a new 'committed' list: When there is a
|
||||
task waiting for an IOB, it will go into the committed list rather
|
||||
than the free list before the semaphore is posted. On the waiting
|
||||
side, when awakened from the semaphore wait, it will expect to find
|
||||
its IOB in the committed list, rather than free list. In this way,
|
||||
the content of the free list and the value of the semaphore count
|
||||
always remain in sync.
|
||||
- binfmt: Fix .dtor memory allocation. From Masayuki Ishikawa.
|
||||
|
||||
* File System/Block and MTD Drivers:
|
||||
|
||||
- SmartFS: If whence is SEEK_END, the file offset shall be set to the
|
||||
size of the file plus offset. Noted by eunb.song@samsung.com.
|
||||
- mtd/progmem: Fix incorrect target address calculation.
|
||||
progmem_read/write() is incorrectly calculating the target address,
|
||||
expecting the offset argument is given in a block number. This is
|
||||
completely wrong and as a result invalid flash region is accessed.
|
||||
Byte-oriented read/write interfaces of mtd device accept the target
|
||||
address in a byte offset, not a block number. From Heesub Shin.
|
||||
- procfs: Fix wrong member IDs are displayed when 'cat
|
||||
/proc/<pid>/group/status'. From Nobutaka Toyoshima.
|
||||
- procfs: Fix incorrect uptime with CONFIG_SYSTEM_TIME64. From
|
||||
Masayuki Ishikawa.
|
||||
- vfs/poll: round timeout up to next full tick. Calling poll() with
|
||||
timeout less than half tick (thus MSEC2TICK(timeout) => 0) caused
|
||||
returning error with EAGAIN. Instead of rounding timeout down, value
|
||||
should be rounded up. Open Group spec for poll says:
|
||||
"Implementations may place limitations on the granularity of timeout
|
||||
intervals. If the requested timeout interval requires a finer
|
||||
granularity than the implementation supports, the actual timeout
|
||||
interval will be rounded up to the next supported value." From Jussi
|
||||
Kivilinna.
|
||||
- mtd/config: erase block between block read and write. From Juha
|
||||
Niskanen.
|
||||
- mtd: Build RAMTRON and AT45DB drivers only if selected. From Juha
|
||||
Niskanen.
|
||||
- mtd/config: Fix byte read interface test. From Juha Niskanen.
|
||||
- mtd: Fix some unallocated and NULL pointer issues. rwb->wrflush and
|
||||
rwb->wrmaxblocks in rwbuffer could get unallocated values from
|
||||
ftl_initialize() in some configurations. Also fixes related assert:
|
||||
|
||||
up_assert: Assertion failed at file:rwbuffer.c line: 643
|
||||
|
||||
that can happen with the following configuration:
|
||||
|
||||
CONFIG_FTL_WRITEBUFFER=y
|
||||
CONFIG_DRVR_WRITEBUFFER=y
|
||||
# CONFIG_FS_WRITABLE is not set
|
||||
|
||||
These problems are caused by CONFIG variable differences between the
|
||||
buffer layers. TODO: This is not a perfect solution. readahead
|
||||
support has similar issues. From Juha Niskanen.
|
||||
- net procfs: Fix buffer corruption and refactor netdev_statistics.c.
|
||||
From Masayuki Ishikawa.
|
||||
- FAT: Fix 'Missing unlock' in fs_fat32.c. From Masayuki Ishikawa.
|
||||
- VFS fdopen: Add missing file stream flags clearing. Clear file
|
||||
stream structure regardless of config options. Structure clearing is
|
||||
needed as previous use of stream list entry might leave fs_flags
|
||||
set. From Harri Luhtala.
|
||||
- mtd/smart: Fix use of uninitialized variable. From Jussi Kivilinna.
|
||||
- mtd/w25.c: Enable short delay after sector/chip erase. From Jussi
|
||||
Kivilinna.
|
||||
- mtd/config: Add some error checks for I/O errors. From Juha
|
||||
Niskanen.
|
||||
|
||||
* Graphics/Graphic Drivers:
|
||||
|
||||
- net procfs: Some long lines were being generated that cause buffer-
|
||||
related problems and corrupted output.
|
||||
|
||||
* Networking/Network Drivers:
|
||||
|
||||
- Fixed wrong assert on udp dgram send. From Pascal Speck.
|
||||
- TCP/IPv6: Fix a compile issue when IPv6, but not IPv4 is enabled.
|
||||
- net/socket/accept: Fix building with CONFIG_NET_LOCAL_STREAM. From
|
||||
Jussi Kivilinna.
|
||||
- Argument of network device IOCTL should be unsigned long, just as
|
||||
will all other IOCTL methods.
|
||||
- net/socket: Fix cloning of local and raw sockets. From Jussi
|
||||
Kivilinna.
|
||||
- TCP: Wait for 3-Way Handshare before accept() returns. From Simon
|
||||
Piriou.
|
||||
- TCP: Send RST if applicaiton 'unlistens()' before we complete the
|
||||
connection sequence.
|
||||
- TCP: An RST received during the 3-way handshake requires a little
|
||||
more clean-up.
|
||||
- IPv6: Fix net_ipv6_pref2mask(). From Masayuki Ishikawa.
|
||||
- network IOCTL commands: The only place in net/netdev/netdev_ioctl.c
|
||||
where the interface state should change is for SIOCSIFFLAGS. The
|
||||
other ones .. SIOCSIFADDR, SIOSLIFADDR, SIODIFADDR .. should not
|
||||
change the link state. From Sebastien Lorquet.
|
||||
- TCP: Fix tcp_findlistner() in dual stack mode. From Masayuki
|
||||
Ishikawa.
|
||||
|
||||
* Common Drivers:
|
||||
|
||||
- Fix as5048b by adding missing frequency parameter. From Andreas
|
||||
Bihlmaier.
|
||||
- multiple fixes in nrf24l01 driver: (1) signal POLLIN if there is
|
||||
already data in the FIFO, (2) send ETIMEDOUT to userspace after 2
|
||||
seconds if TX IRQ was not received, (3) handle FIFO overflow, (4)
|
||||
handle invalid pipes/empty FIFO, and (5) multiple cosmetics (missing
|
||||
static, duplicate define, missing \n). From Leif Jakob.
|
||||
- input/mxt: Prevent overriding i2c transfer return value.
|
||||
put_reg/get_reg function was overriding i2c transfer error code with
|
||||
i2creset return value, that lead to OK status although actual
|
||||
transfer failed. From Juha Niskanen.
|
||||
- drivers/audio/wm8904: WM8904 has same problem as that fixed by Juha
|
||||
Niskanen in the MaxTouch driver.
|
||||
- UART 16550: Missing left parenthesis in function prototype. This is
|
||||
Bitbucket Issue #41.
|
||||
- USBMSC: Fix a wrong lun number issue. From Masayuki Ishikawa.
|
||||
- drivers/i2c: Fix compile issues if CONFIG_DISABLE_PSEUDOFS_OPERATIONS
|
||||
is enabled.
|
||||
- drivers/serial: I discovered a problem in the file
|
||||
drivers/serial/serial.c concerning the function uart_close(…). In the
|
||||
case that a serial device is opened with the flag O_NONBLOCK the
|
||||
function uart_close(…) blocks until all data in the buffer is
|
||||
transmitted. The function close(…) called on an handle opened with
|
||||
O_NONBLOCK should not block. The problem occurred with a CDC/ACM
|
||||
device. From Stefan Kolb.
|
||||
- drivers: Fix some bad NULL checks. From Juha Niskanen.
|
||||
- drivers: Rename newly introduced up_i2creset to I2C_RESET. From
|
||||
Juha Niskanen.
|
||||
- drivers/bch: BCH character driver bch_ioctl() always returns -ENOTTY
|
||||
for DIOC_GETPRIV command. It should returns OK if DIOC_GETPRIV
|
||||
command succeeds. From EunBong Song.
|
||||
- Replace sprintf() with snprintf() in pipe.c. From Nobutaka Toyoshima.
|
||||
- drivers/bch: Fix 'Missing Unlock' in bchdev_driver.c. From Masayuki
|
||||
Ishikawa.
|
||||
- button_upper: Fix interrupt enabling for poll-events. From Jussi
|
||||
Kivilinna.
|
||||
- drivers/{sensors,usbmisc}: Fix uninitialized I2C frequency. From
|
||||
Juha Niskanen.
|
||||
|
||||
* ARM:
|
||||
|
||||
- Set EABI stack alignment for all ARM architectures (remove OABI
|
||||
code). From David Cabecinhas.
|
||||
- Remove redundant interrupt stack coloring and OABI code. From David
|
||||
Cabecinhas.
|
||||
- Fix off-by-one interrupt stack allocation in 8-byte aligned
|
||||
architectures. From David Cabecinhas.
|
||||
|
||||
* ARMv6-M:
|
||||
|
||||
- CONFIG_DEBUG_HARDFAULT should be available for Cortex-M0 too.
|
||||
|
||||
* Microchip/Atmel SAM3/4 Drivers:
|
||||
|
||||
- SAM3/4: Fixed configurations for TWI master. Obviously an
|
||||
incomplete port from SAMA5.
|
||||
|
||||
* Microchip/Atmel SAMv7 Drivers:
|
||||
|
||||
- SAMV7: Watchdog: Fix Forbidden Window Value. According the Datasheet
|
||||
the WDD Value is the lower bound of a so called Forbidden Window and
|
||||
to disable this we have to set the WDD Value greater than or equal to
|
||||
the WDV Value. This seems to be a bug in the datasheet. It looks
|
||||
like we have to set it to a greater value than the WDV to really
|
||||
disable this Thing. When triggering the Watchdog faster than the
|
||||
(very slow) clock source of the Watchdog fires, this Forbidden Window
|
||||
Feature resets the System if WDD equals to WDV. This Changeset
|
||||
disables the Forbidden Window by setting the WDD Value to the Maximum
|
||||
(0xfff) Value possible. From Frank Benkert.
|
||||
- SAMV7 EMAC: Add conditional logic to account the fact that the
|
||||
SAMV71 has 6 rather than 3 queues after version 1. From Ian McAfee.
|
||||
|
||||
* NXP/Freescale Kinetis Drivers:
|
||||
|
||||
- Kinetis: Fixed GPIO _PIN_OUTPUT_LOWDRIVE swapped with
|
||||
_PIN_OUTPUT_OPENDRAIN. From David Sidrane.
|
||||
- Ensure interrupts are back on BEFORE running code dependant on
|
||||
clock_systimer. From David Sidrane.
|
||||
- Kinetis k66, k64, k60, k40, k20: Pin mux configure all I2C signals as
|
||||
Open Drain. The output structure of the GPIO for I2C needs to be
|
||||
open drain. When left at the default, one can observe on a scope the
|
||||
slave contending with the push-pull during the ACK. From David
|
||||
Sidrane.
|
||||
- Kinetis K66: Fixed TMP2_CH1 definition. From David Sidrane.
|
||||
- Kinetis K66: Define ALT1 to match ref manual. From David Sidrane.
|
||||
- Kinetis K66: GPIO and pin mux cleanup. From David Sidrane.
|
||||
- Kinetis ADC: Various corrections and updates. From David Sidrane.
|
||||
|
||||
* NXP/Freescale LPC43xx:
|
||||
|
||||
- Add missing PINCONF_INBUFFER in several places of
|
||||
lpc4310203050_pinconfig.h. From Andreas Bihlmaier.
|
||||
- Fix logic in preprocessor checks and correct arguments to
|
||||
lpc43_pin_config initialization. From Andreas Bihlmaier.
|
||||
|
||||
* NXP/Freescale LPC43xx Drivers:
|
||||
|
||||
- Fix logic error in lpc43_adc. From Andreas Bihlmaier.
|
||||
- Use correct macro for irqid (fortunately both point to
|
||||
LPC43_IRQ_EXTINT+18). From Andreas Bihlmaier.
|
||||
- Actually write modified value to register. From Andreas Bihlmaier.
|
||||
- Increase number of supported PWM channels from 4 to 6. From Andreas
|
||||
Bihlmaier.
|
||||
|
||||
* Silicon Labs EFM32 Drivers:
|
||||
|
||||
- EFM32 I2C: Fix timeout calculation. From Masayuki Ishikawa.
|
||||
|
||||
* STMicro STM32:
|
||||
|
||||
- As discovered by dcabecinhas. This fix assume the 8 byte alignment
|
||||
options for size stack size or this will overwrite the first word
|
||||
after TOS. See
|
||||
https://github.com/PX4/Firmware/issues/6613#issuecomment-285869778.
|
||||
From David Sidrane.
|
||||
- STM32 F7: In stm32_allocateheap.c There are 5 not 4 configurations.
|
||||
From David Sidrane.
|
||||
|
||||
* STMicro STM32 Drivers:
|
||||
|
||||
- STM32, STM32 F7, STM32 L4: OTG host drivers: Do not do data toggle
|
||||
if interrupt transfer is NAKed. Sugested by webbbn@gmail.com.
|
||||
- Save elapsed time before handling I2C in stm32_i2c_sem_waitstop().
|
||||
This change follows the same logic as in previous fix to
|
||||
stm32_i2c_sem_waitdone(). It is possible that a context switch
|
||||
occurs after I2C registers are read but before elapsed time is saved
|
||||
in stm32_i2c_sem_waitstop(). It is then possible that the registers
|
||||
were read only once with "elapsed time" equal 0. When scheduler
|
||||
resumes this thread it is quite possible that now "elapsed time" will
|
||||
be well above timeout threshold. In that case the function returns
|
||||
and reports a timeout, even though the registers were not read
|
||||
"recently". Fix this by inverting the order of operations in the loop
|
||||
- save elapsed time before reading registers. This way a context
|
||||
switch anywhere in the loop will not cause an erroneous "timeout"
|
||||
error. From Freddie Chopin.
|
||||
- STM32, STM32 F7, and STM32 L4: Clone Freddie Chopin's I2C change to
|
||||
similar STM32 I2C drivers. From David Sidrane.
|
||||
- STM32: OTG host implementations of stm32_in_transfer() must obey the
|
||||
polling interval for the case of isochronous and interrupt endpoints.
|
||||
- STM32: Fix erase sector number for microcontrolers with more than 11
|
||||
sectors. Erase a sector from the second bank cause the bit 4 of SNB
|
||||
being set but never unsed, so trying to erase a sector from the first
|
||||
bank was acually eraseing a sector from the second bank. From José
|
||||
Roberto de Souza.
|
||||
- STM32: Make up_progmem thread safe. Writing to a flash sector while
|
||||
starting the erase of other sector have a undefined behavior so lets
|
||||
add a semaphore and syncronize access to Flash registers. But for
|
||||
the semaphore to work it needs to be initialized so each board needs
|
||||
call stm32_flash_initialize() on initialization, so to avoid runtime
|
||||
problems it is only using semaphore and making it thread safe if
|
||||
initialized, after all boards starts to call stm32_flash_initialize()
|
||||
we can remove the boolean and the check. From José Roberto de Souza.
|
||||
- STM32: Add workaround for flash data cache corruption on
|
||||
read-while-write. This is a known hardware issue on some STM32 see
|
||||
the errata of your model and if you make use of both memory banks you
|
||||
should enable it. From José Roberto de Souza.
|
||||
- STM32 Flash fixes. From José Roberto de Souza.
|
||||
- STM32 Flash: Missing unlock on F1 HSI off path. From David Sidrane.
|
||||
- STM32 F4 I2C: I needed to use DS3231, I remember that in past it
|
||||
worked ok, but now for stm32f4xx is used another driver (chip
|
||||
specific, stm32f40xxx_i2c.c) and DS3231 driver doesn't work. After
|
||||
investigating a problem I found that I2C driver (isr routine) has a
|
||||
few places there it sends stop bit even if not all messages are
|
||||
managed. So, e.g., removing stm32_i2c_sendstop (#1744) and adding
|
||||
stm32_i2c_sendstart after data reading helps to make DS3231 working.
|
||||
From Alexander Oryshchenko; verified by David Sidrane.
|
||||
- STM32 F7 Serial: Serial fix for dropped data: (1) Revert the
|
||||
inherited dma bug from the stm32. see
|
||||
https://bitbucket.org/nuttx/nuttx/commits/df9ae3c13fc2fff2c21ebdb098c520b11f43280d
|
||||
for details. And (2) Most all CR1-CR3 settings can not be configured
|
||||
while UE is true. Threfore we make all operation atomic and disable
|
||||
UE and restore it's originalstate on exit. From David Sidrane.
|
||||
- STM32 L1: Fix IWDG and WWDG debug mode stop for STM32L15XX. From
|
||||
Juha Niskanen.
|
||||
- STM32 F7: Fix UART7 and UART8 IFLOWCONTROL options. From Jussi
|
||||
Kivilinna.
|
||||
- STM32 F7: Add warning for RXDMA + IFLOWCONTROL combination.
|
||||
Combination of RXDMA + IFLOWCONTROL does not work as one might
|
||||
expect. Since RXDMA uses circular DMA-buffer, DMA will always keep
|
||||
reading new data from USART peripheral even if DMA buffer underruns.
|
||||
Thus this combination only does following: RTS is asserted on USART
|
||||
setup and deasserted on shutdown and does not perform actual RTS
|
||||
flow-control. Data loss can be demonstrated by doing long up_mdelay
|
||||
inside irq critical section and feeding data to RXDMA+IFLOWCONTROL
|
||||
UART. From Jussi Kivilinna.
|
||||
- STM32 F7 Serial: Do not stop processing input in SW flow-control
|
||||
mode. From Jussi Kivilinna.
|
||||
- STM32 L4 DMA: Correct bad channel definition. From Sebastien Lorquet.
|
||||
- STM32 F7: Warn if no DMA2 configured when using ADC with DMA. Also
|
||||
correct ADC channel numbers that DMA callback passes to upper half
|
||||
driver. From Juha Niskanen.
|
||||
- STM32 F7 ADC: Do not override ADCPRE_DIV when measuring
|
||||
internal voltage. From Juha Niskanen.
|
||||
- STM32 L4: Don't think these chips have DPFPU, DTCM or ITCM. From
|
||||
Juha Niskanen.
|
||||
- STM32 F7 Flash: macro naming errors, there is no FLASH_CONFIG_F for
|
||||
F7. From Juha Niskanen.
|
||||
- STM32 L4: stm32l4x6xx_pinmap: Update I2C4 and DCMI pins. From Juha
|
||||
Niskanen.
|
||||
- STM32 L4: stm32l4_i2c: change wrong macro to CONFIG_I2C_POLLED. From
|
||||
Juha Niskanen.
|
||||
- Fix STM32F7 I2C interrupt handler. From Jussi Kivilinna.
|
||||
- STM32: Serial Allow configuring Rx DMA buffer size. From David
|
||||
Sidrane.
|
||||
- STM32 CAN: I had the problem that the transmit FIFO size (= actual
|
||||
elements in FIFO) was slowly increasing over time, and was full after
|
||||
a few hours. The reason was that the code hit the line
|
||||
"canerr("ERROR: No available mailbox\n");" in stm32_cansend, so
|
||||
can_xmit thinks it has sent the packet to the hardware, but actually
|
||||
has not. Therefore the transmit interrupt never happens which would
|
||||
call can_txdone, and so the size of the FIFO size does not decrease.
|
||||
The reason why the code actually hit the mentioned line above, is
|
||||
because stm32can_txready uses a different (incomplete) condition than
|
||||
stm32can_send to determine if the mailbox can be used for sending,
|
||||
and thus can_xmit forwards the packet to stm32can_send.
|
||||
stm32can_txready considered mailboxes OK for sending if the mailbox
|
||||
was empty, but did not consider that mailboxes may not yet be used if
|
||||
the request completed bit is set - stm32can_txinterrupt has to
|
||||
process these mailboxes first. Note that I have also modified
|
||||
stm32can_txinterrupt - I removed the if condition, because the CAN
|
||||
controller retries to send the packet until it succeeds. Also if the
|
||||
condition would not evaluate to true, can_txdone would not be called
|
||||
and the FIFO size would not decrease also. From Lederhilger Martin.
|
||||
- STM32 Serial: Fix freezing serial port. Serial interrupt
|
||||
enable/disable functions do not disable interrupts and can freeze
|
||||
device when serial interrupt is received while execution is at those
|
||||
functions. Trivially triggered with two or more threads write to
|
||||
regular syslog stream and to emergency stream. In this case, freeze
|
||||
happens because of mismatch of priv->ie (TXEIE == 0) and actually
|
||||
enabled interrupts in USART registers (TXEIE == 1), which leads to
|
||||
unhandled TXE interrupt and causes interrupt storm for USART. From
|
||||
Jussi Kivilinna.
|
||||
- STM32 I2C: Make private symbols static. From Juha Niskanen.
|
||||
- STM32 L4 GPIO: Put back EXTI line source selection. From Juha
|
||||
Niskanen.
|
||||
- STM32 L4 RTC: Store RTC MAGIC to backup reg, not to address zero.
|
||||
From Juha Niskanen.
|
||||
|
||||
* STMicro STM32 Boards:
|
||||
|
||||
- Disable serial console on stm32f103-minimum usbnsh example project
|
||||
config. Devices enumerate after this change. From Bob Ryan.
|
||||
- Nucleo-144: Default for choice in Kconfig was not one of the
|
||||
possible choices.
|
||||
- Nucleo-F4X1RE User LEDS: Issue #51 reports compilation problems with
|
||||
stm32_userled.c. Reported by Gappi92.
|
||||
|
||||
* TI Tiva Drivers:
|
||||
|
||||
- Tiva I2C: Correct an error in conditional compilation.
|
||||
- Tiva SSI: Resolves issue 52 'Copy-Paste error in
|
||||
tiva_ssibus_initialize()' submitted by Aleksandr Kazantsev.
|
||||
|
||||
* C Library/Header Files:
|
||||
|
||||
- C Library vsnprintf(): Fix precision for string formatting. Fixes
|
||||
use of format precision to truncate input string. From Jussi
|
||||
Kivilinna.
|
||||
- C Library vsnprintf(): If size is zero, then vsnprintf() should
|
||||
return the size of the required buffer without writing anything.
|
||||
From Jussi Kivilinna.
|
||||
- C Library netdb: in dns_query_callback, ret != -EADDRNOTAVAIL
|
||||
condition consumes error returns including EAGAIN in this case,
|
||||
dns query retransmission doesn't work. From Ritajina.
|
||||
- C Library netdb: Fix time info in lib_dnscache.c. From Masayuki
|
||||
Ishikawa.
|
||||
- C Library netdb: Fix bugs in lib_gethostbynamer.c. This fix sets
|
||||
h_name in struct hostent returned by gethostbyname(). From Masayuki
|
||||
Ishikawa.
|
||||
- C Library Defect Workaround: replace '%6.6u' format with an
|
||||
equivalent '%06u'. From Tomasz Wozniak.
|
||||
|
||||
* Tools
|
||||
|
||||
- Fix mksyscall host binary name. From Alan Carvalho de Assis.
|
||||
|
||||
* Applications (apps/)
|
||||
|
||||
- Fix some calls to task_create(): argv[0] is the first parameter, not
|
||||
the name of the task.
|
||||
- Bitbucket Issue 5: I found an unexpected behavior in apps/
|
||||
configuration generation. Adding external symbolic link in apps/
|
||||
directory and using Make.defs for Kconfig generation, Kconfig file
|
||||
has a wrong path in the source argument. It contains original dir
|
||||
path outside of the source tree instead path to sub-directory in
|
||||
apps/. The problem is connected with make/system symbolic link path
|
||||
resolution. Corrected by a patch submitted by Artur Madrzak with
|
||||
Issue 5.
|
||||
- apps/: Make more globals static to avoid name clashes. From Juha
|
||||
Niskanen.
|
||||
|
||||
* NSH: apps/nshlib:
|
||||
|
||||
- NSH library: In nsh_argexand(), if CONFIG_NSH_ARGCAT is defined but
|
||||
CONFIG_NSH_CMDPARMS defined and/or CONFIG_DISABLE_ENVIRON not
|
||||
defined, then there is a situation that causes an infinite loop in
|
||||
the parser. Noted by Freddie Chopin.
|
||||
- NSH library: Fix building when CONFIG_NET_USRSOCK enabled with other
|
||||
link-layers. From Jussi Kivilinna.
|
||||
- NSH library: Fix some warnings about integer/pointer casts of
|
||||
different sizes (probably only effects 64-bit simulation).
|
||||
- NSH library: Fix open flags in nsh_codeccmd.c. From Masayuki
|
||||
Ishikawa.
|
||||
- I need to look at the registers that are at or around 0xe000ef90.
|
||||
Using mw and xd, I see that nsh does not support pointers greater
|
||||
than 0x7fffffff. A quick look at the source shows that the pointers
|
||||
for those two commands are set with calls to strtol() rather than
|
||||
strtoul(). Changing the two pointer-setting instances to strtoul()
|
||||
fixes the problem, at least for my architecture/config. From Ian
|
||||
McAfee.
|
||||
- NSH library: Fix a resource leak in cmd_hexdump(). From Nobutaka
|
||||
Toyoshima.
|
||||
|
||||
* Examples/Tests: apps/examples:
|
||||
|
||||
- apps/examples/hidkbd: Remove call to arch_usbhost_initialize().
|
||||
That is violation of the OS interfacing rules and will no longer be
|
||||
supported. USB host should be initialized as part of the normal
|
||||
board bring-up logic as with any other devices and should not involve
|
||||
illegal calls from applications into the OS.
|
||||
- apps/examples/usbterm: Removed because it is not very useful and
|
||||
because it can be configured to use an illegal call into the OS.
|
||||
- examples/mm: Fix Makefile. Built-in was not being registered.
|
||||
- examples/hidkbd: Add some missing configuration settings.
|
||||
- examples/random: Avoid stack overflows. From Juha Niskanen.
|
||||
- examples/nettest: Fix an error in pre-processor expression.
|
||||
- examples/mtdpart: Prevent part array overflow. mtdpart examples
|
||||
create partions and allocate from 1 index not a 0 index to part[]
|
||||
array. This cause buffer overflow for part array. This change fixes
|
||||
this problem. From EunBong Song.
|
||||
- examples/can: Fix can example app to print data when
|
||||
CONFIG_EXAMPLE_CAN_READ is defined. From Alan Carvalho de Assis.
|
||||
|
||||
* Network Utilies: apps/netuils:
|
||||
|
||||
- Not a clean fix, but at least makes DHCP working with
|
||||
CONFIG_NETDEV_MULTINIC. From Andreas Bihlmaier.
|
||||
- Ensure netlib will not be broken when setip will not bring the
|
||||
network up anymore. From Sebastien Lorquet.
|
||||
|
||||
* CAN Utilies: apps/canutils:
|
||||
|
||||
- Fix libcanard github download link to get it compiling correctly.
|
||||
From Alan Carvalho de Assis.
|
||||
- Fix to use the new canardInit() function. From Alan Carvalho de
|
||||
Assis.
|
||||
|
||||
* System Unitilities (apps/system)
|
||||
|
||||
- system/dhcpc: Add missing argument of fprintf.
|
||||
|
||||
* Tools (apps/tools):
|
||||
|
||||
- The dedicated windows tool at tools/mkkconfig.bat uses $APPSDIR,
|
||||
which is not a windows shell variable, and is left uninitialized, but
|
||||
in fact should be the current directory. From Sebastien Lorquet.
|
||||
|
Loading…
Reference in New Issue
Block a user