971 lines
41 KiB
Groff
971 lines
41 KiB
Groff
|
NuttX-8.2
|
||
|
---------
|
||
|
|
||
|
The 133rd release of NuttX, Version 8.2, was made on November 16, 2019,
|
||
|
and is available for download from the Bitbucket.org website. Note
|
||
|
that release consists of two tarballs: nuttx-8.2.tar.gz and
|
||
|
apps-8.2.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:
|
||
|
|
||
|
- Signals: Add support for SIGPIPE default action. SIGPIPE uses
|
||
|
SIG_SIGPIPE_ACTION which terminates process by default. It also
|
||
|
could be ignored. From liuhaitao.
|
||
|
- Spinlocks: Remove support for re-entrant spinlocks. They seemed
|
||
|
like a good idea, but they are never used. From Xiang Xiao.
|
||
|
- Memory Manager: Remove the assumption that one character equals
|
||
|
eight bits. From Xiang Xiao.
|
||
|
- Power Management: Historically, the NuttX PM subsystem has
|
||
|
consisted of two functional components: (1) an "Upper" part that
|
||
|
detects state changes based on a random walk driven by activity
|
||
|
levels, and (2) and "lower" part that implementst the state changes.
|
||
|
This change decouples that upper activity-based logic from the lower
|
||
|
random walk logic and allows use of other upper state detection
|
||
|
logic (such as a custom, application-specific state machine). From
|
||
|
Matias Nitsche.
|
||
|
- boardctl(): Expose power manager function through boardctl()
|
||
|
interface. From Xiang Xiao.
|
||
|
|
||
|
* File System/Block and MTD Drivers:
|
||
|
|
||
|
- GD25: Add support for a new FLASH vendor. From zhangbo_a.
|
||
|
- GD25: Add support for GD25 device with 256-Mbit capacity. From
|
||
|
YanLin Zhu.
|
||
|
- GD25: Add 4-byte address operation for capacity larger than
|
||
|
128-Mbit. From YanLin Zhu.
|
||
|
- GD25: Add gd25_lock/unlock to case: enable 4-bytes address From
|
||
|
ligd.
|
||
|
- GD5F: Add gigadevice SPI NAND FLASH driver. From YanLin Zhu.
|
||
|
|
||
|
* Networking/Network Drivers:
|
||
|
|
||
|
- Networking: Use ntoh() when printing IPv6 addresses so that the
|
||
|
addresses appear in friendlier host order vs. network order. From
|
||
|
Bernd Walter.
|
||
|
- Netlink: Implement minimal NETLINK_ROUTE socket functionality that
|
||
|
can (for now) be use used to obtain a list of network devices, IPv4
|
||
|
ARP and IPv6 Neighbor tables, and IPv4 and IPv6 routing tables.
|
||
|
From Gregory Nutt.
|
||
|
|
||
|
* Wireless/Wireless Drivers:
|
||
|
|
||
|
- BCM43438A1 Bluetooth: Add support for the BCM43438A1 Bluetooth
|
||
|
capability. From Dave Marples.
|
||
|
- HCIUART Shim: Add a serial 'shim' to allow any regular serial port
|
||
|
to support a Bluetooth H4 interface and to be used to drive a
|
||
|
Bluetooth device. From Dave Marples.
|
||
|
- BCM4343x HCIUART: BCM4343x HCIUART support. From Dave Marples.
|
||
|
- BCM43xxx: Move drivers/wireless/ieee80211/ to
|
||
|
drivers/wireless/ieee80211/bcm43xxx/ since the directory only
|
||
|
contains only BCM43362 and BCM43438 related code. From Xiang Xiao.
|
||
|
- GS2200M: Add reset handler to interface. Add reset and un-reset
|
||
|
sequence in driver. From Masayuki Ishikawa.
|
||
|
|
||
|
* Audio/Audio Drivers:
|
||
|
|
||
|
- Audio: Add message type to support audio trigger. From anchao.
|
||
|
|
||
|
* Other Common Device Drivers:
|
||
|
|
||
|
- Altair: Add support for the altair LTE modem driver. From Alin
|
||
|
Jerpelea.
|
||
|
- MCP2515: MCP2525 SPI STD-EXT ID fixes. From DisruptiveNL.
|
||
|
- OpenAMP: Brings in the drivers needed to support OpenAMP. These
|
||
|
changes were ported from https://github.com/FishsemiCode/nuttx.
|
||
|
This port was effort of a number of people, I rather arbitrarily
|
||
|
gave authorship to Guiding Li because he has the largest number of
|
||
|
fundamental quashed commits from the Xiamoi repository. From
|
||
|
Guiding Li.
|
||
|
|
||
|
* Simulator:
|
||
|
|
||
|
- Simulator: Add stack coloration feature. From ligd.
|
||
|
- Simulator: Report PM activity on simulated UART. From Matias
|
||
|
Nitsche.
|
||
|
- Simulator: Add host ftruncate() support. From chao.an.
|
||
|
- Simulator: Replace all CONFIG_DEV_CONSOLE with USE_DEVCONSOLE for
|
||
|
arch/sim and compile up_devconsole.c conditionally. From Xiang
|
||
|
Xiao.
|
||
|
- Simulator OpenAMP: Support OpenAMP between two simulator
|
||
|
instances. Please read rpserver/rpproxy section in
|
||
|
boards/sim/sim/sim/README.txt for more information. From chao.an.
|
||
|
|
||
|
* ARMv7-M
|
||
|
|
||
|
- ARMv7-M: Add BPIALL register address. From Dave Marples.
|
||
|
- ARMv7-M MPU: Add user peripheral helper
|
||
|
|
||
|
* Atmel SAMD2/L2 Boards:
|
||
|
|
||
|
- Arduino-M0: Add initial board support for the Arduino M0 which is
|
||
|
based on the SAMD21 chip. Include nsh and usbnsh configurations.
|
||
|
From Alan Carvalho de Assis.
|
||
|
|
||
|
* NXP i.MXRT Drivers:
|
||
|
|
||
|
- i.MXRT LCD: Add support for LCD. Clean up some LCD-related
|
||
|
interfaces. From Fabio Balzano.
|
||
|
- i.MXRT Serial: This change improves the performance of UART serial
|
||
|
ports on the IMXRT by enabling the RX & TX FIFOS and transmission on
|
||
|
the holding register being empty (TDRE) rather than transmission
|
||
|
being complete (TC). From Dave Marples.
|
||
|
- i.MXRT Pin Mux: This change separates out the pinmux and iomux
|
||
|
functions cleanly. For ease of conversion default IOMUX definitions
|
||
|
have been added into imxrt_iomux.h. The change effectively does two
|
||
|
things: (1) unifies the iomux definitions - previously some pins
|
||
|
had them, and some didn't. This effectively made it impossible to
|
||
|
use the pinmuxes without editing the header file in the standard
|
||
|
distribution tree. And (2) unifies the pin definitions so that every
|
||
|
pin now has a suffix. This makes it *much* easier to see when a pin
|
||
|
is in use in your code, because it will always have a definition in
|
||
|
your board.h file. From Dave Marples.
|
||
|
- IMXRT1020-EVK: Add support for the MIMXRT1021-EVK board. It
|
||
|
features nsh, netnsh and usdhc sample configurations. From Dave
|
||
|
Marples.
|
||
|
|
||
|
* NXP i.MXRT Boards:
|
||
|
|
||
|
- IMXRT1060-EVK: Add basic LCD support for the board IMXRT1060-EVK.
|
||
|
From Fabio Balzano.
|
||
|
- IMXRT1060-EVK: Added Littlevgl demo configuration into the
|
||
|
IMXRT1060-EVK board directory. From Fabio Balzano.
|
||
|
|
||
|
* NXP/Freescale Kinetis Drivers:
|
||
|
|
||
|
- Kinetis Ethernet: Add support for TJA1100 PHY. From David Sidrane.
|
||
|
|
||
|
* NXP S31K1xx:
|
||
|
|
||
|
- S32K1xx: Support configuration and initialization of the flash
|
||
|
configuration bytes. From Gregory
|
||
|
|
||
|
* NXP S31K1xx Boards:
|
||
|
|
||
|
- S32K1**EVB: Create a special FLASH section to hold the FLASH
|
||
|
configuration bytes. From Gregory Nutt.
|
||
|
- S32K146EVB: Added configuration script and instructions for using
|
||
|
Thread-Aware OpenOCD for the S32K146 with Eclipse. From Han
|
||
|
Raaijmakers.
|
||
|
|
||
|
* Renesas RX65N:
|
||
|
|
||
|
- RX65N: Adds a port of to the Renesas RX65N Micro-controller. This
|
||
|
port includes Serial (UART) driver (13 ports) and Ethernet
|
||
|
driver. From Anjana.
|
||
|
|
||
|
* Renesas RX65N Boards:
|
||
|
|
||
|
- RSK RX65N-2MB: Add support for the RSK RX65N-2MB board. From
|
||
|
Anjana.
|
||
|
- GR-Rose: Add support for the GR-Rose board. From Anjana.
|
||
|
|
||
|
* Sony CXD56xx
|
||
|
|
||
|
- CXD56xx CPU FIFO: Add configurations for CPU FIFO elements. From
|
||
|
Alin Jerpelea.
|
||
|
- CXD56xx Loader: Update loader and gnssfw ver. 17660. From Alin
|
||
|
Jerpelea.
|
||
|
- CXD56xx SMP: Add support for SMP. To run cxd56xx in SMP mode, new
|
||
|
boot loader which will be released later must be used. From
|
||
|
Masayuki Ishikawa.
|
||
|
- CXD56xx SMP: Add IRQ routing for SMP in cxd56_irq.c. In CXD56xx,
|
||
|
each external interrupt controller can be accessed from a local
|
||
|
APP_DSP (Cortex-M4F) only. This change supports IRQ routing for SMP
|
||
|
by calling up_send_irqreq() in both up_enable_irq() and
|
||
|
up_disable_irq(). From Masayuki Ishikawa.
|
||
|
|
||
|
* Sony CXD56xx Drivers:
|
||
|
|
||
|
- CXD56xx I2C: Add ability to set the i2c frequency to other than just
|
||
|
100 or 400 Hz. From Alin Jerpelea.
|
||
|
- CXD56xx SDHCI: Reduce power consumption by stopping SD clock. Re-
|
||
|
enable SD clock during access to SD card. Improve GNSS low
|
||
|
sensitivity with SD card inserted. From Alin Jerpelea.
|
||
|
|
||
|
* Sony CXD56xx Spresense Board:
|
||
|
|
||
|
- CXD56xx Board Common: Add the Altair LTE modem support on the
|
||
|
Spresense board. From Alin Jerpelea.
|
||
|
- CXD56xx Board Common: Add Spresense Image Processor. Enable support
|
||
|
for accelerated format converter, rotation and so on. using the CXD5602
|
||
|
image processing accelerator.
|
||
|
- Spresense: Add board specific pin configurations of CXD5602 pins to
|
||
|
fit Spresense board. From Takayoshi Koizumi.
|
||
|
- Spresense: Add a configuration option to select if an extension
|
||
|
board is attached to the SPresence. If there is no extension board
|
||
|
attached, the SPresense may run in a low-power mode by default (as
|
||
|
determined by the CONFIG_CXD56_CUSTOM_PINCONFIG option). If an
|
||
|
extension board is present, then the SPresense will need to run at a
|
||
|
higher power mode, selected by the new CONFIG_SPRESENSE_EXTENSION
|
||
|
option. From Gregory Nutt.
|
||
|
- Spresense Camera: Add ISX012 camera initialization and
|
||
|
configuration. From Alin Jerpelea.
|
||
|
- Spresense OS test: Enable ostest in rndis/defconfig and
|
||
|
wifi/defconfig. From Masayuki Ishikawa.
|
||
|
- Spresense: Add --gc-sections to LDFLAGS and add -ffunction-sections
|
||
|
and -fdata-sections to ARCHCFLAGS in scripts/Make.defs. From
|
||
|
Masayuki Ishikawa.
|
||
|
- Spresense SMP: Add smp configuration. From Masayuki Ishikawa.
|
||
|
- Spresense SCU: The SCU has to be initialized at bootup on Spresense
|
||
|
board because several functions depend on it. Add audio control
|
||
|
definitions. Add configuration for the audio implementation. From
|
||
|
Alin Jerpelea.
|
||
|
- Spresense: Add audio and board audio control implementation. From
|
||
|
Alin Jerpelea.
|
||
|
- Spresense: Sdd power_control and audio_tone_generator. Add a simple
|
||
|
way to control the audio buzzer with defined frequency for user-space
|
||
|
apps. From Alin Jerpelea.
|
||
|
- Spresense: Add the optional initialization of GNSS and GEOFENCE at
|
||
|
boot if the drivers are enabled From Alin Jerpelea.
|
||
|
- Spresense: Add LTE configuration. From Alin Jerpelea.
|
||
|
- Spresense: Enable high current mode for the Spresense Extension
|
||
|
board on all examples that have SDCARD support. From Alin Jerpelea.
|
||
|
- Spresense: Add lcd examples configuration. This is a configuration
|
||
|
for the basic nx examples From Alin Jerpelea.
|
||
|
|
||
|
* STMicro STM32:
|
||
|
|
||
|
- STM32F0/L0/G0: Add support for STM32G070xx family. From Daniel
|
||
|
Pereira Volpato.
|
||
|
- STM32F0/L0/G0 Power: Scale dynamic voltage and flash wait states
|
||
|
properly on STM32G0 chips. Included preliminary implementation of
|
||
|
PWR module VOS support. From Daniel Pereira Volpato.
|
||
|
- STM32L4R5ZI: Add support for the STM32L4R5ZI chip type. From Jussi
|
||
|
Kivilinna.
|
||
|
- STM32 L4+ DMA: Add DMA support for STM32L4+ series. From Jussi
|
||
|
Kivilinna.
|
||
|
- STM32 L4 Clocking: Enable "Range 1 boost" mode if any PLL freq
|
||
|
above 80 MHz. From Jussi Kivilinna.
|
||
|
- STM32 L4 LPTIM: Add support for LPTIM timers on the STM32L4 as PWM
|
||
|
outputs. From Matias N.
|
||
|
- STM32 H7 Progmem: Add FLASH progmem support. From David Sidrane.
|
||
|
|
||
|
* STMicro STM32 Drivers:
|
||
|
|
||
|
- STM32 Serial: Single Wire add pull{up|down|none} via new IOCTL
|
||
|
command. From David Sidrane.
|
||
|
- STM32 F0/L0/G0 Serial: Single Wire add pull{up|down|none} via
|
||
|
new IOCTL command. From David Sidrane.
|
||
|
- STM32 F0/L0/G0 PWM: Add PWM support. From Daniel Pereira Volpato.
|
||
|
- STM32 G0 TIM: Support timers available on STM32G070. Includes TIM1
|
||
|
PIOs, TIM driver lower-half. From Daniel Pereira Volpato.
|
||
|
- STM32 F7 Serial: Single Wire add pull{up|down|none} via new IOCTL
|
||
|
command. From David Sidrane.
|
||
|
- STM32 H7 BBSRAM: Exclude BBSRAM from cacheable when
|
||
|
CONFIG_ARMV7M_DCACHE. ST placed the STM32H7 BBSRAM in the SRAM
|
||
|
default memory region which is cacheable. This change sets the
|
||
|
BBSRAM memory range to non-cacheable. From David Sidrane.
|
||
|
- STM32 H7 SDMMC: Add SDMMC support and IDMA as well as interrupt
|
||
|
driven transmission. Support pull-ups and SDIO. From David Sidrane.
|
||
|
- STM32 H7 Serial: Single Wire add pull{up|down|none} via new IOCTL
|
||
|
command. From David Sidrane.
|
||
|
- STM32 L4 OTGFS: Enable OTGFS for STM32L4+ series. The OTGFS
|
||
|
peripheral on stm32l4x6 and stm32l4rxxx reference manual is exactly
|
||
|
the same. From Jussi Kivilinna.
|
||
|
- STM32L4 IDLE Loop: (1) Added BEGIN_IDLE()/END_IDLE() to stop call
|
||
|
so that we also get notification via LED of the STOP mode, (2) Added
|
||
|
the stm32l4_clockenable call as previously discussed, and (3) Added
|
||
|
call to pm_changestate() to inform drivers we're back to running
|
||
|
after the call to stm32l4_stop() returns. From Matias N.
|
||
|
- STM32 L4 Serial: Single Wire add pull{up|down|none} via new IOCTL
|
||
|
command. From David Sidrane.
|
||
|
|
||
|
* STMicro STM32 Boards:
|
||
|
|
||
|
- Nucleo-G070RB: Initial support for board STM32 NUCLEO-G070RB,
|
||
|
including NSH config. Enables PWR peripheral and set SYSCLK to
|
||
|
maximum frequency. From Daniel Pereira Volpato.
|
||
|
- Nucleo-G070RB: Enable basic timers. Add TIMx clock frequencies to
|
||
|
board.h. From Daniel Pereira Volpato.
|
||
|
- Nucleo-G070RB: Add PWM support and GPIO_TIM3_* mappings. Add a PWM
|
||
|
configuration. From Daniel Pereira Volpato.
|
||
|
- Nucleo-G070RB: Add button driver support, Add driver support. Add
|
||
|
GPIO configuration. From Daniel Pereira Volpato.
|
||
|
- Nucleo-L476RG: Add required definitions if libcxx is enabled. From
|
||
|
Matias N.
|
||
|
- Nucleo-L476RG: Add support for LPTIM timers as PWM outputs. From
|
||
|
Matias N.
|
||
|
- Nucleo-H743ZI: Added GPIO device driver for user-space apps. From
|
||
|
Heiko Demlang.
|
||
|
- olimex-stm32-e407: Newer Olimex E407 boards are populated with
|
||
|
STM32407ZE chips. From David Alessio.
|
||
|
- STM32F4-Discovery: Add support for external DS1307 module. From
|
||
|
Alan Carvalho de Assis.
|
||
|
- STM32F4-Discovery: Add support for MMCSD_SPI. This change works
|
||
|
with STM32F4 Discovery Shield plus microSD click From Masayuki
|
||
|
Ishikawa.
|
||
|
- STM32F4-Discovery: Add support for gs2200m. Works with mikroe
|
||
|
STM32F4 Discovery Shield (slot3) From Masayuki Ishikawa.
|
||
|
|
||
|
* TI Tiva:
|
||
|
|
||
|
- TM4C129ENCPDT: Add support for Tiva TM4C129ENCPDT. From Nathan
|
||
|
Hartman.
|
||
|
|
||
|
* TI Tiva Boards:
|
||
|
|
||
|
- TM4C123G-Launchpad: SPI CAN functionality on TM4C123GXL. From
|
||
|
DisruptiveNL.
|
||
|
|
||
|
* Build System:
|
||
|
|
||
|
- tools/Config.mk: Eliminate use of the built-in implicit rules.
|
||
|
From anchao.
|
||
|
- tools/Config.mk and Makefile.unix: Support the incremental build
|
||
|
for configuration change. From Xiang Xiao.
|
||
|
- tools/Config.mk: Support the ability to change the CFLAGS for
|
||
|
the compilation of a single file. Set special compiler options as
|
||
|
follows the rule: sourcefile + fixed suffix "_[A|C|CPP|CXX]FLAGS".
|
||
|
For example in apps/examples/hello/Makefile:
|
||
|
$(SRCDIR)/hello_main.c_CFLAGS = -DTEST. From Xiang Xiao.
|
||
|
- Configuration: Auto-select CONFIG_BUILD_LOADABLE when either
|
||
|
CONFIG_BUILD_KERNEL or CONFIG_BINFMT_LOADABLE is selected. From
|
||
|
Xiang Xiao.
|
||
|
|
||
|
* Libraries/Header Files:
|
||
|
|
||
|
- libs/libc: Add CONFIG_MODLIB_SYSTEM_SYMTAB to generate the symbol
|
||
|
table for dlopen/insmod. From Xiang Xiao.
|
||
|
- getdelim() and getline(): Add implementations of the POSIX
|
||
|
functions getdelim() and getline(). Because of how the function is
|
||
|
defined, getline() cannot be used on platforms that use CR-LF lin
|
||
|
terminations. From Gregory Nutt.
|
||
|
- alarm(), setitimer(), and getitimer(): Implement alarm(),
|
||
|
setitimer() and getitimer() APIs. From liuhaitao.
|
||
|
|
||
|
* Tools:
|
||
|
|
||
|
- tools/mkexport.sh: Copy the essential build script files too and
|
||
|
move Make.defs/gnu-elf.ld into scripts like board folder layout.
|
||
|
From Xiang Xiao.
|
||
|
- tools/mkexport.sh: Should export full content for FLAT build even
|
||
|
with CONFIG_BUILD_LOADABLE. From Xiang Xiao.
|
||
|
- tools/testbuild.sh: Add an option to select the number of CPUs to
|
||
|
use with 'make' From Gregory Nutt.
|
||
|
- tools/indent.sh: Add a command line option to suppress reformatting
|
||
|
of comments. This is useful when comments are already correct
|
||
|
and/or contain formatted data such as tables or lists. From Gregory
|
||
|
Nutt.
|
||
|
- tools/nxstyle.c: Add detection of carriage returns. Improve
|
||
|
reporting of TABs. From Gregory Nutt.
|
||
|
- tools/nxstyle.c: Add logic to detect if there is a blank line
|
||
|
following the final right brace. From Gregory Nutt.
|
||
|
- tools/nxstyle.c: Eliminate false alarm errors on comments that are
|
||
|
to the right of code when the comment terminator is on the same
|
||
|
line as the last of the comment. From Gregory Nutt.
|
||
|
- tools/nxstyle.c: Eliminate false alarms when checking for
|
||
|
alignment of comments to the right of code. Fix check for C++ style
|
||
|
comments so that strings like http:// and https:// do not generate
|
||
|
false alarms. From Gregory Nutt.
|
||
|
- tools/nxstyle.c: Eliminate false positive 'Invalid character after
|
||
|
asterisk in comment block'. From Gregory Nutt.
|
||
|
|
||
|
* apps/ Build System:
|
||
|
|
||
|
- apps/ Build System: Numerous changes for improvements and general
|
||
|
clean-up of the apps/ build system. Too many small and individual
|
||
|
changes to list here. Includes many improvements related to loadable
|
||
|
modules and symbol table generation, removal of duplicated logic,
|
||
|
renaming of binary directories, use of cygpath, etc. From Xiang Xiao.
|
||
|
- apps/Application.mk: Support the ability to change the CFLAGS for
|
||
|
the compilation of a single file. Set special compiler options as
|
||
|
follows the rule: sourcefile + fixed suffix "_[A|C|CPP|CXX]FLAGS"
|
||
|
As an example in apps/examples/hello/Makefile:
|
||
|
$(SRCDIR)/hello_main.c_CFLAGS = -DTEST
|
||
|
From Xiang Xiao.
|
||
|
- apps/Application.mk and main.c files: Change builtin's entry point
|
||
|
from main to xxx_main by macro expansion. This change make the
|
||
|
entry point fully compliant with POSIX/ANSI standard. From Xiang
|
||
|
Xiao.
|
||
|
|
||
|
* Examples/Tests: apps/examples:
|
||
|
|
||
|
- apps/examples/audio_rttl: Add a simple RTTL player demo that is
|
||
|
able to play tunes according to an RTTL song. From Alin Jerpelea.
|
||
|
- apps/examples/bmi160: Add bmi160 example app. This app will read
|
||
|
the BM160 data and list it on the NSH console. From Alin Jerpelea.
|
||
|
- apps/examples/charger: Simple charger example that will display on
|
||
|
the console voltage and current values. From Alin Jerpelea.
|
||
|
- apps/examples/netlink_route: Add test/example of NETLINK_ROUTE
|
||
|
'get' operations. From Gregory Nutt.
|
||
|
|
||
|
* NuttShell: apps/nshlib:
|
||
|
|
||
|
- apps/nshlib/: Add rptun cmd for boot remote core. From ligd.
|
||
|
- apps.nshlib/: Add a -t option to the arp command which will enable
|
||
|
printing the entire ARP table. From Gregory Nutt.
|
||
|
- apps/nshlib/: Add new NSH command, 'pmconfig'. From ligd.
|
||
|
|
||
|
* System Utilities: apps/system:
|
||
|
|
||
|
- apps/system/cle: Add basic color support to the CLE editor.
|
||
|
From Dave Marples.
|
||
|
- apps/system/i2c: While many I2C slave devices have multiple
|
||
|
indexed registers, some have only one register and it's not indexed.
|
||
|
For example, the I2C bus switch TCA9548A has only a Control
|
||
|
Register, attempting to index to "Reg[0]" alters its contents to
|
||
|
0x00 disabling all subordinate buses. This change fixes that
|
||
|
problem by simply trying to read something/anything from the slave.
|
||
|
This also helps coax out slaves with register files that start from
|
||
|
a higher index, i.e. the AT24CS0x, FLASH chips with a UUID that
|
||
|
appears as a 2nd I2C slave at (address+8), report their serial
|
||
|
number at Reg[80]-Reg[8F] and will NAK a read of Reg[0]. Modified
|
||
|
get/set to prevent write of reg index if not specified.
|
||
|
- apps/system/i2c: Added a 'dump' command to issue a single
|
||
|
transaction to retrieve multiple bytes from an I2C slave and
|
||
|
register/offset. From David Alessio.
|
||
|
- apps/system/spi: Add options to specify devtype, id for chip
|
||
|
select. From David S. Alessio.
|
||
|
- apps/system/symtab: Remove system/symtab since the same
|
||
|
functionality exist in nuttx now. From Gregory Nutt.
|
||
|
- apps/system/usrsock_rpmsg: Add rpmsg based usrsock implementation.
|
||
|
From Jianli Dong.
|
||
|
|
||
|
* Network Utilities: apps/netutils:
|
||
|
|
||
|
- apps/netutils/cjson/: Update default version to 1.7.12. Previous
|
||
|
releases raise compilation warnings about redefined true/false.
|
||
|
From raiden00pl.
|
||
|
- apps/netutils/netlib/: Add a function to read the entire ARP table
|
||
|
using NETLINK_ROUTE protocol. From Gregory Nutt.
|
||
|
- apps/netutils/netlib/: Add support for retrieving a snapshot of the
|
||
|
IPv6 neighbor table using Netlink sockets. From Gregory Nutt.
|
||
|
- apps/netutils/netlib/: Add a utility function that will return a
|
||
|
list of all network devices in the UP state. From Gregory Nutt.
|
||
|
- apps/netutils/netlib/: Add function to retrieve routing tables
|
||
|
using Netlink. From Gregory Nutt.
|
||
|
|
||
|
Bugfixes:
|
||
|
---------
|
||
|
Only the most critical bugfixes are listed here (see the ChangeLog for a
|
||
|
more complete list of bugfixes and for additional, more detailed bugfix
|
||
|
information):
|
||
|
|
||
|
* Core OS:
|
||
|
|
||
|
- Signals: Fix undefined reference from sig_default.c to
|
||
|
sched_suspend() if CONFIG_SIG_SIGSTOP_ACTION is not defined. From
|
||
|
raiden00pl.
|
||
|
- waitpid(): Fix a NULL pointer dereference on race without
|
||
|
DEBUG_ASSERT. From David Alessio.
|
||
|
- WD Timers: Back out a kludge-workaround in wd_start for an SDCC
|
||
|
compiler problem fix back in Feb 2017. That workaround now appears
|
||
|
to conflict with newer GCC versions using (unsupported) warning
|
||
|
options and SDCC no longer needs the work-around. From Gregory
|
||
|
Nutt.
|
||
|
- clock_systimespec(): Fix early timespec overflow if using 32 bit
|
||
|
system timer. From Jens Gräf.
|
||
|
- Spinlocks: spin_trylock handle memory barrier and instrumentation
|
||
|
correctly. From Xiang Xiao.
|
||
|
- Power Management: Fix a problem where a timer cannot start when it
|
||
|
encounters a very small pmtick. From ligd.
|
||
|
- boardctl(BOARDIOC_MKRD): This change corrects a problem with NSH:
|
||
|
NSH was calling the OS internal function ramdisk_register() in
|
||
|
violation of the portable POSIX interface. This change solves the
|
||
|
problem by introducing a new boardctl() function BOARDIOC_MKRD
|
||
|
which moves the RAM disk creation into the OS. From Gregory Nutt.
|
||
|
- boardctl(BOARDIOC_ROMDISK): Add support for the new
|
||
|
BOARDIOC_ROMDISK command. This allows applications to create ROMFS
|
||
|
block drivers without illegal direct calls to romdisk_register.
|
||
|
|
||
|
* File System/Block and MTD Drivers:
|
||
|
|
||
|
- SmartFS: Fix O_CREAT without O_TRUNC truncating existing file.
|
||
|
Also nothing in POSIX says that O_APPEND should prevent O_TRUNC.
|
||
|
From Juha Niskanen.
|
||
|
- SmartFS: Honor O_APPEND on writes. Also document pwrite() bug/
|
||
|
limitation. From Juha Niskanen.
|
||
|
- GD25: spi_devid argument was not used in initialization. GD25
|
||
|
driver was always using priv->spi_devid initialized to zero by
|
||
|
kmm_zalloc(). This change initializes it from the supplied function
|
||
|
argument. From Juha Niskanen.
|
||
|
- MMC/SD: Set wrbusy after success of all the operations. Any
|
||
|
failure could leave wrbusy set when it should not be if the
|
||
|
operation failed. From David Sidrane.
|
||
|
- MMC/SD: Enter a removed card state On a failure. If we fail to
|
||
|
read cardstatus in mmcsd_transferready consider this a hard error
|
||
|
and set the card to removed. From David Sidrane.
|
||
|
- MMC/SD (SDIO): Align DMA buffer for MBURST size. From David S.
|
||
|
Alessio.
|
||
|
|
||
|
* Networking/Network Drivers:
|
||
|
|
||
|
- Socket close(): Fixed problems noted by Bernd Walter: Eliminate an
|
||
|
incomplete test when a disconnection event happens. When a
|
||
|
disconnection event occurs, the close logic MUST always terminate
|
||
|
the wait. The conditional test was not incorrect, however, it
|
||
|
lacked 'else' logic and would simply ignore that disconnection event
|
||
|
in some cases. That is bad because there may not be another
|
||
|
disconnection event and that can lead to hangs (or at least very,
|
||
|
very long delays). From Gregory Nutt.
|
||
|
- ICMPv6: Dispatch ICMP_POLL to device's callback list too since
|
||
|
icmpv6_neighbor stills append the callback into this list. From
|
||
|
Gregory Nutt.
|
||
|
- ICMPv6: Decouple autoconfig and ICMPv6 socket to avoid an invalid
|
||
|
Kconfig combination. From Xiang Xiao.
|
||
|
- ICMPv6: cmpv6_autoconfig() error handling must not overwrite
|
||
|
overwrite the error code. From Xiang Xiao.
|
||
|
- TCP/UDP: Fix a chicken and egg problem by eliminating the check of
|
||
|
the arp/neighbor tables before packet transmission:
|
||
|
1. For buffered TCP/UDP case, if CONFIG_NET_ARP_SEND /
|
||
|
CONFIG_NET_ARP_IPIN / CONFIG_NET_ICMPv6_NEIGHBOR isn't enabled
|
||
|
and the table doesn't contain the Ethernet address for the
|
||
|
destination IP address yet, then the logic will skip the real
|
||
|
transmission and then ARP/neighbor logic can't steal the final
|
||
|
buffer to generate the ARP/ICMPV6 packet.
|
||
|
2. For all other case, the TCP layer or user program should already
|
||
|
contain the retransmit logic, the check is redundant and may
|
||
|
generate many duplicated packets if ARP/ICMPV6 response is too
|
||
|
slow because the cursor stop forward. If user is still concerned
|
||
|
about the very first packet lost, he could fix the issue by
|
||
|
enabling CONFIG_NET_ARP_SEND / CONFIG_NET_ICMPv6_NEIGHBOR.
|
||
|
From Xiang Xiao.
|
||
|
- UDP sendto(): Add a check for the device that is polling. In the
|
||
|
multiple network device case, this check is necessary to prevent
|
||
|
sending the UDP packet to the wrong device. From Gregory Nutt.
|
||
|
|
||
|
* Wireless/Wireless Drivers:
|
||
|
|
||
|
- MRF24J40: Correct erroneous isolation of address mode field and
|
||
|
subsequent bad comparison. From Gregory Nutt.
|
||
|
- GS2200M: Add SPI_SELECT() to _read/write_data() in gs2200m.c
|
||
|
- BCM43xx Wireless: In the SDIO interface, the behavior of the DMA
|
||
|
setup differs, depending on the hardware capability
|
||
|
SDIO_CAPS_DMABEFOREWRITE. If this capability is set, then the DMA
|
||
|
setup much be done before the transfer setup. Dave Marples
|
||
|
modified this file for the i.MXRT USDHC which does have the
|
||
|
SDIO_CAPS_DMABEFOREWRITE. Xiao Xiang reports that this change
|
||
|
breaks the Wifi on the Photon which does not report the
|
||
|
SDIO_CAPS_DMABEFOREWRITE and suggests reverting the change. In
|
||
|
reality both changes are correct but must be conditioned on the
|
||
|
DMA capability of the underlying SDIO device. From Gregory Nutt.
|
||
|
|
||
|
* Common Drivers:
|
||
|
|
||
|
- Various drivers (Cloned logic): On error, memory was freed, but
|
||
|
the error was not returned. It just continued as though no error
|
||
|
happened. From Petro Karashchenko.
|
||
|
- Serial: Fix data corruption when outputting data in SMP mode From
|
||
|
Masayuki Ishikawa.
|
||
|
- Serial: serial_io.c used signal numbers, but did not include
|
||
|
signal.h. This has no problems but missing signal definitions have
|
||
|
been seen in certain cases. From David Sidrane.
|
||
|
- Serial DMA: Avoid uart_xmitchars_done() move the tail bigger then
|
||
|
head. If ioctl(TCOFLUSH) occurs between uart_xmitchars_dma() and
|
||
|
uart_xmitchars_done(), TCOFLUSH will reset xmit buffer, then
|
||
|
uart_xmitchars_done() will move the 'tail' ahead of 'head', then
|
||
|
sends lots of wrong data. From ligd.
|
||
|
- mkfifo(): mkfifo() should return -1 and set errno on failure From
|
||
|
raiden00pl.
|
||
|
- RAMLog: Fix ramlog readers never awakened up when using ramlog as
|
||
|
syslog or console. We also make an attempt to avoid the thundering
|
||
|
herd problem if there are multiple readers/pollers. This change also
|
||
|
removes forcing CONFIG_RAMLOG_CRLF in nuttx/syslog/ramlog.h as there
|
||
|
is no point of wasting precious RAM for useless characters. From
|
||
|
Juha Niskanen.
|
||
|
- USB CDC/ACM: Fix memory leak of RX failsafe timer. From Juha
|
||
|
Niskanen.
|
||
|
- USB HID Keyboard device: Fix keyboard debounce algorithm used when
|
||
|
CONFIG_HIDKBD_NODEBOUNCE is undefined. From Jeff Theusch.
|
||
|
- USB HID Keyboard: Change default for CONFIG_HIDKBD_POLLUSEC per
|
||
|
recommendation of Jeff Theusch. From Gregory Nutt.
|
||
|
- VL53L1X IOCTLs: IOCTL commands for the VL53L1X did not follow the
|
||
|
sequence. Noted by Daniel Pereira de Carvalho. From Gregory Nutt.
|
||
|
- syslog: syslog_force does not set errno so do not test against it.
|
||
|
From Juha Niskanen.
|
||
|
- syslog: Fix assertion that assumes re-opened syslog file is the
|
||
|
same. Logic in syslog_file_channel() is calling syslog_initialize()
|
||
|
for the default syslog device as a recovery action after failed
|
||
|
syslog_dev_initialize(). From Juha Niskanen.
|
||
|
|
||
|
* Simulator:
|
||
|
|
||
|
- Simulator HostFS: Skip '.' and '..' in readdir' From Xiang Xiao.
|
||
|
- Simulator HostFS: Fix warning: 'mapflags' may be used uninitialized
|
||
|
in this function. From Xiang Xiao.
|
||
|
- Simulator Tickless: Correct the calculation of the Tickless timer
|
||
|
period. Fix some missing initialization of globals and missing
|
||
|
return values. From Matias N.
|
||
|
- Simulator: Add -m32 to HOSTLDFLAGS if enable CONFIG_SIM_M32. From
|
||
|
Xiang Xiao.
|
||
|
- Simulator PM: Fixes compilation for sim target when enabling power
|
||
|
management. From Matias N.
|
||
|
- Simulator Build: Fixes missing recursion into sim board directory
|
||
|
for dependency generation. From Matias N.
|
||
|
- Simulator SIMUART: Remove CONFIG_SIM_UART_DATAPOST for arch/sim.
|
||
|
It's very dangerous to call NuttX API from simuart_thread. From
|
||
|
Xiang Xiao.
|
||
|
|
||
|
* ARMv7-A
|
||
|
|
||
|
- ARMv7-A: Apply Masayuki Ishakawa's change for ARMv7-M to this SMP
|
||
|
architecture as well. From Gregory Nutt.
|
||
|
|
||
|
* ARMv7-M
|
||
|
|
||
|
- ARMv7-M: Fix a deadlock in up_sigdeliver() in SMP mode. In
|
||
|
previous implementation, up_disable_irq() was called before
|
||
|
recovering local context. However, I noticed a deadlock happens in
|
||
|
the following situation. For example, if up_sigdevliver() is in
|
||
|
progress on CPU0 and CPU1 has called up_cpu_paused to CPU0, hence
|
||
|
g_cpu_irqlock has been locked by CPU1, in this case, we would see a
|
||
|
deadlock in later call of enter_critical_section() to restore
|
||
|
irqcount. To avoid this situation, we need to call
|
||
|
enter_critical_section() to break the deadlock. From Masayuki
|
||
|
Ishikawa.
|
||
|
|
||
|
* Atmel SAM3/4 Boards:
|
||
|
|
||
|
- SAM4CM: Fix cpustart() implementation. In Cortex-M, offset 0 in
|
||
|
vector table stores initial stack pointer and offset 4 stores reset
|
||
|
vector. From Masayuki Ishikawa.
|
||
|
|
||
|
* Atmel SAMA5Dx Boards:
|
||
|
|
||
|
- SAMA5D4-EK: Fix bad conditional compilation for
|
||
|
board_app_initialize(). Should depend only on CONFIG_BOARDCTL,
|
||
|
CONFIG_BUILD_KERNEL is irrelevant. From Gregory Nutt.
|
||
|
|
||
|
* Microchip i.MXRT:
|
||
|
|
||
|
- i.MXRT WFI: WFI needs to be disabled on i.MXRT. We found the
|
||
|
reason: The imxrt1050 is configured to use SYSTICK for the kernel
|
||
|
timer, but SYSTICK cannot wake up the MCU from low-power modes.
|
||
|
Disable low-power modes on this MCU until we have support for an
|
||
|
alternative timer. Earlier versions of the board (EVK, not EVKB),
|
||
|
had A0 silicon which by default did not enter low-power mode on a
|
||
|
WFI. With this change in place together with the previous one my
|
||
|
system is stable, just using more power than it should. From Dave
|
||
|
Marples.
|
||
|
|
||
|
* Microchip i.MXRT Drivers:
|
||
|
|
||
|
- i.MXRT Serial: TC (Transmission complete) and TDRE (TX Buffer
|
||
|
Empty) were transposed in imxrt_serial.c. The end result was that
|
||
|
for unoptimized code everything worked fine, but optimized code got
|
||
|
itself into a real mess and continually fired interrupts. From Dave
|
||
|
Marples.
|
||
|
|
||
|
* Microchip i.MXRT Boards:
|
||
|
|
||
|
- IMXRT1020-EVK: Make naming of the LED consistent. In most places
|
||
|
it is referred to as LED1. In board.h it is referred to as
|
||
|
USERLED1. The i.MXRT1020-EVK hardware user guide (HUG) uses the
|
||
|
name USERLED. This command makes all names internally consistent
|
||
|
and consistent with the HUG. Noted by Alin Jerpelea. From Gregory
|
||
|
Nutt.
|
||
|
|
||
|
* NXP/Freescale Kinetis Boards:
|
||
|
|
||
|
- TWR-K60N512: Suppress errors related to card detect GPIO
|
||
|
configuration if SDHC support is not enabled. From Gregory Nutt.
|
||
|
|
||
|
* NXP LPC17xx/40xx Drivers:
|
||
|
|
||
|
- lpc17xx/40xx I2C: Respect the I2C_M_NOSTART flag. Sending a
|
||
|
restart condition when not requested will break other drivers that
|
||
|
depend on this behavior. From Augusto Fraga Giachero.
|
||
|
- LPC17xx/40xx Ethernet: Use usleep() instead of up_delay() for large
|
||
|
wait times. From Augusto Fraga Giachero.
|
||
|
|
||
|
* NXP LPC54xx:
|
||
|
|
||
|
- LPC54 Clocking: Fix PLL settings. For the lpc54628 Rev. E board
|
||
|
the PLL was not configured properly and the board would not boot
|
||
|
correctly. I checked the startup files from the official IDE and
|
||
|
inspected the assembly instructions for the libraries used. From
|
||
|
Andrei Stefanescu.
|
||
|
|
||
|
* NXP i.MXRT Boards:
|
||
|
|
||
|
- IMXRT1060-EVK: Fix FT5X06 CTRSTn pin configuration, increased
|
||
|
number of pollwaiters for the FT5X06, tuned resolution during
|
||
|
pointer dragging. From Fabio Balzano.
|
||
|
|
||
|
* On Semiconductor Boards:
|
||
|
|
||
|
- LC823450: Fix cpustart() implementation. In Cortex-M, offset 0 in
|
||
|
vector table stores initial stack pointer and offset 4 stores reset
|
||
|
vector. From Masayuki Ishikawa.
|
||
|
- LC823450-XGEVK: Fix build error for posix_spawn. From Masayuki
|
||
|
Ishikawa.
|
||
|
|
||
|
* Sony CXD56xx:
|
||
|
|
||
|
- CXD56xx Assertions: Replace some assertions with error return
|
||
|
values. From Alin Jerpelea.
|
||
|
- CXD56xx Interrupts: Fix hang-up when error interrupt occurs. From
|
||
|
Alin Jerpelea.
|
||
|
- CXD56xx Pin Configuration: PIN_AP_CLK is used as a port selector of
|
||
|
SDIO expander on the extension board, and is set output low in
|
||
|
initialization. Therefore, this pin cannot be used by the other
|
||
|
board. To avoid this restriction, remove this initial operation
|
||
|
because this pin is pulled down by default on the extension board.
|
||
|
From Alin Jerpelea.
|
||
|
- CXD56xx: Remove duplicate NVIC_SYSH redefinitions. The NVIC_SYSH
|
||
|
is already defined in nvicpri.h From Alin Jerpelea.
|
||
|
|
||
|
* Sony CXD56xx Drivers:
|
||
|
|
||
|
- CXD56xx SDHCI: Fix initial value of semaphore in sdhci driver.
|
||
|
From Alin Jerpelea.
|
||
|
|
||
|
* Sony CXD56xx Boards:
|
||
|
|
||
|
- Spresense: The SD Card TXS02612 port expander is hosted on the
|
||
|
Extension board and should not be enabled if the extension board is
|
||
|
not present. From Alin Jerpelea.
|
||
|
|
||
|
* STMicro STM32:
|
||
|
|
||
|
- STM32 F4 Pin Multiplex: Ethernet pin ETH_RMII_REF_CLK is an input.
|
||
|
From Gregory Nutt.
|
||
|
- STM32 H7 ADC: Fix typos in ADC register definitions. From Markus
|
||
|
Bernet.
|
||
|
- STM32 H7: Heap allocation, SRAM and SRAM1 are not continuous From
|
||
|
David Sidrane.
|
||
|
- STM32 H7 CRC: Add the CRC option in KConfig. From Eduard Niesner.
|
||
|
- STM32 H7 RCC: Add PLL3 Support and only enable PLLs if used. From
|
||
|
David Sidrane.
|
||
|
- STM32 L4x6xx RCC: This fix is needed if HSI clock is selected.
|
||
|
Otherwise when waking up from STOP mode, the MSI clock is selected
|
||
|
instead of the HSI clock. From Matias N.
|
||
|
|
||
|
* STMicro STM32 Drivers:
|
||
|
|
||
|
- STM32 USB Host: There was no relationship between
|
||
|
CONFIG_STM32_USBHOST and CONFIG_USBHOST, yet they they were used
|
||
|
interchangeably. This means that can (and did) get out of synch
|
||
|
causing link time failures. This change adds logic to select
|
||
|
CONFIG_USBHOST when CONFIG_STM32_USBHOST is selected, keeping the
|
||
|
two settings synchronized. Furthermore, since CONFIG_STM32_USBHOST
|
||
|
is the authoritative setting, all occurrences of CONFIG_USBHOST were
|
||
|
replaced with CONFIG_STM32_USBHOST. From Gregory Nutt.
|
||
|
- STM32 SDIO: SDIO Fix system hang on card eject. From David Sidrane.
|
||
|
- STM32 F7 Ethernet: Large Ethernet packet can leads network halt.
|
||
|
From Bazooka Joe.
|
||
|
- STM32F7 OTGHOST: OTGFS_EPTYPE_INTR should be OTG_EPTYPE_INTR. From
|
||
|
Gregory Nutt.
|
||
|
- STM32 F7 SDMMC: SDMMC Fix system hang on card eject. From David
|
||
|
Sidrane.
|
||
|
- STM32 L4 Firewall: Correct a test to determine if an address lies
|
||
|
in FLASH or not. Improper mask caused test to always fail. From
|
||
|
Gregory Nutt.
|
||
|
- STM32 H7 Ethernet: Bazooka Joe's fix to the STM32 F7 Ethernet
|
||
|
driver should be applied to the H7 as well. The other STM32
|
||
|
Ethernet drivers already have the change. From Gregory Nutt.
|
||
|
- STM32 H7 Ethernet: Fix ETH_MACMDIOAR_CR_MASK bit mask. From Markus
|
||
|
Bernet.
|
||
|
- STM32 H7 SDMMC: SDMMC Fix system hang on card eject. From Gregory
|
||
|
Nutt.
|
||
|
- STM32 H7 FLASH: Flash driver BUG fixes. From David Sidrane.
|
||
|
- STM32 H7 TIM: Correct register bit definitions and alternate
|
||
|
functions. Fix other copy-paste definitions. From Daniel Pereira
|
||
|
Volpato.
|
||
|
- STM32 L4 SDMMC: SDMMC Fix system hang on card eject. From David
|
||
|
Sidrane.
|
||
|
|
||
|
* STMicro STM32 Boards:
|
||
|
|
||
|
- STM32F4-Discovery: Fix build error for posix_spawn. From Masayuki
|
||
|
Ishikawa.
|
||
|
|
||
|
* TI Tiva:
|
||
|
|
||
|
- TIVA IRQs: Fix wrong IRQ vector number. From Nathan Hartman.
|
||
|
- Tiva FLASH: Fix several mistakes in tiva_write(). (1) Fix wrong
|
||
|
use of && when & was intended. (2) Add compile- time warning
|
||
|
directive because according to this function's interface, it is
|
||
|
supposed to support unaligned writes and/or writes of arbitrary
|
||
|
numbers of bytes to FLASH. However, this function does NOT support
|
||
|
that at this time. This needs to be fixed. (3) Fix wrong
|
||
|
preprocessor conditional. Was written to use the 32-word write
|
||
|
buffer only for TM4C1294NCPDT. This buffer is available on all
|
||
|
M4C123 and TM4C129 parts. Now conditioned upon
|
||
|
CONFIG_ARCH_CHIP_TM4C123 or CONFIG_ARCH_CHIP_TM4C129. (4) Add
|
||
|
comments to document the intent of the above preprocessor logic.
|
||
|
From Nathan Hartman.
|
||
|
|
||
|
* Xtensa
|
||
|
|
||
|
- Xtensa: Apply Masayuki Ishakawa's change for ARMv7-M to this SMP
|
||
|
architecture as well. From Gregory Nutt.
|
||
|
|
||
|
* Build System:
|
||
|
|
||
|
- Makefiles: Change ${shell pwd} to $(CURDIR) since pwd doesn't exist
|
||
|
on Windows From Xiang Xiao.
|
||
|
- tools/Makefile.unix: Fix build error when issue 'make -B': "mkdir:
|
||
|
cannot create directory 'staging': File exists:
|
||
|
tools/Makefile.unix:269: recipe for target 'staging' failed". From
|
||
|
Xiang Xiao.
|
||
|
- All ARM linker scripts: Preface all _ebss definitions with '. =
|
||
|
ALIGN(4)'. Otherwise, the following .bss section may not be aligned
|
||
|
properly. From Gregory Nutt.
|
||
|
- MIPS Linker Scripts: The PIC32M* start-up code initializes .bss by
|
||
|
writing 16 bytes at a time in a loop. The start (_sbss) alignment
|
||
|
is only required to be 4 bytes since the write is done with 4 store
|
||
|
instructions. From Gregory Nutt.
|
||
|
- Top-level Kconfig: Add some protection so that you cannot select an
|
||
|
architecture-specific header file if the architecture does not
|
||
|
provide the header file. From Gregory Nutt.
|
||
|
- libc Kconfig: Should select the NuttX float.h file automatically
|
||
|
if the NuttX math library is selected. From Gregory Nutt.
|
||
|
- tools/Makefile.unix: Make COMMON_DIR work with
|
||
|
CONFIG_ARCH_BOARD_CUSTOM. From Xiang Xiao.
|
||
|
- tools/ Make fragments: Fix the various minor issue for NUTTXLIBS /
|
||
|
USERLIBS: (1) Remove libcxx duplication in FlatLibs.mk and from
|
||
|
kernel space, (2) Remove libpass1 from KernelLibs.mk since kernel
|
||
|
build doesn't support the two pass mode, and (3) Remove FSDIR
|
||
|
related comment since file system cannot be disabled now From Xiang
|
||
|
Xiao.
|
||
|
|
||
|
* C Library/Header Files:
|
||
|
|
||
|
- getcwd(): Remove stray sched_unlock(). Also fixes several typos.
|
||
|
From Juha Niskanen.
|
||
|
- date(), hostname(): Fix portability issue with date, hostname From
|
||
|
David Alessio.
|
||
|
- libs/libxx/Kconfig: Automatically select CONFIG_CLOCK_MONOTONIC when
|
||
|
CONFIG_LIBCXX is selected. Removed hardcoded -DCLOCK_MONOTONIC from
|
||
|
CFLAGS in Make.defs of several configurations. That definition is
|
||
|
now automatically adding this define when CONFIG_LIBCXX=y. From
|
||
|
Daniel Pereira Volpato.
|
||
|
- libs/libxx/Kconfig: CONFIG_LIBC_LOCALE is needed to build libcxx.
|
||
|
A math library is also needed, however, there are various ways to
|
||
|
provide a math library so CONFIG_LIBM is not now set. From Matias
|
||
|
N.
|
||
|
- libs/libc/symtab: Move symbol table generation into libc since the
|
||
|
address in symbol table should come from userspace binary for
|
||
|
PROTECTED build, not kernel binary. From Xiang Xiao.
|
||
|
- libs/libc/ Kconfig files: Disable EXECFUNCS_HAVE_SYMTAB for kernel
|
||
|
build. The symbol table doesn't have any meaning for kernel build
|
||
|
since all executable binary should be self contained. From Xiang
|
||
|
Xiao.
|
||
|
|
||
|
- include/sys/time.h: According to earlier standards, usage of
|
||
|
select(), FD_CLR, FD_ISSET, FD_SET and FD_ZERO just need include
|
||
|
headers: sys/time.h, sys/types.h and unistd.h. So include
|
||
|
sys/select.h in time.h to compatible with it. Or mbedtls library
|
||
|
would build break in calling select() and FD_* related functions.
|
||
|
From liuhaitao.
|
||
|
|
||
|
* Tools:
|
||
|
|
||
|
- tools/configure.sh and configure.c: Do not remove CONFIG_SIM_M32 if
|
||
|
host is specified. From anchao.
|
||
|
- tools/Directories.mk: Remove FSDIRS/NOFSDIRS related logic/comments
|
||
|
since the file system can no longer be disabled now. From Xiang
|
||
|
Xiao.
|
||
|
- tools/Makefile.host: Add missing binaries from clean target. From
|
||
|
Gregory Nutt.
|
||
|
- tools/mkromfsimg.sh: Use sed to add const to ROMFS declarations so
|
||
|
that they lie in FLASH not RAM. From Bernd Walter.
|
||
|
- tools/nxstyle.c: Correct detection of missing blank line following
|
||
|
a block comment. From Gregory Nutt.
|
||
|
|
||
|
* apps/ Build System:
|
||
|
|
||
|
- Makefiles: Change ${shell pwd} to $(CURDIR) since pwd doesn't exist
|
||
|
on Windows From Xiang Xiao.
|
||
|
- Makefile: Fix warning: jobserver unavailable: using -j1. Add '+' to
|
||
|
parent make rule. From Xiang Xiao.
|
||
|
- apps/Application.mk: Correct an error in PATH usage. Use of
|
||
|
toolchain path causes make errors. From Gregory Nutt.
|
||
|
|
||
|
* apps/tools:
|
||
|
|
||
|
- tools/mkromfsimg.sh: Use sed to add const to ROMFS declarations so
|
||
|
that they like in FLASH not RAM. From Bernd Walter.
|
||
|
|
||
|
* Examples: apps/examples:
|
||
|
|
||
|
- apps/examples/mount: Replace illegal call to ramdisk_register()
|
||
|
with a call to boardctl(BOARDIOC_MKRD). From Gregory Nutt.
|
||
|
- apps/examples/nxlines/: Correct nxlines example program name. From
|
||
|
Gregory Nutt.
|
||
|
- apps/examples/nxterm/: PROGNAME, PRIORITY, STACKSIZE variable
|
||
|
names did not match declarations in Kconfig file. From Gregory
|
||
|
Nutt.
|
||
|
- apps/examples/romfs: Remove romfs_testdir.h. That file is
|
||
|
regenerated whenever the example is built and so should not be in
|
||
|
the repository. From Gregory Nutt.
|
||
|
|
||
|
* Testing: apps/testing:
|
||
|
|
||
|
- apps/testing/cxxtest/: Fix typo error in testing/cxxtest. From
|
||
|
Xiang Xiao.
|
||
|
- apps/testing/unity/: Fix the error when creating Make.dep. From
|
||
|
raiden00pl.
|
||
|
|
||
|
* NSH Library: apps/nshlib:
|
||
|
|
||
|
- apps/nshlib: Remove the inappropriate NSH_BUILTIN_APPS coupling.
|
||
|
From Xiang Xiao.
|
||
|
- apps/nshlib/: The NSH mkrd command was in violation of the NuttX
|
||
|
portable POSIX interface. It was calling the internal OS function
|
||
|
ramdisk_register() directly. Not only is this a violation of the
|
||
|
interface specification, but also prevents use of mkrd in PROTECTED
|
||
|
or KERNEL builds. With this change, the NSH mkrd command now uses
|
||
|
the BOARDIOC_MKRD boardctl() command. This command is available in
|
||
|
all build modes. The effect of this change is to move the heart of
|
||
|
the NSH mkrd command into to OS and provide user-space access via
|
||
|
boardctl(). From Gregory Nutt.
|
||
|
- apps/nshlib/: Replace direct calls to romdisk_register() with
|
||
|
indirect calls via boardioctl(BOARDIOC_ROMDISK). This not only
|
||
|
fixes the violation of the portable POSIX OS interface, but also
|
||
|
permits use of ROM disks in PROTECTED and KERNEL modes. From
|
||
|
Gregory Nutt.
|
||
|
- apps/nshlib/: Add missing NSH_DISABLE_DMESG from Kconfig. From
|
||
|
Juha Niskanen.
|
||
|
|
||
|
* System Utilities: apps/system:
|
||
|
|
||
|
- apps/system/cle/: This change modifies the cle to use the streams
|
||
|
file interface more consistently and has removed the observed race
|
||
|
conditions. It was previously a mix of streams and fileio. It
|
||
|
also simplifies the VT100 cursor position handling. From Dave
|
||
|
Marples.
|
||
|
- apps/system/composite: Remove usb serial loopback test code we can
|
||
|
achieve the same effect by cat or dd command. From Xiang Xiao.
|
||
|
- apps/system/cu/: (1) Fix early exit. getc(stdin) can return 0 the
|
||
|
first time around. (2) Set optind to zero. getopt() was being
|
||
|
left in a bad state, causing parsing errors on second use. (3) Fix
|
||
|
priority of cu_listen(). (4) Add support for -h. From David
|
||
|
Alessio.
|
||
|
- apps/system/lzf/: Check the protection by CONFIG_SYSTEM_LZF !=
|
||
|
CONFIG_m (not elf binary) instead of CONFIG_KERNEL_BUILD. From
|
||
|
Xiang Xiao.
|
||
|
- apps/system/spi: Correctly parse exch txdata args, if any. Should
|
||
|
always call the board's deselect From David Alessio.
|
||
|
|
||
|
* File System Utilities: apps/fsutils:
|
||
|
|
||
|
- apps/fsutils/passwd/: Use named semaphore by checking
|
||
|
CONFIG_FS_NAMED_SEMAPHORES instead of CONFIG_KERNEL_BUILD. From
|
||
|
Xiang Xiao.
|
||
|
|
||
|
* Network Utilities: apps/netutils:
|
||
|
|
||
|
- apps/netutils/cjson/Makefile: Fix the error when creating
|
||
|
Make.dep. From raiden00pl.
|
||
|
|
||
|
* Graphics: apps/graphics:
|
||
|
|
||
|
- apps/graphics/twm4nx/: Fix a recently introduced error that broke
|
||
|
all Twm4Nx configurations. From Gregory Nutt.
|
||
|
- apps/graphics/traveler/: Replace direct calls to romdisk_register()
|
||
|
with indirect calls via boardioctl(BOARDIOC_ROMDISK). This not only
|
||
|
fixes the violation of the portable POSIX OS interface, but also
|
||
|
permits use of ROM disks in PROTECTED and KERNEL modes. From
|
||
|
Gregory Nutt.
|