Newer
Older
happens, it always looked like there were not open files and a crash
could ensue (2015-03-14).
* fs/fat/fs_fat32.c and fs_fat32.h: Add support for umount2(target,
MNT_FORCE) in the FAT file system (2015-03-15).
* drivers/mmcsd/mmcsd_sdio.c: Fix some bad logic when file system debug
is turned on: Arguments to syslog were missing so that garbage was
being printed (2015-03-15).
* arch/arm/src/sama5/sam_hsmci.c: Fix a bug in SAMA5 HSMCI. The
bitfield mask and shift values were reversed resulting in a trashed
value for the number of blocks in the BLOCKR register. This was
sufficient to prevent DMA writes from working (2015-03-15).
* drivers/mtd/at24xx.c, Kconfig, and include/nuttx/fs/ioctl.h: Add
support for (1) the byte-oriented read() method, (2) devices that
have extended memory regions, and (3) devices that use 8-bit
addressing (2015-03-17).
* arch/mips/src/mips32/Kconfig, Toolchain.defs, and
configs/pic32mz-starterkit/nsh/Make.defs: Changes that will permit
building of the PIC32MZ Start Kit configuration using MPLAB and the
XC32 toolchain. From David Sidrane (2015-03-17).
* arch/arm/src/stm32/stm32_rtc_lowerhalf.c: Fix some errors in the
STM32 RTC lower-half driver that cause compilation failures. From
shilo.xyz (2015-03-19).
* arch/arm/src/sama5/chip/sam_tc.h: Fix typos in timer/counter header
file. From Bob Doiron (2015-03-20).
* configs/olimexino-stm32: Board support for the Olimexino STM32 board
from David Sidrane (2015-03-20).
* PIC32MZ: Incorporated a set of patches that makes the basic NSH
configuration on the PIC32MZ Starter Kit. From Kristopher Tate
(2015-03-22).
* arch/arm/src/tiva: (1) ADC driver has been re-organized; configuration
is now handled in code instead of Kconfig to help reduce bloat and
confusion. (2) Timer changed to remove ADC coupling in Kconfig to code
and moved configuration up from arch/arm/src/tiva to
configs/tm4c123g-launchpad/src. (3) GPIO driver needed small fixes in
the configuration routines and discovered false-positive bugs in
interrupt testing: interrupts are now verified to actually be working
reliably. (4) Attempt to apply some consistency in the tiva arch/
level's interface to the config/board/ level driver configuration.
* arch/mips/src/pic32mz: Various fixes for Ethernet support. Still
not fully functional. From Kristopher Tate (2015-030-29).
* arch/arm/src/armv7-m: Add configuration option and logic to support
the D-Cache in write-through mode (2015-03-29).
* arch/arm/src/stm32/Kconfig, stm32_lse.c, stm32_lsi.c, stm32_rtc.c/.h,
stm32_rtcc.c, stm32_rtcounter.c, and stm32f*_rcc.c: The
STM32F4Discovery board doesn't come with a Low speed external
oscillator so the default LSE source for the RTC doesn't work. In
stm32_rtcc.c the up_rtcinitialize() logic doesn't work with the LSI.
The check on RTC_MAGIC on the BK0R register lead to rtc_setup() call
that rightfully enables the lsi clock; but the next times, when the
rtc is already setup, the rtc_resume() call does NOT start the lsi
clock! The right place to put LSE/LSI initialisation is inside
stm32_stdclockconfig() in stm32fxxxxx_rcc.c. Doing this I checked
the possible uses of the LSI and the LSE sources: the LSI can be used
for RTC and/or the IWDG, while the LSE only for the RTC (and to output
the MCO1 pin). This change is not verifed for any other platforms.
From Leo Aloe3132
* Rename arch_nshinitialize() to board_app_initialize() (2015-03-30).
* ./*.mk, configs/.gitignore, Makefile, boardctl.c, include/nuttx/fs/ioctl,
include/sys/boardctl.h, syscall.h, and syscall/: Add a new non-
standard OS interface called boardctl(). This is similar to a driver
IOCTL call. But this is an IOCTL call directly on the board logic.
This function will eventually replace all of the ad hoc OS interfaces
that are current used to perform application specific initialization
and application driver test configuration. It essentially formalizes
and institutionalizes these rogue interface in to at least a single
crazy call (2015-03-31).
* configs/: Modify all configurations: Make sure that
CONFIG_LIB_BOARDCTL=y appears wherever CONFIG_NSH_ARCHINIT=y appears.
Remove support for CONFIG_NSH_ARCHMAC. It is not used and there are
better ways to do that operation (2015-03-31).
* configs/Kconfig, boardctl.c, all touchscreen driver setup functions,
include/board.h, include/sys/boardctl.h, and
include/nuttx/input/touchscreen.h: arch_tcinitialize() and
arch_tcunitinitialize() renamed to board_tsc_setup() and
board_tsc_teardown(). These are not long called directly by
applications but only indirectly throught the crappy boardctl() OS
interface (2015-03-31).
* configs/Kconfig, boardctl.c, include/nuttx/board.h, include/sys/boardctl.h,
and several ADC files in configs/<board>/src/: Rename adc_devinit() to
board_adc_setup(). Add support to the boardctl() interface so that it
can call board_adc_setup() on behalf of an application. Make sure that
the proper features are enabled in the defconfig files that have
CONFIG_EXAMPLES_ADC=y (2015-03-31).
* configs/*/defconfig: Make sure that all defconfig files that require
external graphics intiialization also enable the correct boarctl()
settings (2015-03-31).
* include/nuttx/board.h, include/sys/boardctl.h, nuttx/configs/Kconfig and
boardctl.c, and board configurations and PWM implementations: Rename
pwm_devinit() to board_pwm_setup(). Add CONFIG_BOARDCTL_PWMTEST that
will enable calling board_pwm_setup() from boardctl(). In all
configurations that enable the apps/examples/pwm test, make sure that
boardctl() support is properly enabled (2015-03-31).
* Move include/nuttx/timer.h, rtc.h and watchdog.h to include/nuttx/timers/.
(2015-04-01).
* drivers/timer/cs2100-cp.c and include/nuttx/timers/cs2100-cp.h: Add a
very basic driver for the CS2100-CP Fractional-N Multipler chip (2015-04-02).
* configs/, graphics/, include/nuttx: More renaming: up_lcdinitialize->board_lcd_initialize,
up_lcdgetdev->board_lcd_getdev, up_lcduninitialize->board_lcd_uninitialize
(2015-04-04).
* include/nuttx/nx, libnx/nx, libnx/nxtk: Add a new 'capped' parameter to
nx_drawline(), nxtk_drawlinetoolbar(), and nxtk_drawlinewindow()
(2015-04-05).
* libnx/nx/nx_drawline.c, libnx/nxtk/nxtk_drawlinetoolbar.c and
nxtk_drawlinewindow.c: Implement line caps by drawing a file circle at
the each endpoint of a line with a radius equal to half of the width
of the line (2015-04-05).
* include/time.h, nuttx/time.h, libc/time/lib_dayofweek.c and
lib_gmtimer.c: Implements CONFIG_TIME_EXTENDED as we discussed
relative to providing the last 3 members of the tm struct and support
for filling them in and even using the wday in the STM32 RTC. From
David Sidrane.
* arch/arm/src/sam34/sam_serial.c and samv7/sam_serial.c: A side-effect
of changing serial settings via TERMIOS (such as tcsetattr) is that
serial interrupts were being left disabled. This is not a problem if
the serial configuration is changed when there are no open references
to the serial device. In that case, serial interrupts are disabled and
will not be enabled enabled until the serial device is first opened.
But it is fatal if the serial device is already opened and if there is
a task waiting to receive data. In that case, the side-effect of
disabling interrupts is fatal: That task is then left hanging with
interrupts disabled (2015-04-08)
* arch/arm/src/sama5/sam_serial.c: Backport support for flowcontrol and
termios from SAM3/4 -- UNVERIFIED. (2015-04-08).
* arch/arm/src/sam34/sam_serial.c and samv7/sam_serial.c: The IMR
register is read-only. This means that sam_restoreints() did not
actually re-enable UART interrupts (2015-04-08).
* sigaddset() and sigdelset(): Need to set errno if a bad signal number
is received (2015-04-09).
* sighold(), sigrelse(), sigignore(), sigset() and sigpause(): New
signal handling functions (2015-04-09).
* Fixes to asinh(), atanh(), and sinh(): The 'basic' expansions all
exhibited bad cancellation errors near zero (<= 1E-10). This can be
easily seen e.g. with x = 1E-30, the results are all zero though they
should be extremely close to x. The cutoff values (1E-5, 1E-9) are
chosen so that the next term in the Taylor series is negligible (for
double). Functions could maybe be optimized to use only first term (x)
and a smaller cutoff, just bigger than where the cancellation occurs
(2015-04-09).
* syscall/syscall.csv: Last changes to message queue prototypes did not
make it into call gate logic (2015-04-09).
* syscall/syscall_stublookup.c: Fix some errors that crept in recently
(2015-04-09).
* libc/time/lib_localtime.c: Inconsistent configuration name:
CONFIG_LIBC_TZDIR vs CONFIG_LIBC_TZ_TZDIR. Former wins (2015-04-11).
* libc/time/lib_calendar2utc.c and lib_mktime.c: Fix an error in time
initialization when there is not RTC and the time is initialized from
a fixed configured value. The call to clock_calendar2utc() was
returning the time in units of seconds. The initialization logic,
however, was expecting to get time in units of days. This problem
has been there forever but obviously has not significant impact to
behavior in systems where time is not visible (2015-04-12).
* fs/fat/fs_fat32utils.c: Fix misthink when CONFIG_ENDIAN_BIG=y. From
Lwazi Dube (2015-04-12).
* include/nuttx/net/netdev.h, net/devif/ipv6_input.c,
icmpv6/icmpv6_rsolicit.c and net/icmpv6/icmpv6_solicit.c: Use common
macro(s) for calculating link layer header length. From Brennan
Ashton (2015-04-13).
* apps/netutils/pppd/Kconfig, pppd.c, and ntpv3.h (removed): Remove
ntpclient header file in and NTP client references from the pppd
dir. From Brennan Ashton (2015-04-13).
Gregory Nutt
committed
* configs/galileo: Remove all references to the Galileo board. That
port is not going to happen (I don't even have the hardware anymore)
(2015-04-13).
* drivers/input/max11802.c: Fix possible unmatched IRQ restore. Noted
by Juha Niskanen (2015-04-14).
* atexit(): Fix reference to undefined variable in certain
configurations. From Juha Niskanen (2015-04-14).
7.10 2015-06-09 Gregory Nutt <gnutt@nuttx.org>
* configs/sim/src/sim.h, sim_zoneinfo.c, Makefile, and sim_boot.c: Add
logic to test localtime and TZ database. See apps/system/README.txt
for info (2015-04-15).
* libc/Kconfig: Fix defaults for timezone limits. They need to be much
larger (2015-04-15).
* Watchdog files: Fix repeated typo wachog.h in several watchdog
drivers (2015-04-15).
* configs/boardctl.c and Kconfig: Add missing causing that caused
failures of PWM test (2015-04-15).
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
* arch/arm/src/stm32: Defines a second interface for the dma2d controller.
Controlling both LTDC and DMA2D was unpractical from the programmers
view because both controllers are to different. LTDC only controls the
display visibility but the DMA2D controller changes the content of the
frame buffer (buffer of the layer).
The main features are:
1. DMA2D interface
Supports the nuttx pixel formats:
- FB_FMT_RGB8
- FB_FMT_RGB24
- FB_FMT_RGB16_565
Dynamic layer allocation during runtime for the supported formats
- The number of allocatable layer can be configured.
Supported dma2d operation:
- blit (Copy content from source to destination layer) also works
with selectable area.
- blend (Blend two layer and copy the result to a destination layer
which canbe a third layer or one of the source layer) also works
awith selectablerea.
- fillarea (Fill a defined area of the whole layer with a specific
color)
As a result of that the dma2d controller can't transfer data from the
core coupled memory, CCM is disabled but usable by the ccm allocator.
Currently the ccm allocator is used for allocating the layer structure
only. For the dma memory (layers frame buffer) memory is allocated from
heap 2 and 3.
2. LTDC interface
I have changed the api for the currently non implemented operations:
- blit (Copy content from a dma2d layer to an ltdc layer) also works with
selectable area.
- blend (Blend two dma2d layer and copy the result to a destination ltdc
layer) also works with selectable area.
Note! ltdc layer is a layer referenced by the ltdc interface. dma2d layer
is a layer referenced by the dma2d interface.
One of the most important questions for me was, How can i flexible use an
ltdc layer with the dma2d interface, e.g. as source layer for dma2d
operations?
Get the layer id of the related dma2d layer by a special flag when using
getlid() function of the ltdc interface and use the layer id to reference
the specific dma2d layer by the dma2d interface.
The ltdc coupled dma2d layers are predefined and can't be dynamically
allocated of freed. They use the same frame buffer memory and the same
color lookup table.
Changes:
- layer internal format of the clut table
- interrupt handling for register reload (vertical vblank) instead using
waiting loop
- small fixes and refactoring
From Marco Krahl (2015-04-16).
* Add support for the new DMA2D features to the STM32F429i-Disco LTDC
configuration. From Marco Krahl (2015-04-16).
* stdlib.h: MAX_RAND should be RAND_MAX (2015-04-16).
* STM32F429i Disco: (1) Fix a bad return value if the LCD driver is already
initialized. (2) The LCD driver initialization is now performed during the
early boot sequence. (3) Increased the size of the message queue from 32
to 64 in the lcd configuration. From Marco, ocram.lhark@yahoo.com
(2015-04-17).
* STM23 RTC: Fix an error introduced into stm32_pwr_enablebkp(). That
function must preserve the previous state of backup domain access on
return (2015-04-19).
* include/nuttx/usb/hub.h: Add USB hub header file from Kaushal Parikh
(2015-04-18).
* drivers/usbhost/usbhost_hub.c: Bring in USB hub-related files from
https://github.com/kaushalparikh/nuttx. This is the work of Kaushal
Parikh. This initial commit is incomplete. This is quite a bit more
hub logic that needs to come in before the port is complete
(2015-04-18).
* arch/arm/src/stm32/stm32_rtcounter.c: Now need to enable backup
domain write access when setting the time. From Darcy Gong (2015-04-19).
* include/nuttx/usb/usbhost.h: Bring in more logic from
* drivers/usbhost/usbhost_enumerate.c: Last of USB hub logic from
https://github.com/kaushalparikh/nuttx (2015-04-19).
* include/time.h: Add prototypes for localtime() and localtimer_r()
(2015-04-21).
* include/assert.h: Wrap definitions of assertion macros in do while.
Suggested by orbitalfox (2015-04-22).
Gregory Nutt
committed
* sched/semaphore/sem_wait.c: Missing comma on debug statement caused
compile error with DEBUG on. Why hasn't that been noted before?
(2015-04-23).
* drivers/lcd and include/nuttx/drivers: RA8875 LCD driver contributed
by Marten Svanfeldt (2015-04-24).
* arch/arm/src/stm32/chip/stm32_pwr.c and .h: Adds support for STM32's
Programmable Voltage Detector (PVD) feature. Register access is behind
CONFIG_STM32_ENERGYLITE as the feature has not been verified for
F1/F2/F4 etc. manuals. Tested on STM32L1. PVD interrupt looks generic,
at least #defines it needs are in headers for every chip variant. By
Dmitry Nikolaev, submitted by Juha Niskanen (2015-04-28).
* arch/arm/src/stm32/chip/stm32_exti.h, stm32f30xxx_memorymap.h, and
stm32f37xxx_memorymap.h: Added missing EXTI definitions for the STM32
F3; Correct an error the port D base address in the STM32 F30x and F37x
memory maps. From Greg Meiste (2015-05-01).
* arch/arm/src/lpc17xx/lpc176x_gpio.c: Reorder steps when an output
GPIO is configured in order to avoid transient bad values from being
output. From Hal Glenn (2015-05-02).
* arch/arm/src/stm32/stm32_otgfsdev.c and stm32_otghsdev.c: Add
protection in the event that out-of-bound endpoint numbers are
* USB host: Merged in the USB hub support that has been happening on
a separate branch up until this point. The interfaces are complete
and most platforms have been verified (still a little to be done
however). (2015-05-02)
* arch/arm/src/lpc31xx/lpc31_ehci.c, chip.h, sama5/sam_ehci.c, and
chip.h: Fix cache related problem in LPC31 and SAMA5Dx EHCI drivers.
All buffers are now aligned with the cache line size in both starting
address and in length. This cause major problems in unlucky builds
where the USB host buffers where unaligned and abutting other data.
The cache flush and invalidate operations could be subverted by
accesses to adjacent data or could have unexpected side effects. This
bug has been in the ECHI drivers forever, but was only revealed due to
unlucky memory allocations during the integration of the hub feature
(2015-05-03).
* arch/arm/src/lpc17xx/lpc17_usbhost.c: Correct some initialization of
data structures. When hub support is enabled, it would overwrite the
end of an array and clobber some OS data structures (2015-05-03).
* configs/olimex-lpc1766stk: Make stacks usage configurable for USB
host waiter. It needs to be a lot deeper when hub support is enabled
(2015-05-03).
* fs/vfs/fs_poll.c: Fix resource leak and memory corruption on poll
failure. From Jussi Kivilinna (2015-05-04).
Gregory Nutt
committed
* All USB host drivers in arch/ and all USB class drivers in drivers/usbhost:
Modify the transfer() and asynch() methods so that the actual size of
the transfer is returned. Unverified on initial commit (2015-05-05).
* drivers/usbhost/usbhost_cdcacm.c: Add initial implementation of a host-
side CDC/ACM driver. Completely untested on initial commit (2015-05-06).
* configs/, drivers/usbhost/usbhost_storage.c, and included/nuttx/usb/usbhost.h:
Rename usbhost_storageinit() to usbhost_msc_initialize(). Add calls
to usbhost_cdcacm_initialize() if CONFIG_USBHOST_CDCACM is selected
(2015-05-06).
* arch/arm/include/kl and src/kl: Add support for the KL25Z64. The
KL25Z64 is a lower memory variant of the KL25Z128 and is used on the
Teensy LC. From Michael as SourceForge patch 50 (2015-05-07)
* configs/teensy-lc and related board support files: Add board support
for the Teensy LC board. Support is based off the Freedom KL25Z board.
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
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.
The previous version would cause a hard fault on startup due to the
modules not being clocked. Also drop the GPIO configuration as it's
done during kl_start(). From Michael Hope (2015-05-07).
* teensy-lc: remap UART0 to the standard pins. From Michael Hope
(2015-05-07).
* arch/arm/src/stm32 and include/stm32: Added support for STM32F302K8
and STM32F302K6. From Ben Dyer via PX4/David Sidrane (2015-05-08).
* configs/compal_e86: Calypso Compal-E86: Updates for execution out of
FLASH on the C139 phone. From Craig Comstock (2015-05-08).
* STM32 F3: Add DBGMCU register definitions for the F3 family. From
Greg Meiste (2015-05-09).
* arch/arm/src/stm32/chip/stm32_exti.h: Add EXTI line definitions for
the STM32L family (2015-05-09).
* net/tcp/tcp.h: Correct failures in long Telnet sessions by increasing
the size of the number of bytes sent from uint16_t to uint32_t. This
avoids an integer overflow that causes a Telnet sessions to be closed
unexpectedly. From Rony XLN (2015-05-12).
* include/stdio.h, sys/statfs.h, cxx/cstdio, and syscall/syscall.csv:
Remove duplicate prototype of statfs from stdio.h. Belongs in
sys/statfs.h only. Note by Michael Hope (2015-05-12).
* arch/arm/include/kl/chip.h: Fix typo in header file. From Michael
Hope (2015-05-12).
* arch/arm/src/kl/chip/kl_tpm.h: Fix offset to the TPM status register.
From Michael Hope (2015-05-12).
* net/local/local_connect.c: Correct some network lock logic: Two
error conditions where the network was not being unlocked and one
where it was getting unlocked twice. From Jussi Kivilinna (2015-05-12).
* net/local/, fs/vfs/fs_poll.c, drivers/pipes/pipe_common.c/.h,
include/nuttx/fs/fs.h: Add poll support for Unix stream sockets. From
Jussi Kivilinna (2015-05-12).
* net/local/: Local stream sockets had problem of double releasing pipes
(both server and client attempt release), which causes wrong pipe pair
being closed in multi-client case. Solve by adding per connection
instance ID to pipe names. From Jussi Kivilinna (2015-05-12).
* drivers/usbdev/ all class drivers: There needs to be a check to make
sure that the size of a returned string does not exceed the size of
the allocated request buffer. Strings such as vendor names or product
names will be truncated to fit in the request buffer (2015-05-12).
* arch/arm/src/samv7/sam_twihs.c: Fix SAMV TWIHS logic that performs
multi-message transfers with and without repeated starts (2015-05-12).
* maXTouch Xplained Pro: The above TWIHS fix was the last barrier to
getting the touchscreen working in the maXTouch Xplained Pro LCD
* net/route/ and net/netdev/netdev_ioctl.c: Complete implementation of
the IPv6 routing logic. From Max Neklyudov (2015-05-13).
* net/udp/: Add inclusion of assert.h in networking files where needed
to avoid compilation errors. From Max Neklyudov (2015-05-13).
* /net/route/netdev_router.c: Fix bug in IPv6 router from Max Neklyudov
(2015-05-13).
* sched/pthread/pthread_kill.c: Re-implemented pthread_kill(). It was
just a simple wrapper around kill() but since the correct dispatching
of signals for multi-threaded task groups has been implemented,
calling kill() does not do what pthread_kill() is supposed to do. The
corrected implementation of pthread_kill() will direct the signal
specifically to the specific pthread and no other (2015-05-13).
* arch/arm/include/samdl, arch/arm/src/samdl, configs/samd20-xplained:
Rename the samd/ directories and configuratino varialbes to samdl to
all the same directory structure to support the SAML21 (2015-05-14).
* arch/arm/include/samdl and arch/arm/src/samdl: And chip definitions,
configuration framework, and placeholder memory map and pin
configuration files for SAML21 support. Still incomplete on initial
commit (2015-05-14).
* include/nuttx/wdog.h, sched/mqueue/mq_timed*.c, semaphore/sem_timed*.c,
signal/sig_timed*.c, timer/timer_settime.c, and wdog/wd_start.c:
Update the type passed to watchdog timer handlers. Using uint32_t is
a problem for 64-bit machines (2015-05-18).
* configs/saml21-xplained: Add a board build configuration for the
SAML21 Xplained Pro. Initial commit is just the SAMD20 Xplained Pro
board support with naming changed. Does not yet build (2015-05-18).
* libc/net/lib_inetntoa.c: Correct errors in printing IP address when
type char is signed. From Max Neklyudov (2015-05-19).
* arch/arm/src/efm32/efm32_rtc_burtc.c: Updated EFM32 RTC driver from
Pierre-noel Bouteville (2015-05-19).
* arch/arm/src/tiva/chip/tm4c_memorymap.h, tm4c_pinmap.h, and vectors.h.
configs/tm4c1294-launchpad/include/board.h and src/tm4c_autoleds.c:
Fixes for Tiva TM4C1294NCPDT. From Frank Sautter. (2015-05-20).
* configs/tm4c1294-launchpad/include/board.h: Added TM4C1294NCPDT
EN0_LED2 (10/100-Base-Tx); removed all booster pack pin definitions.
From Frank Sautter (2015-05-20).
* nuttx/arch/arm/src/sam34/sam_serial.c: In NONBLOCKING mode serial
does not receive bytes from UART. This happens because RX interrupt
was disabled in the setup routine. To fix this I save interrupt
configuration before UART shutdown and restore it after. From Max
* arch/arm/include/lpc11xx and src/lpc11xx: Support for the LPC11xx
family (the LPC1115 MCU in particular). Contributed by Alan Carvalho
de Assis (2015-05-22).
* configs/lpcxpresso-lpc1115: Support for the LPCXpression LPC1115
board. Contributed by Alan Carvalho de Assis (2015-05-22).
* arch/arm/src/sam34/Kconfig, sam_serial.c, and chip/sam_uart.h: Add
support for optical mode for the SAM4CM UART1. From Max Neklyudov
(2015-05-23).
* arch/arm/src/lpc11xx/: Add support for up_getc() which is needed
for NSH if there is no file system. From Alan Carvalho de Assis
(2015-05-23).
* LPCXpresso-LPC1115: Add a minimal NSH configuration that has the
file system disabled. Update README with OpenOCD instructions.
From Alan Carvalho de Assis (2015-05-23).
* Fix numerous typos in configuration variable names. Tracked down
by Alan Carvalho de Assis (2015-05-23).
* configs/teensy-2.0: Rename configs/teensy so that it is clearly
distinguished from teensy-lc and teensy-3.1 (2015-05-15).
* include/nuttx/mtd/mtd.h: Increase the size of the fields in the
geometry structure (again) to support larger FLASH sizes. Needed
by Sébastien Lorquet (2015-05-26).
* SAM4CM and SAMA5D Free-running timer: Logic that samples the free
running counter reads the pending interrupt status register and
can cause interrupts to be lost. So, if when the status register
is read, the logic must also handle the timer overflow event.
Found and fixed by Max Neklyudov (2015-05-26).
* arch/arm/include/kinetis and arch/arm/src/kinetis: Basic support
for the Kinetis K20 architecture. Taken from PX4. This is the
work of Jakob Odersky (2015-05-26).
* net/: Move some ICMP event lists to the device structure. That
allows for both device-specific event processing and also devices
to generate events like network down. From Max Neklyudov (2015-05-27).
* net/: Extend Macs logic to ARP and ICMPv6. Also found and fix
several IPv6-related compilation errors that have crept in. IPv6
has been broken for awhile (2015-05-27).
* net/tcp: Fix an important TCP networking bug: 16-bit flags was
being converted to 8-bits in a few locations, causing loss of
status indications (2015-05-27).
* net/socket and net/tcp: net_startmonitor.c always returned OK. In
the case where a socket has already been closed, it correctly handled
the disconnection event but still returned OK. Returning OK caused
the callers of net_startmonitor to assume that the connection was
okay, undoing the good things that net_startmonitor did and causing
the socket to be marked as connected. This behavior was noted by
Pelle Windestam (2015-05-28).
* include/nuttx/net, net/arp, net/devif, net/icmp, net/icmpv6,
net/netdev, net/pkt, net/tcp, net/udp: Modify event list handling:
Now there are two event lists each device structure: (1) One is
for ARP and ICMP data related events, the other is for device
related events. Callback allocation/free routines no accept a
device parameter as well as a list: If the device parameter is
added, then the callback goes into both the connection-related
list AND the device event list. Thus each socket type can
received both custom data-related events as well as common
device related events (2015-05-28).
* net/socket and net/utils: setsockopt() fails when setting timeouts
to values less that an 100 msec. That is because the timeout is
limited to stops of 1 decisecond and because the conversion of
structure timeval was truncating the microsecond remainder. The
utility net_timeval2dsec now accepts and option to determine how it
handles the remainder: truncate, discarding the remainder, use the
remainder to round to the closed decisecond value, or use any non-zero
remainder to the next larger whole decisecond value. Bug discovered
by Librae (2015-05-29).
* configs/stm32f4discovery/src: Move up_cxxinitialize from
nuttx/configs/stm32f4discovery/src to apps/platform/stm32f4discovery
where it belongs (2015-05-29).
* net/sockets, net/tcp, net/udp: UDP Networking: Add support for
device event notification for UDP transfers (2015-05-29).
* net/sockets and net/tcp: TCP Networking: Add support for device event
notification for UDP transfers (2015-05-30).
* libc/Kconfig and stdio/lib_libvsprintf.c: Add an option to disable
support for long long formats in lib_vsprintf. From Alan Carvalho
de Assis (2015-05-30).
* net/net_initialize.c, net/detdev, and net/socket: The network device
list was protected by a re-entrant semaphore. With the recent change
to support network device callback, the network stack needs to access
the network device list too. Some drivers, however, run the network
stack from the interrupt level -- this is bad but a fact in the
current state. Of course, those drivers are unable to take the
semaphore and would assert.
The solution here is to eliminate the device devices semaphore
altogether. This eliminates netdev_semtake() and netdev_semgive()
and replace them with net_lock() and net_unlock() which have the
larger scope that is needed and will integrate properly with the
dinosaur interrupt driven stack (2015-05-31).
* net/socket/connect.c: In the TCP connection operation, it was trying
to setup the network monitor BEFORE the socket was successfully
connected. This, of course, has ALWAYS failed because the socket is
not yet connected and the TCP state is not yet correct for a connected
socket. However, because of other changes net_startmonitor() now
returns a failure condition that causes worse problems when trying to
connect. The fix is to move the logic that starts the network monitor
to AFTER the socket has been successfully connected (2015-05-31).
* tools/configure.c: Fix test for the existence of the apps/ directory.
Fix backward interpretation of options, -l was selecting Windows and
-w was selecting Linux. This was SourceForege Ticket #39 (2015-05-31).
* arch/include/stm32/chip.h and arch/src/stm32/Kconfig: Add basic
support for the STM32F205RG. From SourceForge Ticket 40 (anonymous,
2015-05-31).
* arch/arm/src/lpc17xx: Review, update, and modify the Ethernet driver
so that it works better with CONFIG_NET_NOINTS=y (2015-06-01).
* configs/: Update all LPC17xx networking configurations so that they
have CONFIG_NET_NOTINTS=y selected (2015-06-01).
* /arch/arm/src/armv7-m, binfmt/libelf, configs/stm32f4discovery/scripts,
/include/nuttx/binfmt, and libxx: Add support uClibc++ exceptions. This
involves additional handling for relative relation types, additional
support for unwinding, as well as additional changes. The culmination
of a big effort from Leo Aloe3132 (2015-06-01).
* configs/olimex-lpc1766stk: Rename the thttpd configuration to thttpd-nxflat.
Add a new configuration, thttpd-binfs, that provides an example of how
to build apps/netutils/thttpd using binfs instead NXFLAT+ROMFS
(2015-06-02).
* tools/cfgdefine.c: Extend the mkconfig tool so that it can dequote a
quoted list of quoted strings. THTTPD uses such a configuration
setting to provide the list of index files (2015-06-02).
* mq_timedreceive(): move the location where the errno value is set; the
ETIMEDOUT errno setting was being overwritten by subsequent actions
before returning. Noted by Freddie Chopin (2015-06-03).
* Networking: Modify how callback structures are stored to avoid
another potential use of a stale pointer (2015-06-03).
* POSIX message queues: Move mq_setattr() and mq_getattr() from
nuttx/libc/mqueue to nuttx/sched/mqueue. Also add syscall support
for mq_setattr() and mq_getattr(). This is necessary in protected and
kernel builds because in those cases the message queue structure is
protected and cannot be accessed directly from user mode code. Noted
by Jouko Holopainen (2015-06-03).
* drivers/net/tun.c: TUN driver bug fix. From Max Neklyudov (2015-06-03.
* drivers/net/Kconfig, include/nuttx/net/mii.h, and
arch/arm/src/lpc17xx/lpc17_ethernet.c: Add support for the Micrel
KSZ8041 PHY to the LPC17xx Ethernet driver (2015-06-03).
* configs/lincoln60/netnsh: Add a network enabled configuration for
the Lincoln60 board (2015-06-03).
* drivers/net/tun.c: Misc. improvements to the TUN driver, mostly related
to poll(). From Max Neklyudov (2015-06-04).
* fs/, fs/unionfs, include/nuttx, include/sys, Documentation: Add
support for a union file system that can be used to overlay and merge
the content of two mounted file systems (2015-06-05).
* arch/arm/src/efm32/efm32_spi.c: Add SPI GPIO pin initialization. From
Pierre-noel Bouteville (2015-06-05).
* configs/sim/unionfs: Add a configuration for testing the Union File
System (2015-06-05).
* configs/lincoln60/thttpd-binfs: Add a thttpd-binfs configuration for
the Lincoln60. That configuration still does not work on initial
commit (2015-06-06).
* arch/arm/src/sama5/sam_can.c: Fix SAMA5 CAN frame construction. From
Max Holtzberg (2015-06-07).
7.11 2015-xx-xx Gregory Nutt <gnutt@nuttx.org>
* arch/arm/src/efm32/efm32_spi.c: Correct write to incorrect register in
EFM32 SPI driver. From Pierre-noel Bouteville (2015-06-09).
* configs/teensy-3.x: Add board support for the PJRC Teensy-3.1 board
(2015-06-09).
* arch/arm/src/samdl, configs/samd20-xplained, and configs/saml21-xplained:
In the SAML21, SERCOM5 uses a different SLOW clock channel (and, hence,
also a different SLOW GCLK generator). This means that the channel
selection cannot be a global definition but must be a per SERCOM
configuration setting (2015-06-10).
* arch/arm/src/kinetis and include/kinetis: Add support for MK20DN--VLH5
and MK20DX---VLH5. Needed for backward compatible support for
Teensy-3.0 (2015-06-10).
* configs/Kconfig and configs/teensy-3.x: Add support for Teensy-3.0
(2015-06-10).
* arch/arm/src/stm32/stm32l15xxx_rcc.c: STM322 F15x stm32_stdclockconfig()
was calling stm32_pw_setvos() which accessed PWR_CR via an inactive APB
* fs/mount: Add the ability to mount a file system on top of en existing
node in the psuedo-file system (2015-06-11).
* arch/arm/src/sam34/sam_clockconfig.c: Add default loop optimization if
EEFC_FMR is available in the configuration (i.e., for SAM4S and 4E).
From Marco Aurélio da Cruz (2015-06-11).
* include/time.h and libc/time: Add asctime(), asctime_r(), ctime(), and
ctime_r() (2015-06-12).
* include/ and arch/: Clean up and review of header files for conformance
to standards (2015-06-12).
* arch/arm/src/samdl: Add build framework for SAML21 DMA support.
Nothing there yet except for skeletal logic taken from SAM3/4
(2015-06-12).
* include/pthread.h and nuttx/sched/pthread: Use -1 instead of 0 as PID
for unclaimed mutexes. From Juha Niskanen (2015-06-16).
* sched/pthread: Implement pthread_mutex_trylock() for recursive mutexes.
From Juha Niskanen (2015-06-16).
* libc/unistd/lib_getopt.c: Uninitialized variable can cause hardfault
from getopt if required argument is missing. From George McWilliams
(2015-06-18)
* arch/arm/include/samdl and arch/arm/src/samdl: Add architecture support
for the SAMD21 family (2015-06-19).
* configs/samd21-xplained: Board configuration for the SAMD21 Xplained
bord (2015-06-21).
* arch/arm/src/sam34/sam_lowputc.c: Back out an error introduced with
commit 02c33f66c5a8be774034cd40e4125e9323c7b4d8. Causes an infinite
loop in up_lowputc(). From Max Neklyudov (2015-06-22).
* include/nuttx/fs/ioctl.h and power/relay.h: Add relay IOCTL definitions.
From Max Neklyudov (2015-06-22).
* sched/clock/clock_gettime.c: Use up_timer_gettime for CLOCK_MONOTONIC
in tickless mode. From Max Neklyudov (2015-06-22).
* crypto/ and SAM4CM: Add CFB and MAC AES modes. From Max Neklyudov
(2015-06-22).
* SAM4CM: Fix SUPC register definitions. From Max Neklyudov. Also
removed conditional logic form non-SAM4CM parts (Gregory Nutt)
(2015-06-22).