DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
| Table of Contents |
|---|
Work In Progress
| Warning | ||
|---|---|---|
| ||
| NuttX 10.0 has not been released yet. These Release Notes are a work-in-progress in preparation for the next release of NuttX. There is a board tracking the PRs that need to be looked at to add to this doc for the OS TODO ADD LINK and for the Apps TODO ADD LINK |
What's New In This Release
...
PR-1658 libc: Add stubs for utimes
PR-1619 Fix inverted errno in mq_openPR-1615 libc1615 libc: Implement tm::tm_gmtoff field
PR-1611 libc: Allocate file_struct dynamically
...
PR-1684 Add gdb script for NuttX thread debugging
PR-1911 init_section was not being emitted resulting in C++ static constructors not being called.
PR-1889 Fix build error for ::setbuf if CONFIG_STDIO_DISABLE_BUFFERING is set
Major Changes to the Build System
New Features
PR-1786 Support building external code into the OS
Bug Fixes
PR-1713 Fix export target: libboard was missing KERNEL flag.
PR-1470 Fix Make.dep not updated by .config changes
Architectural Support
New Architecture Support
PR-1847 ARM: Initial support for ARMV6M to support CortexM0+
Architectures With Significant Improvements
cxd56xx
PR-1753 cxd56xx: Use spinlock in gpioint to improve SMP performance
PR-1650 cxd56xx: Use spinlock in rtc to improve SMP performance
PR-1621 cxd56xx: Use spinlock in serial to improve SMP performance
PR-1569 cxd56xx: Add SMp support to cxd56_farapi.c
ESP32
PR-1422 ESP32: Add SPI driver (Master & Slave)
PR-1435 ESP32: Add I2C driver
PR-1491 ESP32: Add SPI Flash driver
PR-1525 ESP32: Add Ethernet driver
PR-1610 ESP32: Improve SPI transmision (DMA, IOMUX, software CS)
PR-1630 ESP32: Add support for HW RNG
PR-1830 ESP32: Add Power Management of Force-Sleep
PR-1859 ESP32: Add hist timer and improve the oneshot timer logic
PR-1754 ESP32: Add support for external SPIFLASH
PR-1613 ESP32: Add function for switching CPU from 80MHz to 240MHz
IMXRT
PR-1868 IMXRT: Add ADC driver
Kinetis
PR-1624 Kinetis: USBHOST improvements to avoid race condition durring freeing for queue head structure by using Async Advance Doorbell.
NRF52
PR-1418 NRF52: Add Timer and RTC drivers
PR-1432 NRF52: Add timer lowerhalf
PR-1635 NRF52: Add support for RTC event handling
PR-1636 NRF52: Add support for PPI peripheral
PR-1681 NRF52: Add support for GPIOTE task mode
PR-1726 NRF52: Extend systimer support
PR-1773 NRF52: Add ADC and PWM support
PR-1915 NRF52: Add serial termios support (no flow control)
PR-1907 NRF52: Add basic error handing for i2c in polling mode to support i2ctool. Still not handled in DMA mode.
PR-1839 NRF52: Add missing SPI callback register hooks to support drivers like mmcsd
PR-1646 NRF52: Better differentiation between NRF52840 and NRF52832
RISCV
PR-1858 RISCV: Add missing CSR macros listed in RISC-V spec V1.10.
RX65N
PR-1622 RX65N: Add I2C(RIIC) support
PR-1894 RX65N: Add USB device support
PR-1899 RX65N: Add DTC driver
PR-1910 RX65N: Add SPI driver support
SAMD5E5
PR-1515 SAMD5E5: Add Watchdog timer support
PR-1574 SAMD5E5: Add USB host support
PR-1594 SAMD5E5: Freerun timer, oneshot timer and tickless support
PR-1816 SAMD5E5: Add MTD progmem support and NVM USER PAGE IOTCLs
SIM
PR-1914 SIM: SIGUSR1 handling now uses NuttX interrupt logic
PR-1767 SIM: Allow access to tty interfaces for better termios support
PR-1655 SIM: Add support for Linux HCI Socket as a NuttX BLE adapter. Full NuttX BLE stack can be run against any Linux Bluetooth adapter in sim.
PR-1558 SIM: Add support for Stack Smashing Protector.
STM32F4
PR-1865 STM32F4: Add support for STM32F412CE fixing I2C2/I2C3 and USART1 alt
STM32H7
PR-1714 STM32H7: Fix I2C driver interrupt storm
Bug Fixes
CXD56xx
PR-1930 cxd56xx: Fix handle_irqreq() in cxd56_cpupause.c
PR-1789 CXD56xx: Fix deadlock issue in up_txinit() in SMP mode.
PR-1620 cxd56xx: Fix IRQ control in cxd56_dmac.c
ESP32
PR-1908 ESP32: Fix task signal process preemption
NRF52
PR-1928 NRF52: Fix PPI group disable and add group clear
PR-1885 NRF52: Fix SPI driver structures when SPI_EXCHANGE is not set
PR-1799 NRF52: Fix SPI_MASTER entry in kconfig
PR-1787 NRF52: Fix base address for SPIM{1,2,3}
PR-1777 NRF52: Handle case where rx or tx buffer could be 0 but data would still be transferred. Also error if more than max data is requested.
PR-1770 NRF52: Fix bug where SPI cmddata was not properly mapped for SPIM 0,2,3
RISC-V
PR-1909 RISC-V: MIE instead of MPIE register was being used in up_schedule_sigaction for storing interrupt state
SIM
PR-1903 SIM: Fix complication issue for WPCAP in Cygwin build
PR-1888 SIM: Fix EOVERFLOW returned when CONFIG_SIM_M32 is set
STM32
PR-1841 STM32: Remove broken overdriver support
PR-1556 STM32: Fix IO compentation support in STM32F7 and remove incorrect reference in STM32F0/L0/G0
STM32F7
PR-1898 STM32F7: Fixes data loss bug in UART5 with TX DMA
PR-1553 STM32F7: Fix possible interrupt blocking in serial TXDMA ISR
Miscellaneous
PR-1912 Fix up_interrupt_contex() in case of SMP - Make sure the operation is atomic in case of SMP
Driver Support
Bug Fixes
PR-1896 spi_xx25xx EEPROM: return the number of bytes written instead of 0 or error
PR-1891 serial: Don't mangle PID when ISIG is changed
PR-1856 pipe: In case of empty pipe with no writers, return EOF instead of EAGAIN
PR-1796 vfs: Fix memory leak calling pseudorename
PR-1794 vfs: Fix issue where opendir would remove the trailing whitespace or /
PR-1793 vfs: Make sure that rename of mount point uses pseudorename. Previously mv on a mountpoint would return err 88.
PR-1836 stmpe811: Fix incorrect GPIO interrupt register logic
PR-1741 mmcsd_sdio: Properly arm the write completion detection
PR-1737 vfs: reuse file_dup2 direction in file_dup to prevent segfault issue
New Driver Support
PR-1797 leds: WS2812 LED controller (aka Adafruit NeoPixel)
PR-1851 kbd: Add support for SolderParty BlackBerry Q10 Keyboard
PR-1618 BQ27426 fuel gague
Drivers With Significant Improvements
PR-1800 vfs: Add FIOCLEX/FIONCLEX ioctl support
PR-1798 mmcsd: Allow setting IDMODE_CLOCK via kconfig
PR-1816 stmpe811: Add SPI support for touch screen controller
Board Support
Significant Improvements
PR-1618 metro-m4: Add support for: SmartFS initialization, AT24 EEPROM, GPIO dev, BQ27426 gague initialization
New Board Support
PR-1664 NRF52: Add support for NRF52832 MakerDiary MDK board
PR-1633 NRF52: Add support for Sparkfun NRF52832 Breakout Board
Boards With Significant Improvements
PR-1644: stm32f746g-disco: Move serial console from USART6 to USART1 which is attached to the USB virtual COM port.
File System
Bug Fixes
Significant Improvements
PR-1554 CROMFS: Add support for hard links
Networking
Bug Fixes
Significant Improvements
PR-1666 Bluetooth: Bluetooth sockets now use Linux sockaddr types of sockaddr_l2 sockaddr_hci sockaddr_rc. There are slight breaking changes here that may require applications to be updated, but this brings the interface inline with Linux.
Applications
Significant Improvements
...
1607 mm: Implement malloc_usable_size
PR-1606 sched/pthread: Implement pthread_attr_detachstate
PR-1600 Implement epol_pwait and EPOLLONESHOT flag
PR-1597 sched: Support passing non empty argument to init task
PR-1596 libc: Replace all sem_xxx with _SEM_XXX. This insures the correct semaphore interface is used by userspace and the kernel.
PR-1517 sched/wdog: Chang the default value of MAX_WDOGPARMS from 4 to 2 as wd_start is two every where in the code base. Also bump CONFIG_MAX_WDOGPARAMS from 1 to 2 in defconfigs to support pthread_condclockwait()
PR-1486 libc: Implement ftw and nftw functions
PR-1567 libc: Implement proposed POSIX _clockwait variants of _timedwait functions
PR-1411 libxx: Integrate latest uclibcxx 0.2.5
PR-1586 libc: Add open for text (translated) access support
PR-1584 libc: Implement strlcpy function
PR-1580 libc: Implement pthread_conattr_etclock
PR-1545 sched/wdog: Do not dynamically allocate wdog_s. Reduces overhead and brings it inline with work_s
PR-1534 sched/wdog: Replace all callback arguments from uint32_t to wdparm_t
PR-1420 libc: Do not define localtime[_r] to macro with CONFIG_LIBC_LOCALTIME is not defined.
PR-1375 libc: Always declare getenv, link/symlink and atexist/on_exit. Many C++ libraries reference these but dont use them
PR-1371 libc: Improve stat/readdir to be more POSIX compliant with S_xxx macro definition as with Linux
PR-1369 Initialize the idle stack at the arch layer to better support stack coloring and also make it compatible with new TLS implementation
PR-1292 pthread/mutex: Add PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP support
PR-1280 libc: Implement fseeko and ftello
PR-1279 libc: Implement lstat and realpath
PR-1278 libc: Implement pathconf and fpathconf
PR-1269 cstdlib: Add missing atox to std namespace
PR-1264 sched/pthread: Prohibit the use of pthread_cleanup API's by kernel threads
PR-1440 libc: Add the UUID libc functions
PR-1308 libc: Add support for _SC_NPROCESSORS_CONF/_SC_NPROCESSORS_ONLN to sysconf
PR-1305 libc: Implement WNOHANG for waitpid and waitid
PR-1237 libc: Add minimal support for locale_t operation: suplocale, freelocale, newlocale, userlocale
PR-1317 sched/task: Unify task initialization
PR-1187 sched: Unify main thread and pthread behavior
PR-2263 libc/stdio: Preallocate stdin, stdout, stderr
PR-2053 PR-2040 serial/termios: Support custom baudrate setting
Bug Fixes
PR-1911 init_section was not being emitted resulting in C++ static constructors not being called.
PR-1889 Fix build error for ::setbuf if CONFIG_STDIO_DISABLE_BUFFERING is set
PR-1619 Fix inverted errno in mq_open
PR-1595 epoll_wait() must loop until "maxevents" to fille output evs array
PR-1519 libc: Replace index/rindex from macro to function to protect against side effects with conflicting local variables
PR-1514 Remove usage for user-space memalign() from kernel/driver code. Instead use the proper kernel memory interface.
PR-1512 / PR-1510 / PR-1507 Remove usage for user-space malloc()/zalloc()/free() from kernel/driver code. Instead use the proper kernel memory interface.
PR-1496 libc: Change ctype macro to normal function to resolve macro evaluation side effects
PR-1463 libc: Replace all malloc/free with lib_malloc/lib_free inside libc
PR-1365 up_assert should not call exit() directly because it is only callable from userspace
PR-1336 syscall: Fix prctl PR_SET_NAME failure if called without pid argument
PR-1289 Clear the error indicator with rewind()
PR-1254 libc: mkstemp only look at the trailing X's instead of the first X
PR-1311 libc: Move double_t typedef from sys/types.h to math.h
PR-1328 Make sure that pthread_cleanup functions are only called from userspace
PR-1318 nxsched_release_tcb should release stack in kernel build, fixes memory leak
PR-2951 sched: Fix deadlock in nxtask_exit() for SMP
PR-2229 PR-2298 PR-2279 PR-2272 PR-2264 PR-1992 PR-2022 sched: SMP fixups that caused locking and removal of some no longer required workarounds
PR-1993 libc: Skip close stdin/stdout/stderr in fclose
PR-1997 libc: Remove all calls to fclose with stdin/stdout/stderr with fclose
Major Changes to Documentation
PR-1763 Add quickstart documentation
PR-1677 Add simulator, drivers, and contributing instructions for new users
PR-1675 Add quickstart documentation from NuttX Companion
PR-1673 Update all the links in the documentation to point to nuttx.apache.org or the Apache NuttX wiki instead of old nuttx.org resources
PR-1501 Port all the existing documentation from HTML files to Sphinx based documentation along with a bunch of updates and improvments
PR-1433 Convert README documentation to Markdown
Major Changes to the Build System
New Features
PR-1786 Support building external code into the OS
PR-1396 Make C/C++ search path common so all boards support uClibc++/libc++ automatically
PR-1682 configure.sh can now list configurations with "-L" option
PR-2023 tools: Remove WSL configruation. This is just Linux now.
Bug Fixes
PR-1713 Fix export target: libboard was missing KERNEL flag.
PR-1470 Fix Make.dep not updated by .config changes
PR-1345 Enhance export target: make BIN directory configurable, export post build script, use LDNAME instead of LDSCRIPT
PR-1332 Include incdir.c in the export target
PR-1995 Fix issue where wrong extension was generated for mkconfig in WSL builds
PR-1949 Fix issue in make export where nuttx-names.dat was not being generated
PR-1682: Fix issue where windows style paths might not be handled correctly breaking Cygwin builds
Architectural Support
New Architecture Support
PR-1847 ARM: Initial support for ARMV6M to support CortexM0+
PR-1397: EOSS3: Initial support for the QuickLogic EOS S3 SoC
Architectures With Significant Improvements
cxd56xx
PR-1753 cxd56xx: Use spinlock in gpioint to improve SMP performance
PR-1650 cxd56xx: Use spinlock in rtc to improve SMP performance
PR-1621 cxd56xx: Use spinlock in serial to improve SMP performance
PR-1569 cxd56xx: Add SMP support to cxd56_farapi.c
PR-1689 cxd56xx: Use spinlock in uart to improve SMP performance
ESP32
PR-1422 ESP32: Add SPI driver (Master & Slave)
PR-1435 ESP32: Add I2C driver
PR-1491 ESP32: Add SPI Flash driver
PR-1525 ESP32: Add Ethernet driver
PR-1610 ESP32: Improve SPI transmision (DMA, IOMUX, software CS)
PR-1630 ESP32: Add support for HW RNG
PR-1830 ESP32: Add Power Management of Force-Sleep
PR-1859 ESP32: Add hist timer and improve the oneshot timer logic
PR-1754 ESP32: Add support for external SPIFLASH
PR-1613 ESP32: Add function for switching CPU from 80MHz to 240MHz
PR-1712 ESP32: Add support for external MMCSD card over SPI
IMXRT
PR-1868 IMXRT: Add ADC driver
Kinetis
PR-1624 Kinetis: USBHOST improvements to avoid race condition durring freeing for queue head structure by using Async Advance Doorbell.
PR-1516 Kinetis K28: Add support for USB High Speed Host
PR-1531 Kinetis K28: Add USB state change notifiers in notifier work queue
PR-1456 Kinetis K28: Reworked USB driver for setup out data phase
NRF52
PR-1418 NRF52: Add Timer and RTC drivers
PR-1432 NRF52: Add timer lowerhalf
PR-1635 NRF52: Add support for RTC event handling
PR-1636 NRF52: Add support for PPI peripheral
PR-1681 NRF52: Add support for GPIOTE task mode
PR-1726 NRF52: Extend systimer support
PR-1773 NRF52: Add ADC and PWM support
PR-1915 NRF52: Add serial termios support (no flow control)
PR-1907 NRF52: Add basic error handing for i2c in polling mode to support i2ctool. Still not handled in DMA mode.
PR-1839 NRF52: Add missing SPI callback register hooks to support drivers like mmcsd
PR-1646 NRF52: Better differentiation between NRF52840 and NRF52832
PR-1685 NRF52: Add ARM system reset support. Add UID support.
PR-1674 NRF52: Add LFCLK/HFCLK support for selecting oscillator sources.
RISCV
PR-1858 RISCV: Add missing CSR macros listed in RISC-V spec V1.10.
PR-1314 rv32im: Add schedulesigaction.c, SYS_save_context handling, skip ECALL instruction when calling up_swint()
RX65N
PR-1622 RX65N: Add I2C(RIIC) support
PR-1894 RX65N: Add USB device support
PR-1899 RX65N: Add DTC driver
PR-1910 RX65N: Add SPI driver support
SAMD5E5
PR-1515 SAMD5E5: Add Watchdog timer support
PR-1574 SAMD5E5: Add USB host support
PR-1594 SAMD5E5: Freerun timer, oneshot timer and tickless support
PR-1816 SAMD5E5: Add MTD progmem support and NVM USER PAGE IOTCLs
SAMA5D2
PR-1412 SAMA5D27: Implement system reset to support nsh reboot command
PR-1393 SAMA5D2x: Implement SDMMC peripheral support
S32K
PR-1339 S32K: Extend FlexTimer support and add support for PWM
PR-1337 S32K: Allow FlexCAN to use to NETDEV_LATEINIT to handle the case where both FlexCAN and ENET are used
SIM
PR-1914 SIM: SIGUSR1 handling now uses NuttX interrupt logic
PR-1767 SIM: Allow access to tty interfaces for better termios support
PR-1655 SIM: Add support for Linux HCI Socket as a NuttX BLE adapter. Full NuttX BLE stack can be run against any Linux Bluetooth adapter in sim.
PR-1558 SIM: Add support for Stack Smashing Protector.
PR-1392 SIM: Make uClibc++ and libcxx work on sim platform
PR-1460 SIM: Call sched_note_cpu_* when scheduler instrumentation is enabled
STM32
PR-1865 STM32F4: Add support for STM32F412CE fixing I2C2/I2C3 and USART1 alt
PR-1506 STM32: Add support for single wire UART push/pull mode
PR-1572 STM32F2/F4: Add options for I-Cache and D-Cache to be enabled/disable. Previously they were always enabled.
PR-1287 STM32F7: Refactor the FMC driver to support STM32F7 family and add support to the STM32F46G-DISCO board
PR-1275 STM32: Allow SysTick to be a tickless clock source option
PR-1268 STM32: Add support for STM32F412 with UART / SPI / CAN / I2C / DMA
PR-1250 STM32L4: Add support for booting into DFU mode
Bug Fixes
ARM
PR-1562 ARM: Save tcb-adj_stack_size should be saved without tls overhead
PR-1900 ARM: Fix false reporting for stack usage for unaligned stacks
AVR
PR-1410 avr: Implement missing double_t type, CONFIG_STACK_ALIGNMENT, linker emulation flags
CXD56xx
PR-1930 cxd56xx: Fix handle_irqreq() in cxd56_cpupause.c
PR-1789 cxd56xx: Fix deadlock issue in up_txinit() in SMP mode.
PR-1620 cxd56xx: Fix IRQ control in cxd56_dmac.c
PR-1253 cxd56xx: Fix audio cxd56_stop where a deadlock could be hit if the worker thread took too long to turn on AMP
PR-1950 cxd56xx: Fix deadlock and tcb corruption in SMP mode
ESP32
PR-1908 ESP32: Fix task signal process preemption
PR-1941 ESP32: Fix interrupt clearing of edge interrupt due to issuing in masking interrupt state
IMXRT
PR-1527 IMXRT: Fix kconfig so that IMXRT_ENET_NRXBUFFERS can be set
PR-1455 IMXRT: Fix auto-negotiation for KSZ8081 PHY
Kinetis
PR-1273 Kinetis: Fix issue in ethernet driver where buffers were blindly initialized and could cause the TX of the MAC to be in a bad state. Also resolves an issue with interrupts being throttled in the NVIC.
NRF52
PR-1928 NRF52: Fix PPI group disable and add group clear
PR-1885 NRF52: Fix SPI driver structures when SPI_EXCHANGE is not set
PR-1799 NRF52: Fix SPI_MASTER entry in kconfig
PR-1787 NRF52: Fix base address for SPIM{1,2,3}
PR-1777 NRF52: Handle case where rx or tx buffer could be 0 but data would still be transferred. Also error if more than max data is requested.
PR-1770 NRF52: Fix bug where SPI cmddata was not properly mapped for SPIM 0,2,3
RISC-V
PR-1909 RISC-V: MIE instead of MPIE register was being used in up_schedule_sigaction for storing interrupt state
SIM
PR-1903 SIM: Fix complication issue for WPCAP in Cygwin build
PR-1888 SIM: Fix EOVERFLOW returned when CONFIG_SIM_M32 is set
PR-1709 SIM: Fix up_cpu_start initialization for macOS with SMP enabled
STM32
PR-1898 STM32F7: Fixes data loss bug in UART5 with TX DMA
PR-1841 STM32: Remove broken overdriver support
PR-1719 STM32: Lowputc: Ensure USART is disabled before attempting to configuring it
PR-1714 STM32H7: Fix I2C driver interrupt storm
PR-1556 STM32: Fix IO compentation support in STM32F7 and remove incorrect reference in STM32F0/L0/G0
PR-1529 STM32: Fix intialization bug in ADC that prevented adc_reset() from working correctly
PR-1561 STM32: Make sure that core over-drive is enable for all chips that support it and operating at 180MHz. Some were enabled at 180MHz but may have not been stable without over-drive not configured.
PR-1553 STM32F7: Fix possible interrupt blocking in serial TXDMA ISR
PR-1544 STM32: Make sure IO compenstation cell is configured prior to call to rcc_enableperipherals() causing syscfg is accessed before it is enabled
PR-1380 STM32F7: Fix tickless driverw where th compare register could be set to a value that has just passed preventing expiration
PR-1252 STM32L4: Fix 48MHz MSI clock seclection that could cause boot to hang
PR-1310 STM32L4: Configure flash wait states earier to prevent corruption of execution state
PR-1248 STM32L4: Fix oneshot timer so that a minimum period is set otherwise it will never be triggered.
PR-1247 STM32L47x/8x: Set additional registers require to place a pin in analog mode
PR-1246 STM32L4: Fix issue where clock divider for serial baud rate was not set correctly
Miscellaneous
PR-1912 Fix up_interrupt_contex() in case of SMP - Make sure the operation is atomic in case of SMP
Driver Support
Bug Fixes
PR-1896 spi_xx25xx EEPROM: return the number of bytes written instead of 0 or error
PR-1891 serial: Don't mangle PID when ISIG is changed
PR-1856 pipe: In case of empty pipe with no writers, return EOF instead of EAGAIN
PR-1836 stmpe811: Fix incorrect GPIO interrupt register logic
PR-1741 mmcsd_sdio: Properly arm the write completion detection
PR-1370 can: Fix incorret usage of nxsem_getvalue which caused fifo->rx_sem to increase with teach received msg
PR-1452 lcd: Fix memory leak when board_graphics_setup fail
New Driver Support
PR-1797 leds: WS2812 LED controller (aka Adafruit NeoPixel)
PR-1851 kbd: Add support for SolderParty BlackBerry Q10 Keyboard
PR-1618 BQ27426 fuel gauge
PR-1276 Add support for the ST7735 TFT Controller
PR-1233 usbhost: Add support for CDC-MBIM USB host driver
Drivers With Significant Improvements
PR-1816 stmpe811: Add SPI support for touch screen controller
PR-1800 vfs: Add FIOCLEX/FIONCLEX ioctl support
PR-1798 mmcsd: Allow setting IDMODE_CLOCK via kconfig
PR-1587 BCH: Delay the sector flush to avoid multiple earse/write operations in sequence write
PR-1577 rwbuffer: Avoid allocating memory for the temporary erase buffer by the FTL driver
PR-1466 Altair Modem: Add board specific logic, Fix issue that SPI4 RX frequency violated AC Spec, Fix priority of SPI transfer task is too low, Modify timeout value for RX ready
PR-1471 ramlog: Add option to overwrite buffer
PR-1547 usbhub: Make sure to enumerate hubs that report protocol = 1 (High Speed Hub)
PR-1374 gpio: Extend gpio_pintype_e for pulldown/up and opendrain
PR-1249 bmp280: Add support for reading temperature
PR-1299 mpu60x0: Add I2C support for the MPU60x0 sensor driver
PR-1325 can: expose NART/ABOM and RTR settings via ioctls
PR-1520 note: Move note driver from syslog to drivers/note
PR-1288 / PR-1449 note: Add sched_note_syscall_enter/leave hooks for syscall instrumentation
PR-1259 note: Add buffering support for syscall instrumentation
PR-1256 note: Add hooks for note driver for interrupt instrumentation
Board Support
Significant Improvements
PR-1618 metro-m4: Add support for: SmartFS initialization, AT24 EEPROM, GPIO dev, BQ27426 gague initialization
PR-1727 b-g474e-dpow1: Add support for FLASH bootloader
PR-1683 cxd56xx: Add wifi_smp configuration
PR-1668 sim: Add new configuration for SMP
PR-1644 stm32f746g-disco: Move serial console from USART6 to USART1 which is attached to the USB virtual COM port.
PR-1464 cxd56xx: Add new GNSS functions, support for lower PWM frequency, CONFIG_CPUFREQ_RELEASE_LOCK, high speed ADC, HPADC input gain configuration, eMMC device, frame buffer support
PR-1405 stm32f4discovery: Add ELF support to wifi configuration
PR-1402 imxrt1060: Add buttons support to iMXRT1060
PR-1590 sim: Add duktape configuration
PR-1532 sim: Add cromfs configuration
PR-1335 cxd56xx: Enable basic snapshop camera example
New Board Support
PR-1664 NRF52: Add support for NRF52832 MakerDiary MDK board
PR-1633 NRF52: Add support for Sparkfun NRF52832 Breakout Board
PR-1728 SAMA5D27: Add support for Giant Board
PR-1397 EOSS3: Initial support for the QuickLogic EOS S3 SoC QuickFeather board
PR-1268 STM32: Add support for nucleo-f412zg board
File System
Bug Fixes
PR-1796 vfs: Fix memory leak calling pseudorename
PR-1794 vfs: Fix issue where opendir would remove the trailing whitespace or /
PR-1793 vfs: Make sure that rename of mount point uses pseudorename. Previously mv on a mountpoint would return err 88.
PR-1737 vfs: reuse file_dup2 direction in file_dup to prevent segfault issue
PR-1490 Insure that filesystems can all support paths that end with '/'
PR-1546 ROMFS: Fix issue with how hard links are followed for ROMFS
PR-1442 SmartFS: Fix file size corruption when opening with overwriting mode
PR-1431 nxffs: Fix scan good block slowly and scan an invalid block
PR-1295 fs: for setfd correct the return value
Significant Improvements
PR-1554 CROMFS: Add support for hard links
PR-1499 FAT: Add support for UTF8 long filename
PR-1479 vfs: Add file descriptor based events support eventfd()
PR-1582 vfs: Add epoll_create1() support
PR-1579 vfs: Do not check CONFIG_NFILE_STREAMS for mkdir/rename/rmdir/fs_unlink
PR-1355 vfs: Implement statvfs and fstatvfs
PR-1323 vfs: Add chmod/fchmod/utimes function prototypes
Networking
Bug Fixes
PR-1267 SocketCAN: When timestamped frame was recived while in CAN2.0B mode the frame got dropped.
PR-1446 usrsock: Fix recv() cannot peek data
Significant Improvements
PR-1666 Bluetooth: Bluetooth sockets now use Linux sockaddr types of sockaddr_l2 sockaddr_hci sockaddr_rc. There are slight breaking changes here that may require applications to be updated, but this brings the interface inline with Linux.
PR-1581 Socket: Add SOCK_CLOEXEC/SOCK_NONBLOCK support
PR-1443 usrsock: Add flag argument to sendto/recvfrom interface in usrsock
PR-1238 SocketCAN: Add support for SocketCAN interface API
Applications
Significant Improvements
PR-409 wamr: Update version to 09-29-2020 that supports NuttX directly and remove patches
PR-407 ipcfg: Add IPv4 configuration file access helper
PR-406 wamr: Add configs for heap pool and custom name sections
PR-404 timer: Add supplying timer dev path to example
PR-403 nxplayer/nxrecorder: Add channel map support
PR-396 wamr: Add missing options to kconfig
PR-395 dhcpc: Try to get hostname via syscall first
PR-391 wapi: Add option to assocated directly via bssid
PR-390 wapi: App option to scan partial channel
PR-387 wamr: Add support for WAMR web assembly interpreter
PR-337 docs: Convert all README files to markdown
PR-333 webclient: Add hooks for TLS, extra request headers, PUT method, report status code, improved error handling
PR-329 gpio: Add support for new GPIO pin types
PR-317 nshlib: Call symlink if user pass -s for ln command
PR-315 c++: Support uClibc++ and libcxx in examples/testing
PR-314 camera: Add a simple camera snapshot example
PR-378 wasm3: Initial WebAssembly runtime support
PR-374 bluetooth: Use the new l2cap socket address type
PR-373 duktape: Add duktape to global search path so it can be used as a library
PR-372 quickjs: Add support for QuickJS interpreter
PR-367 nsh: Accept the command line arguments like sh
PR-365 duktape: Add console, print, alert support
PR-364 cu: Refactor cu and add support for "-c" to disable \n to \r\n conversion
PR-362 libuv: Add support for libuv library
PR-352 duktape: Add initial support for duktape
PR-346 wget: Enable URL from command line, can be used with ifup, hooks for HTTPS
PR-302 lvgl: Use the latest version 7.0.2
PR-300 note: Add support for decoding interrupt and syscall instrumentation
PR-299 nxrecorder: Add O_TRUNC when creating a file
PR-296 bmp280: Add support for BMP180 to BMP280 application
PR-294 can: Add cansend and candump utilities for interacting with SocketCAN
Bug Fixes
PR-411 wgetjson: Fix build breakage
PR-405 nxplayer: Fix missing "%d" in a sscanf call
PR-400 dhcpc: Handle case where gethostname() might be empty
PR-399 build: Fix build system issue where compiler would only compile first assembly file
PR-393 build: Fix build system issue where ARCHCPUFLAGS in cxx command was lost
PR-392 wapi: Make wapi more robust in failure cases
PR-383 ntpclient: Fix NTP daemon state in case of DNS failure
PR-344 gs2200m: Fix freeing of uninitialized memory
PR-335 ntp: Fix malformated authentication headers in NTP packet
PR-331 telnetd: Fix buffer overflow issue clearing socket address
PR-312 build: Make sure to include incdir when running make export
PR-377 readline: Fix stack overflow when application name is too long
PR-359 nshlib: Fix memory corrupt in nsh_parse if pthread_create() failed
PR-354 dhcpd: Fix member name for "ds_pid"
Security Issues Fixed In This Release
...