Skip to content
ReleaseNotes 427 KiB
Newer Older
Gregory Nutt's avatar
Gregory Nutt committed
        Pettit.

    * Networking:

      - Driver Statistics: Most network drivers do not support statistics.
        Those that do only supported them when DEBUG is enabled.  Each
        driver collected an architecture specific set of statistics and
        there was no common mechanism to view those statistics.  Thus,
        the driver feature was mostly useless.  This release standardizes
        the driver statistics and puts the definition in the common network
        device structure defined in netdev.h where they can be accessed by
        network applications.  All Ethernet drivers that collect statistics
        have been adapted to use these common statistics.

    * Simulation Platform:

      - W25 FLASH:  Added support for W25 FLASH simulation. From Ken Pettit.
      - HOSTFS: Added support for the HOSTFS file system (see "File Systems",
        above).

    * Atmel SAMV7:

      - SAME70:  Added support for the SAME70 family of chips.
      - Tickless: SAMV7 now supports the tickless mode of operation.

    * Atmel SAMV7 Drivers:

      - MPU:  Added MPU and protected build support.
      - QSPI:  Added a QuadSPI FLASH driver.  This driver operates in the
        memory-mapped, Serial Memory Mode (SMM).
      - FLASH:  Added support to write on-chip FLASH.
      - Timer/Counter:  TC driver ported to SAMV7 from the SAMA5.  Free-running
        and one-short timer logic also ported.
      - PCK: Brought programmable clock (PCK) logic from SAMA5 into SAMV7.
      - Timer/Counter:  Support PCK6 as an optional source for the timer/
        counter clock.

    * Atmel SAMV7 Boards:

      - SAME70-Xplained:  Add NSH and networking configurations for the
        SAME70 Xplained board.  Includes verified support for serial console,
        LEDs, buttons, SDRAM, HSMCI SD card, and networking.
      - SAMV7-XULT and SAME70-Xplained: If Tickless mode is selected then
        enable PCK6 as a timer/counter clock source

    * STMicro STM32:

      - CCM PROCFS: Is no longer a part of the 'base' procfs entries and can
        now only be supported via run time registration with
        CONFIG_FS_PROCFS_REGISTER=y.

    * STMicro STM32 Drivers:

      - Timers:  Add a compatible lower-half timer driver for use with the
        common timer upper-half driver.  From Wail Khemir.

    * STMicro STM32 Boards:

      - STM32F4-Discovery: Add low level support for the Zero Cross driver
        for the STM32F4-Discovery.  From Alan Carvalho de Assis.
      - STM32F4-Discovery: Add board config to support for the MAX6675. From
        Alan Carvalho de Assis.

    * C Library/Header Files:

      - bsearch():  Added the bsearch() function from NetBSD.
      - freopen():  Added support for freopen().
      - strftime():  Added day-of-week support (when avaialable).

    * Tools:

      - nxstyle: Add crappy style checking tool nxstyle.c.  See thee tools/
        README file for more info.

    * Applications: NSH

      - mksmartfs command: Add configuration option to supported multiple
        rootdirectories. From Ken Pettit.
      - Add support for 'basename' and 'dirname' commands.
      - set command:  Like bash, NSH set command now strips off any leading
        or trailing whitespace.
      - mount command: The mount commands now accepts mount options
        (currently needed only for the hostfs file system).  From Ken
        Pettit.
      - losetup command:  NSH no longer calls losetup() and loteardown
        directly. Now it opens /dev/loop and accomplishes these things
        using ioctl() calls.
      - ifconfig command:  If CONFIG_NETDEV_STATISTICS=y, then print the
        network driver statistics in the ifconfig.
      - ifconfig, ifup, and ifdown:  These commands now uses /proc/net/<dev>
        to view network device configuration and status and /proc/net/stat
        to show network statistics.  A consequence of this is that you
        cannot view this network information if the procfs is not enabled
        and mounted at /proc.
      - losmart command:  Added a new NSH losmart command.  losmart setups
        up a loop device for the smart MTD driver similar to losetup but
        with different syntax.  From Ken Pettit.
      - ps command:  The 'ps' command now uses /proc/<pid>/ to obtain task
        status information.  A consequence of this is that you cannot use
        the 'ps' command if the procfs is not enabled and mounted at /proc.
 
    * Applications: apps/system:

      - apps/system/hexed:  Port the hexed command line hexadeciamal editor
         to Nuttx.  See http://apps.venomdev.net/hexed/.

    * Applications: apps/fsutils:

      - apps/fsutils/smartfs: Move into apps/fsutils from kernel, now uses
        only open and ioctl.  From Ken Pettit.

    * Applications: apps/examples:

      - apps/examples/fstest:  Add a generic file system test.  This is
        essentially the same as examples/smart, but has all of the SmartFS
        specific logic ripped out.  This was created for testing the new
        TMPFS.
      - apps/examples/zerocross: Add a Zero Cross application example. From
        Alan Carvalho de Assis.
      - apps/examples/media:  Add a simple test for access of media via a
        block driver or MTD driver.

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:

      - Fixed an error in clock_timespec_subtract().  Found by Lok.
      - pthreads: CRITICAL BUGFIX: Logic was wiping out the indication that
        of the type of a pthread.  Hence, it could be confused as a task.
        Found because this was causing a crash when /proc/nnn/cmdline was
        printed.

    * File System/Block Drivers:

      - SMART MTD: Fix some Smart wear-leveling bugs.  Fixed SmartFS wear
        level error that occurs when the logical sector size is too small to
        save all wear level status bytes in a single sector.  Logical
        sectors 1 and 2 were simply not being allocated and then the
        read_sector and write_sector routines were failing.  From Ken
        Pettit.

    * Graphics/Graphic Drivers:

      - ILI9432:  Fixed errors in orientation. Portrait, RPortrait, and 
        Landscript should work correly now.  They were displayed mirrored.
        From  Marco Krahl.

    * Common Drivers:

      - CAN:  Fix a problem in the CAN upper-half driver that occurs only
        for CAN hardware that support a H/W FIFO of outgoing CAN messages.
        In this case, there can be a hang condition if both the H/W and
        S/W FIFOs are both full.  In that case, there may be no event to
        awaken the upper half driver.  Add a new (conditional) CAN upper
        half interface called can_txready() that can be used by the lower
        half driver to avoid this hang condition.
      - MS58xx:  Fix some issues with initialization and with CRC
        calculation.  From Karim Keddam.
      - W25: Fixed W25 FLASH driver page read/write logic. From Ken Pettit.

    * Atmel SAMV7 Drivers:

      - USART1 pin configuration: Reconfigure System I/O when using USART1.
        From Frank Benkert.
      - MCAN:  Added a call to can_txready() to the MCAN driver.

    * STMicro STM32 Drivers:

      - stm32 F4:  Fix some TIM12 pin mappings.  From Max Kriegleder.

    * STMicro STM32 Boards:

      - STM32F429i-Disco:  Calculated partition boundries based on page
        block sizes but mtd_partition() is expecting calculations based on
        erase block size. From Alan Carvalho de Assis.

    * C Library/Header Files:

      - sys/types.h: When building on a 64-bit machine, the size of size_t
        should be 64-bits. In general, I believe that sizeof(size_t) should
        be the same as sizeof(uinptr_t).  mmsize_t should always be 32-bits
        in any event.  The last change to stddef has been backed out.  With
        these changes, the simulator builds without errors or warnings an a
        64-bit machine.

    * Applications: apps/nshlib:

      - The I/O buffer, g_iobuffer, should not be a global buffer.  That
        will not work in an environment where there are multiple NSH
        sessions.  The I/O buffer must, instead, be a part part of the
        session-specific data defined in nsh_console.h.