Nuttx 7 - 27 README
Nuttx 7 - 27 README
Nuttx 7 - 27 README
27 Release Notes
------------------------
The 127th release of NuttX, Version 7.27, was made on November 14, 2018,
and is available for download from the Bitbucket.org website. Note
that release consists of two tarballs: nuttx-7.27.tar.gz and
apps-7.27.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).
* Core OS:
* Networking/Network Drivers:
* Wireless/Wireless Drivers:
- i.MXRT: Added support for the i.MXRT 106x family. From David Sidrane.
* STMicro STM32:
- STM32 ADC: Major refactor: Use STM32 ADC IP core version and ADC
available functions instead of chip family names in conditional
compilation. Replace family specific ADC headers with STM32 ADC IP
core version headers. Configurable sample time supported for all
chips, not just L1. Enable/disable interrupts supported for all
chips, not just L1. Add ADC resolution configuration. From Mateusz
Szafoni.
- STM32 PWM: Improvements in STM32 PWM low level driver: Support
complementary outputs, dead-time configuration, output polarity and
IDLE state configuration. From Mateusz Szafoni.
- STM32 PWM: Break and lock configuration and some cosmetics From
Mateusz Szafoni.
- STM32 SPI. Enable separate DMA per SPI configuration From Daniel Agar.
- STM32 F7 FLASH: Allow programming OTP blocks through progmem
interface From Jussi Kivilinna.
- STM32 H7 I2C: Add I2C support for STM32H7. From raiden00pl.
- STM32 H7 RCC: Update RCC definitions, add SPI clock configuration and
some fixes in RCC. From raiden00pl.
- STM32 H7 SPI: Add basic SPI support for H7. Enable SYSCFG clock in
RCC. From Mateusz Szafoni.
* MIPS32:
* RISC-V:
- RISC-V GAP: This commit brings in support for the GAP8 architecture.
The GAP8 is a 1+8-core DSP-like RISC-V MCU. Also included is support
for the Gapuino GAP8 evaluation board. From hhuysqt.
* Other Tools:
* Libraries/Header Files:
* Build System:
* NSH: apps/nshlib:
* Examples/Tests: apps/examples:
- apps/examples/gpio: Align with GPIO driver update From wangyanjiong.
- apps/examples/ina226: Added INA226 example From Daniel P. Carvalho.
- apps/examples/mld: Add a test of MLD. Provides a mechanism for some
low-level bring-up of MLD. From Gregory Nutt.
- apps/examples/mlx90614: Add mlx90614 test example From Alan Carvalho
de Assis.
- apps/examples/mlx90614/: Include support to change device address on
mlx90614 From Alan Carvalho de Assis.
- apps/examples/fstest: Adapt the existing fstest example for SPIFFS:
For SPIFFS, add garbage collection and file system integrity IOCTL
calls. Call statfs() and show state of file system on each loop. Add
logic to dump logic content of SPIFFS. Ignore EINTR errors while
reading or writing. Add configuration option to customize stack
size. Detect when the media is full and stop writing files. Report
total file size. From Gregory Nutt.
- apps/examples/tcpblaster: Add an option to use poll() to pace input
or output. From Gregory Nutt.
- apps/examples/tcpblaster: Select CONFIG_LIBC_FLOATINGPOINT
automatically. Units in output are wrong: Not Kbps bus Kb/Sec. From
Gregory Nutt.
- apps/examples/udpblaster: Add option to use poll() on output (only).
From Gregory Nutt.
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:
* Networking/Network Drivers:
- Broadcom 802.11 Driver: There were two functions that have a address
issue. In bcmf_read_sbreg() and bcmf_write_sbreg():
SBSDIO_SB_OFT_ADDR_MASK should be used before map address space.
Noted by Shao Li in Bitbucket issue #126. From Gregory Nutt.
- Broadcom 802.11 Driver: Remove incorrect OR condition. Always true.
Noted by Shao Li in Issue 127. From Gregory Nutt.
- NRF24L01: Fix compilation errors. From Mateusz Szafoni.
* Common Drivers:
* ARMv7-A:
- ARMv7-A: Replicate the same fix was previously committed for the
ARMv7-R. From Gregory Nutt.
* ARMv7-R:
* ARMv7-M:
* Intel x86:
- Qemu i486: Correct .bss, IDLE stack, heap organization. From Gregory
Nutt.
* NXP/Freescale Kinetis:
- i.MXRT Ethernet: The board would not come up if I ran Nuttx from cold.
I dumped the PHY registers to see what the differences were and the
PHY was coming up in NANDTree mode. This is a mode for testing
connectivity between the PHY and the MAC. Switching this mode off in
the PHY registers has fixed the problem. From Dave Marples.
- i.MXRT Ethernet: Fix a race condition in setting up the Ethernet Tx
transfer. From Dave Marples.
- i.MXRT Ethernet: Corrections for the i.MXRT Ethernet: (1) Now the
Ethernet is completely re-initialized when an error occurs by means of
taking the interface down and back up but the PHY is _not_
renegotiated for that case because that is very time consuming and an
error in the Ethernet is no reflection on the state of the PHY
anyway. (2) Explicitly sets the expected PHY address to zero (this
could be moved into the config rather than searching for it which
takes ages, and it's zero anyway for this board (that's the broadcast
address, and anything that cannot respond on that has multiple PHYs,
so that would be a new board). (3) Allows for the renegotiation of
the PHY to be optional when a reset is needed. If a non-renegotiated
reset doesn't result in good comms to the PHY then it'll automatically
be escalated to a renegotiated one. (4) Only performs a reset for
errors that need it (the CRITICAL_ERROR define). The list of errors
that need reset are somewhat arbitrarily chosen based on my prejudices
and might need to be revisited, but certainly the jabber errors don't
need reset, the partial packet is thrown away by the layer above
anyway. (5) Re-loads the multicast table on reset. (6) Adds a bit
more logging into the imxrt Ethernet module. From Dave Marples.
- i.MXRT LPI2C: Fixes 2 bugs in the for IMXRT1050: (1) I2C time out and
did not send STOP condition when sending single byte, (2) I2C could
not receive bytes after repeated start. From Ivan Ucherdzhiev.
- i.MXRT LPSRTC: SVNC LPCR register bits 0 & 1 are NOT reserved and
are, in fact, needed to enabled the SRTC. Now the SRTC is working.
From Ivan Ucherdzhiev.
- LPC54 SDMMC: Add support for and SDMMC errata. It appears that now I
can read the SD card successfully, but I get CRC errors when writing
to the card. From Gregory Nutt.
- LPC54 SDMMC: Ported Dave Marples fixes LPC43 SDMMC to the LPC54.
From Gregory Nutt.
- i.MXRT WDOG: Typos in bit definitions, wdog registers are 16 bits,
wdog update has to be within 255 clocks of unlock, define board
clocking based on divisor and muxes. From David Sidrane.
* NXP i.MXRT:
- i.MXRT: clockconfig bug fix: Fixed logic that was not clearing bits
as ~ was missing in &= mask operations. Use values from the board.h
file so set the Mux that selects the clock sources. Use board
defined PODF values to select clock. Only configure USDHC2 clocks
when board defines clocks. From David Sidrane.
* MIPS32:
* Microchip PIC32MZ:
* Simulation:
- SIM Network Driver: Fix error 'invalid operands to binary &' From
Xiang Xiao.
* C Library/Header Files:
* Build System:
- Fix issue with libcxx build. This was changed multiple times, but
should be fixed now. From Anthony Merlino.
- configs/Makefile and tools/Config.mk: Move single file copy to the
new function COPYFILE. This fixes the Windows native build case when
there is no cp or cp does not recognize Windows paths. From Anatol
Ivanov.
- tools/Config.mk and tools/Makefile.win: Force use 'cmd' for shell
with windows native build From Anatol Ivanov.
- tools/Directories.mk: Correct the path to the installed libcxx
directory. From Gregory Nutt.
- tools/Makefile.win/unix: Staging directory (and its libraries) should
be removed on 'make clean' (issue noted by Dave Marples). From
Gregory Nutt.
* Other Tools:
* Examples/Tests: apps/examples: