You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 35 Next »

  1. What's New In This Release
    1. This is the first release of NuttX as Apache NuttX (Incubating) and represents our first major milestone as a Podling of the Apache Software Foundation's Incubator. This release is the culmination of nearly 6 months of hard work and includes several new architectures and drivers, and numerous improvements and bug fixes to the core RTOS, drivers, and networking subsystems.
    2. Highlights of project news since last release.
  2. Major Changes to Core OS
    1. Features Added
    1. Bugfixes
      • nxsem_wait_uninterruptible() now returns if the task is canceled.
      • Fix a bug in pthread_condwait() that was improperly initializing the mutex.
      • In sched_setpriority(), fix functions called inside a DEBUGASSERT that were eliminated when assertions are disabled.
  3. Compatibility Concerns
    • The configuration option CONFIG_CAN_PASS_STRUCT is now removed.  Previously, it was used (at the cost of breaking standards support) to support older versions of the SDCC compiler that couldn't pass structs/unions as functions' parameters.  A newer version of the compiler has resolved the issue.
  4. Major Changes to Build System
    • Add a post-build function that allows extending the build with CPU/board-specific logic.
    • Add build tools to simplify ZDS-II tool usage.
    • mkexport.sh: Deal with ARCHSCRIPT containing multiple files.
    • Various nxstyle improvements.
  5. Architectural Support
    1. List new architectures
      • Add support for RISCV-64
      • Add support for x86_64 (tested on QEMU)
      • Add support for ELF64
      • nucleo-f429zi port
      • boards/z80/ez80/z20x: z20x board support and bootloader
      • New architectural support: ez80f92
      • Flat address x86_64 port of Nuttx
      • Support to run NuttX on ESP32 QEMU
      • Initial support for Sipeed Maix Bit board with Kendryte K210 processor
      • Add initial support for Kendryte K210 processor in SMP mode
      • S32K: Add support for NXP drone boards
    2. List architectures with significant improvements
      • ESP32 loadable modules support 
      • i.MX RT: FLEXIO clock config logic. 
      • Fix the clock configuration for the imxrt family
      • i.MX RT: Add ability to run from OCRAM 
      • SAMA5D27 peripheral support - USB Host working 
      • boards/z80/ez80/z20x/: Add W25 bootloader
      • i.MX RT: Add USB Device support
      • stm32, stm32f7, stm32h7 add SPI DMATHRESHOLD
      • Improve the simulator timer
      • 64-bit modules on macOS simulator
      • boards/z80/ez80/z20x: Add XTP2046 SPI support; add timer support
      • RX65N RTC Driver added
      • NXP Freedom K28F Board SD-Card support
      • stm32h7: support SDRAM via FMC peripheral
      • lm3s6965-ek: Add PROTECTED support
      • STM32H7: Added IWDG and WWDG, power management (sleep/stop/standby), WKUP pin configuration
      • SAMV71: add read UID implementation and move flash functions to RAM
      • IMXRT: Fix interrupts storm (serial & I2C)
      • Various fixes and cosmetic changes to the CxD56xx architecture
      • Fix SiFive FE310 related code (comments, improve serial irq handling, initial int status)
      • Implement QSPI for SPI32H7
      • Improvements for the nRF52 port: I2C, SPI, GPIO support
      • Updates for LPC17xx serial
      • Adds basic support for Microchip SAM E54 Xplained Pro board
      • Adds an Ethernet driver for the SAME5x family (based on the SAMA5 GMAC driver)
      • Add CDC ECM Ethernet over USB 2.0 High Speed (tested on SAMA5D36-Xplained board)
      • Sim: Reimplement sim uart on top of serial driver framework
      • NXP S32K1XX peripheral clock fixes
      • Fix syscall stack alignment on armv7-m
      • Fix flash_erase(page) when page >= 256 for STM32L4 family
      • Make PIC32MZ DMA interrupt event configurable

      • Add partial support for the NETLINK poll() operation.

      • Add serial DMA support for STM32F7

      • Add AM335x Clock Configuration

      • Add I2C support for AM335x

      • Add configuration to fine tune LPI2C Timeout for iMXRT

      • Add CAN support to AM335x

      • Add I2C support to STM32F0/L0/G0

      • Kinetis LPC SDCard improvements
      • Replace the busy polling with work_queue in the ethernet driver of simulator
      • Fix Xtensa's SMP support to follow same logic from other SMP archs
    3. List removed architectures

  6. Driver Support
    1. List major new drivers
      • New driver for the ADS7828 I2C analog to digital converter
      • driver/ioexpander: New driver for PCA9538 I2C I/O expander
      • New driver type for battery monitor ICs.
      • Driver for the BQ769x0 battery monitor IC.
      • Add Support for Quectel EC20 4G LTE Module USB CDC/ACM
      • DNS IPv4/IPv6 Dual Host Support: When IPv4/IPv6 Dual Stack is enabled, queries both types of addresses regardless of whether the DNS server is accessed via IPv4 or IPv6. As a result, getaddrinfo() may return a mixed (IPv4/IPv6) address list.
    2. List drivers with significant improvements
      • Update all the drivers to check return value of nxsem_wait_uninterruptible().
      • MCP9844 shutdown mode support
      • fcntl: add O_CLOEXEC flag, add O_CLOEXEC/FD_CLOEXEC support
      • CDC-ECM Ethernet over USB 2.0 HS
      • smartfs improvements: Handling of duplicate sectors, support fsck to check and repair the smartfs file system, and recover SPI Flash from initial error state.
      • Various fixes for USBDEV driver: Remove unnecessary reset logic, fix descriptor type mismatch when dual speed is enabled, fix invalid/unsupported command processing, and fix string ID calculation.
      • Handle size zero in umm_malloc.c and umm_realloc.c, which causes a system freeze in kernel mode.
      • Fixed compilation issue with poll fds notification.
      • Report POLLHUP and POLLERR in 'revents' regardless the requested 'events' set.
    3. List removed drivers
  7. Networking
    • Fix/Refine CTRL+C to work on telnet
    • Fix of faulty TCP sequence increments
    • Fix netdb to query IPv4 and IPv6 addresses regardless the server address type
    • In tcp_close_eventhandler(), check TCP_NEWDATA flag before process and don't eat the flag for TCP_DISCONN_EVENTS
    • In tcp_close_eventhandler(), check TCP_NEWDATA flag before process and don't eat the flag for TCP_DISCONN_EVENTS
    • Netlink sockets may be set to non-blocking
    • NET: Improve TUN and SLIP, refine Control+C Handling in Telnet
    • net/socket: add MSG_DONTWAIT support
    • Network Loopback Driver: Add a configuration option to control packet size
    • net/ioctl: add FIONBIO support
    • NFS: Support IPv4 and TCP
    • Add IP and TCP socket options needed by iperf3
    • Add support for asynchronous Netlink responses
    • Monitor TCP_POLL/TCP_NEWDATA/TCP_BACKLOG per the request like UDP counterpart
    • Minor design improvement to TCP delayed ACKs
  8. Applications
    1. Improvements
      • Extend netutils and netinit to work with only Netlink sockets enabled
      • Add getprime program to check multi-thread performance
      • Improve zmodem send performance
      • Add simple HTS221, LSM303 and LSM6DSL examples
      • Improve to gs2200m wiki performance
      • Improve telnet server and enable it to listen on both IPv4 and IPv6
      • Improve ntpclient logic
      • Improve wapi to save configuration to file system
      • Improve wapi to skip associate if ssid is invalid
      • Improve cmd_nfsmount to use IPv4 and IPv6
      • Improve ostest for SMP and non-SMP configurations
      • Improve UDP to avoid using standard symbols
      • Improve dhcpd to include configurable timeout and retry count
    2. Bugfixes
      • Correct format when printing ARP tablet entries
      • Ensure /bin/ping and ping work at the same time
      • Correct backward conditional logic in dhcpd_leaseexpired()
      • Fix several problems on ftpd
      • Fix dhcpd issue reported on Issue #17
      • Fix sendmail example to run on a local SMTP server
      • Fix buffer overflow on netlib
      • Fix compile errors in loopback mode of the tcpblaster
      • Fix stack corruption in ELF task test
      • Fix errors in NoBlockRecv and BlockRecv tests of usrsocktest
      • Fix ipforward IP Header issue for IPv4
      • Fix wrongly swapped parity options of CU program
      • Fix slcd to avoid using priv->fd before initializing it
      • Fix (tcp,udp)blaster to build on macOS
      • Correct the buffer type of base64 program
  9. Security Issues Fixed in this Release
  10. Known Problems in this Release
  11. More Information
    • Where to find the release
    • How to clone git repository and list full changelog
    • How to contact the community
  12. Call to action: Invitation to get involved in Apache NuttX
    community and development!
  • No labels