From d53566118e1bb77ba4439c4e6c543c82b4045a10 Mon Sep 17 00:00:00 2001 From: Ouss4 Date: Wed, 15 Apr 2020 18:14:27 +0100 Subject: [PATCH] Update release notes in preparation for the 9.0.0 release. --- Documentation/NuttX.html | 116 +++++++++++++++++++++++++----- ReleaseNotes | 148 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 248 insertions(+), 16 deletions(-) diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html index 83ecadd8fc0..6f6bee00a11 100644 --- a/Documentation/NuttX.html +++ b/Documentation/NuttX.html @@ -104,7 +104,7 @@

NuttX RTOS

-

Last Updated: November 21, 2019

+

Last Updated: April 16, 2020

@@ -120,7 +120,7 @@

Goals. - NuttX is a real timed embedded operating system (RTOS). + NuttX is a real time embedded operating system (RTOS). Its goals are:

@@ -1450,11 +1450,13 @@

Released Versions

In addition to the ever-changing GIT repository, there are frozen released versions of NuttX available. - The current release is NuttX 8.2. - NuttX 8.2 is the 133rd release of NuttX. - It was released on November 16, 2019, and is available for download from the - Bitbucket.org website. - Note that the release consists of two tarballs: nuttx-8.2.tar.gz and apps-8.2.tar.gz. + The current release is NuttX 9.0. + NuttX 9.0 is the 134rd release of NuttX. + It was released on April 30, 2020, and is available for download from the + nuttx.apache.org website. + Note that the release consists of two tarballs: + apache-nuttx-9.0.x-incubating.tar.gz and + apache-nuttx-apps-9.0.x-incubating.tar.gz. Both may be needed (see the top-level nuttx/README.txt file for build information).

@@ -1463,17 +1465,23 @@
  • Atmel AVR
      @@ -1575,6 +1583,8 @@
    • Xtensa LX6: @@ -1585,7 +1595,7 @@
    • ZiLOG
      • ZiLOG ZNEO Z16F (2)
      • -
      • ZiLOG eZ80 Acclaim! (1)
      • +
      • ZiLOG eZ80 Acclaim! (4)
      • ZiLOG Z8Encore! (2)
      • ZiLOG Z180 (1)
      • ZiLOG Z80 (2)
      • @@ -2477,6 +2487,11 @@ While not ready for prodcution use, the Beaglebone Black port is functional and will be the basis for a more extensive development. Additional work in progress to extend this port and more capable is anticipated in NuttX-7.29. +
      • + NuttX-9.0 + CAN support was added. + Clock Configuration was added. +
      • NuttX-7.31. An LCD driver was added in NuttX-7.31. @@ -2932,6 +2947,9 @@ nsh> Current development efforts are focused on porting the NuttX window system (NX) to work with the Evaluation Kits OLED display.

        +

        + NuttX-9.0 added protected build support to the LM3S6965-ek. +

        NOTE: As it is configured now, you MUST have a network connected. Otherwise, the NSH prompt will not come up because the Ethernet @@ -3338,6 +3356,10 @@ nsh> NuttX-8.2 Added PWM and TIM drivers for the G0. From Daniel Pereira Volpato.

      • +
      • + NuttX-9.0 + Added I2C support for F0, L0 and G0. +
      • @@ -5814,6 +5836,10 @@ Mem: 29232 5920 23312 23312 These unverfied drivers include: SPI, I2C, DMA, USB. Also refer to the NuttX board README file for further information about the current state of the port.

        +

        + Nuttx-9.0 added basic support for Microchip SAME54 Xplained Pro board. + An ethernet driver was also added to the SAME5x familly. +

        @@ -5907,6 +5933,12 @@ Mem: 29232 5920 23312 23312 From Eduard Niesner contributed a PWM driver. Added UID access from Valmantas Paliksa. USB High speed driver was added for STM32F7 series by Ramtin Amin. +

        + +
      • +

        NuttX-9.0. + Added serial DMA support. +

      @@ -6043,6 +6075,11 @@ Mem: 29232 5920 23312 23312 Added support for SDMMC and FLASH progmem. From David Sidrane.

    • +
    • +

      NuttX-9.0. + Added QSPI support for the STM32H7. +

      +
    • @@ -6121,6 +6158,9 @@ Mem: 29232 5920 23312 23312

      NuttX-8.2. An LCD drivers was added in NuttX-8.2 by Fabio Balzano.

      +

      NuttX-9.0. + Added USB Device support. +

    @@ -6438,6 +6478,25 @@ Mem: 29232 5920 23312 23312 This is a great, stable starting point for anyone interested in fleshing out the x86 port! Refer to the NuttX README file for further information.

    +

    + QEMU/Intel64 + An x86_64 flat address port was ported in NuttX-9.0. + It consists of the following feautres: +

      +
    • - Runs in x86_64 long mode.
    • +
    • - Configurable SSE/AVX support.
    • +
    • - IRQs are managed by LAPIC(X2APIC) and IOAPIC.
    • +
    • - Used TSC_DEADLINE or APIC timer for systick.
    • +
    • - Pages are now maps the kernel at 4GB~, but changeable.
    • +
    +

    +

    + This kernel with ostest have been tested with +

      +
    • Qemu/KVM on a Xeon 2630v4 machine.
    • +
    • Bochs with broadwell_ult emulation.
    • +
    +

    @@ -6671,6 +6730,10 @@ Mem: 29232 5920 23312 23312 NuttX-7.31. Abdelatif Guettouche contributed DMA support.

    +

    + NuttX-9.0. + Cache operations were implemented. +

    Refer to the NuttX board README file for further information. @@ -6788,6 +6851,9 @@ BFD_ASSERT (*plt_offset != (bfd_vma) -1);
    • NuttX-8.2
    • Basic support for the RX65N family was released by Anjana with support for two boards: The RSK RX65N-2MB and the GR-Rose. +
    • NuttX-9.0 + RTC driver for the RX65N was added. +
    @@ -6814,6 +6880,15 @@ BFD_ASSERT (*plt_offset != (bfd_vma) -1); The GAP8 features a RI5CY core called Fabric Controller(FC), and a cluster of 8 RI5CY cores that runs at a bit slower speed. The GAP8 is an implementation of the opensource PULP platform, a Parallel-Ultra-Low-Power design.

    +

    +

  • Sipeed Maix bit
  • + Initial support for the Sipeed Maix bit board was added in Nuttx-9.0. +

    +

    + Litex ARTY_A7. + Support for the Digilent ARTY_A7 board along with CPU VexRiscV SOC were added + in NuttX-9.0. +

    @@ -6885,12 +6960,13 @@ BFD_ASSERT (*plt_offset != (bfd_vma) -1);
    diff --git a/ReleaseNotes b/ReleaseNotes index 6d58ee7c43e..fa18ff72460 100644 --- a/ReleaseNotes +++ b/ReleaseNotes @@ -26618,3 +26618,151 @@ information): fixes the violation of the portable POSIX OS interface, but also permits use of ROM disks in PROTECTED and KERNEL modes. From Gregory Nutt. + +NuttX-9.0.0 Release Notes +------------------------- + +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. + + * Major Changes to Core OS + * Bugfixes + - nxsem_wait_uninterruptible() now returns if the task is canceled. + - Fix a bug in pthread_condwait() that was improperly re-initializing the mutex. + - In sched_setpriority(), fix functions called inside a DEBUGASSERT that were eliminated when assertions are disable + + * 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. + + * 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. + + * Architectural Support + * New architecture support + - Add support for RISCV-64 + - Add support for x86_64 (tested on QEMU) + - Add support for ELF64 + - Add a port to the NUCLEO-F429ZI board + - Add support for the STM32H747I-DISCO board + - Add Z20X board support and bootloader to upload code from the W25 flash to SRAM + - Add initial support for Litex with softcore CPU VexRiscV SoC + - Add support for the Digilent ARTY_A7 board to test the Litex port + - Added initial support for Sipeed Maix Bit board with Kendryte K210 processor + - 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 + - NXP S32K11x (Cortex-M0+) and S32K14x (Cortext-M4F): Add support for NXP automotive boards. + - XMC 4700 (Cortex-M4F) + * Architectures with significant improvements + - ESP32 loadable modules support + - i.MX RT: FLEXIO clock config logic. + - Fix the clock configuration for the i.MX RT family + - i.MX RT: Add ability to run from OCRAM + - SAMA5D27 peripheral support - USB Host working + - 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 + - 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 build 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 + - i.MX RT: 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 STM32H7 + - Improvements for the nRF52 port: I2C, SPI, GPIO support + - Updates for LPC17xx/40xx 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) + - Simulator: Reimplement simulator 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 + - 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 + - PIC32MZ: SPI transfers can be configured to use DMA. + - PIC32MZ: Implement cache operations. + * Driver Support + * 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 + - Add QSPI-based Winbond NOR FLASH driver + * 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. + * Networking + - Telnet: Fix/Refine CTRL+C to work on telnet + - TCP: Fix of faulty TCP sequence increments + - netdb: Fix netdb to query IPv4 and IPv6 addresses regardless the server address type + - Netlink sockets may be set to non-blocking + - Improve TUN and SLIP, refine Control+C Handling in Telnet + - Sockets: Add socket MSG_DONTWAIT support + - Network Loopback Driver: Add a configuration option to control packet size + - Network IOCTLs: Add FIONBIO network IOCTL support + - NFS: Support IPv4 and TCP + - Sockets: Add IP and TCP socket options needed by iperf3 + - Netlink: Add support for asynchronous Netlink responses + - TCP: Monitor TCP_POLL/TCP_NEWDATA/TCP_BACKLOG per the request like UDP counterpart + - TCP: Minor design improvement to TCP delayed ACKs + - 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. + + * Applications + * 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 + * 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

    Zilog eZ80Acclaim! Microcontroller. - There are three eZ80Acclaim! ports: + There are four eZ80Acclaim! ports:

    • The ZiLOG ez80f0910200kitg development kit.
    • The ZiLOG ez80f0910200zcog-d development kit.
    • The MakerLisp CPU board. +
    • The Z20x DIY computing system.

    All three boards are based on the eZ80F091 part and all use the Zilog ZDS-II @@ -6921,6 +6997,14 @@ BFD_ASSERT (*plt_offset != (bfd_vma) -1); A USB keyboard adapter provides for standard keyboard input. Data storage and interchange is accomplished by a SPI-based micro-SD card.

    +

    + NuttX-9.0: + Support for the Z20X board was added. The port includes: + - Initial support to have a functional nsh. + - Support for SPI and W25 FLASH. + - A bootloader capable of writing code to the W25 FLASH and load it to the + SRAM to be executed. +