From ad37e1f44299f3cdcc12750cb7e0e031fc8f9bcf Mon Sep 17 00:00:00 2001 From: Gregory Nutt Date: Sat, 7 Dec 2013 11:04:08 -0600 Subject: Prep for the NuttX-6.32 Release --- NxWidgets/ChangeLog.txt | 5 +- NxWidgets/ReleaseNotes.txt | 16 ++- apps/ChangeLog.txt | 13 ++- nuttx/ChangeLog | 35 +++--- nuttx/Documentation/NuttX.html | 197 +++++++++++++++++++++++-------- nuttx/ReleaseNotes | 260 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 449 insertions(+), 77 deletions(-) diff --git a/NxWidgets/ChangeLog.txt b/NxWidgets/ChangeLog.txt index 53ea2745f..f45fde705 100644 --- a/NxWidgets/ChangeLog.txt +++ b/NxWidgets/ChangeLog.txt @@ -399,9 +399,9 @@ scaling algorithm to handling the case where the measured X values also vary with y position (and vice versa) (2013-10-17). -1.10 2013-xx-xx Gregory Nutt +1.10 2013-12-07 Gregory Nutt -* Kconfig and UnitTests/nxwm: Add logic to enable saving a recovering +* Kconfig and UnitTests/nxwm: Add logic to enable saving and recovering touchscreen calibration data. This depends upon having platform-dependent support for storate of configuration data. Portions suggested by Ken Pettit (2013-10-30). @@ -410,3 +410,4 @@ calibration could also be initiated from other ways other than through the one-time, start-up initialization logic (2013-10-30). +1.11 2014-xx-xx Gregory Nutt diff --git a/NxWidgets/ReleaseNotes.txt b/NxWidgets/ReleaseNotes.txt index d08333b60..316949e0f 100644 --- a/NxWidgets/ReleaseNotes.txt +++ b/NxWidgets/ReleaseNotes.txt @@ -349,4 +349,18 @@ Additional new features and extended functionality in Version 1.9: Bugfixes: -(There are not bugfixes recorded for this release). +(There are no bugfixes recorded for this release). + +NxWidgets-1.9 +============= + +The 11th release of the NxWidgets package was made on December 7, 2013. This +release depends on NuttX-6.26 or above and should not be used with older +NuttX releases. + +Additional new features and extended functionality in Version 1.10: + +* NxWM:Calibration and UnitTests/nxwm: Add logic to enable saving and + recovering touchscreen calibration data. This depends upon having + platform-dependent support for storage of configuration data. Portions + suggested by Ken Pettit. diff --git a/apps/ChangeLog.txt b/apps/ChangeLog.txt index a43c469d2..30a579c64 100644 --- a/apps/ChangeLog.txt +++ b/apps/ChangeLog.txt @@ -705,7 +705,7 @@ * apps/system/nxplayer: Add logic to verify the audio sub-format. From Ken Pettit (2013-10-28). -6.31 2013-xx-xx Gregory Nutt +6.32 2013-12-07 Gregory Nutt * apps/platform: A new home for board-specific application code (2013-10-30). @@ -718,28 +718,29 @@ data. From Ken Pettit (2013-10-30). * apps/nshlib/nsh_dbgcmds.c and others: Add skip= and count= options to the hexdump command. From Ken Pettit (2013-11-1). - * apps/platrorm/mikroe-stm32f4: Now uses /dev/config for configuration + * apps/platform/mikroe-stm32f4: Now uses /dev/config for configuration data storage. From Ken Pettit (2013-11-1). * apps/platform/Makefile: Was not dealing with the bin sub-directory correctly (2013-11-2). * apps/examples/configdata: A unit test for the MTD configuration - data drriver from Ken Pettit (2013-11-4). + data driver from Ken Pettit (2013-11-4). * apps/platform/mikroe-stm32f4: Updated to use new MTD configuration driver features. From Ken Pettit (2013-11-1). - * apps/nshlib/nsh.h: Allow USB trace wihtout a USB console. From + * apps/nshlib/nsh.h: Allow USB trace without a USB console. From David Sidrane (2013-11-06). * apps/system/composite/composite_main.c: The wrong handle was getting nullified. From David Sidrane (2013-11-7). * apps/system/nxplayer: Play thread stack size is now configurable. All NxPlayer threads now have names assigned via pthread_setname_np(). From Ken Pettit (2013-11-10). - * apps/examples/i2schar: The beginning of an I2C test based on the I2C + * apps/examples/i2schar: The beginning of an I2S test based on the I2S character driver (2013-11-10). * apps/nshlib/nsh_mntcmds.c: Mount command updates from Ken Pettit (2013-11-17). - * examples/hidkbd/hidkbd_main.c: Now calls a function named + * apps/examples/hidkbd/hidkbd_main.c: Now calls a function named arch_usbhost_initialize() that must be provided by the platform- specific code (2013-11-29). * apps/nshlib/nsh_fscmds.c: Add an option to the mkfatfs command to specify FAT12, FAT16, or FAT32 (2013-12-5). +6.33 2014-xx-xx Gregory Nutt diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index a08d607e3..aeef6562f 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -3343,7 +3343,7 @@ (submitted by Max Holtzberg). * configs/stm3240g-eval/xmlrpc: An example configuration for the Embeddable Lightweight XML-RPC Server at apps/examples/xmlrpc. - See http://www.drdobbs.com/web-development/\ + See http://www.drdobbs.com/web-development/ an-embeddable-lightweight-xml-rpc-server/184405364 for more info. Contributed by Max Holtzberg. * configs/*/nxwm/defconfig and sched/task_exithook.c: Fixes for @@ -5174,7 +5174,7 @@ (2013-7-23). * arch/arm/src/armv7-a/arm_restorefpu.S, arm_savefpu.S, arm_doirq.c, arm_fullcontextrestore.S, arm_saveusercontext.S: Add hardware - floating point register save/restore logic for the Cortex-A5\ + floating point register save/restore logic for the Cortex-A5 (2013-7-23). * arch/Kconfig: Attempt at generic external memory configuration is not flexible enough, especially for the SAMA5. Move external memory @@ -5907,7 +5907,7 @@ * nuttx/drivers/audio/vs1053.c and nuttx/include/nuttx/audio/audio.h: Add logic to verify the audio sub-format. From Ken Pettit (2013-10-28). -6.32 2013-xx-xx Gregory Nutt +6.32 2013-12-07 Gregory Nutt * configs/spark: Spark configuration updated by David Sidrane (2013-10-30). @@ -5926,7 +5926,7 @@ error. From David Sidrane (2013-10-31). * drivers/mtd/mtd_config.c and include/nuttx/configdata.h: Add a container for an MTD device that can be used to provide a simple, lightweight - interface to configation data storage that resides on some storage + interface to configuration data storage that resides on some storage media that is wrapped as an MTD device. From Ken Pettit (2013-11-1). * configs/mikroe-stm32f4: Now uses /dev/config for configuration data storage. From Ken Pettit (2013-11-1). @@ -5980,7 +5980,7 @@ * configs/sama5d3x-ek: Add support for the PWM test for the SAMA5D3x-EK board (2013-11-6). * arch/arm/src/sama5/sam_pwm.c and .h: SAMA5 PWM driver is now - function (2013-11-7). + functional (2013-11-7). * include/nuttx/audio/i2s.h: First cut at an I2S interface definition. This initial definition is sparse will will probably evolve significantly (2011-11-7). @@ -5993,7 +5993,7 @@ * configs/stm32f429i-disco: Support for the STM32F429I-Discovery board from Ken Pettit (2013-11-7). * arch/arm/src/stm32/stm32_usbdev.c: The long outstanding bug - involviing the handling of OUT SETUP commands has been fixed in + involving the handling of OUT SETUP commands has been fixed in the STM32 F1 USB device driver by David Sidrane (2013-11-7). * configs/spark/composite/cdc-acm.inf: Windows CDC/ACM driver provided by David Sidrane (2013-11-7). @@ -6028,10 +6028,10 @@ * arch/arm/src/sama5/sam_ssc.c and Kconfig: Add configurable support for SSC loopback mode (2013-11-10). * include/nuttx/audio/i2s.h, arch/arm/src/sama5/sam_ssc.c, and - drivers/audio/i2schar.c: Improvied I2S interface design: Simplified + drivers/audio/i2schar.c: Improved I2S interface design: Simplified audio buffer queuing (2013-11-10). * arch/arm/src/sam34 and arch/arm/include/sam34: Basic support for - the Atmal SAM4E family. From Mitko (2013-11-11). + the Atmel SAM4E family. From Mitko (2013-11-11). * libc/audio/lib_buffer.c: Remove unused apb_prepare() function (2013-11-11). * arch/arm/src/stm32: Added header files and driver framework for the @@ -6062,10 +6062,10 @@ that will provide raw access to NAND (2013-11-15). * configs/sama5d3x-ek/src/sam_nandflash.c: Provides board-specific memory controller initialize for NAND flash (2013-11-15). - * include/nuttx/mtd/mtd.h: Move include/nutt/mtd.h to + * include/nuttx/mtd/mtd.h: Move include/nuttx/mtd.h to include/nuttx/mtd/mtd.h where it will, hopefully, soon be joined by other MTD-related header files (2013-11-15). - * drivers/mtd/mtd_onfi.c and include/nuttx/mtd/onfi.h: Add sharedi + * drivers/mtd/mtd_onfi.c and include/nuttx/mtd/onfi.h: Add shared NAND routines for use with ONFI compatible NAND FLASH devices (2013-11-15). * configs/ea3131/src/up_usbhost.c: Board-specific USB host support @@ -6104,8 +6104,8 @@ Ken Pettit (2013-11-23) * tools/mkctags.sh: A script for creating ctags from Ken Pettit (2013-11-23) - * configs/sama5d3x-ek/src/sam_nand.c: Add support for auto-mounting - NAND MTD block or NXFFS devices (2013-11-25). + * configs/sama5d3x-ek/src/sam_nand.c: Add support for "auto-mounting" + NAND MTD block driver or NXFFS file system (2013-11-25). * include/mtd/mtd.h: Packed the geometry structure so that it can support larger erase block sizes without increasing the size of the geometry structure (2013-11-27). @@ -6126,22 +6126,22 @@ * fs/fs_inode.c: The inode semaphore must be re-entrant. Here is the re-entering path that I found: (1) USB host connects to FLASH drive and creates /dev/sda, (2) /dev/sda is mounted, (3) FLASH drive is - removed but /dev/sda is not destroyed because there is still a\ + removed but /dev/sda is not destroyed because there is still a reference on the device because of the mount, (4) umount() is called, taking the inode semaphore, now the driver tries to destroy the block driver by calling unregister_blockdriver(). But (5) unregister_blockdriver() also takes the inode semaphore causing a - deadlock if the inode semaphore is not re-entry. (2013-11-28). + deadlock if the inode semaphore is not re-entrant. (2013-11-28). * configs/viewtool-stm32f107: Add board support for the ViewTool STM32F103/F107 board with the STM32F107VCT6 installed. Initial - check-in is the unverfied board-support framework only + check-in is the unverified board-support framework only (2013-11-30). * configs/viewtool-stm32f107/src/stm32_buttons.c and stm32_leds.c: Add support for LEDs an buttons on the ViewTools STM32F107 board (2013-11-30). * fs/nxffs/nxffs_initialize.c: First of probably several changes for NAND FLASH. NAND can report read errors because of bad ECC. Logic - in NXFFS must account for it and not just throw in th towel every + in NXFFS must account for it and not just throw in the towel every time a read fails (2013-11-30). * drivers/mtd/mtd_nand* and arch/arm/src/sama5/sam_nand.c: NAND accesses now work (at least with software ECC and now DMA). Still @@ -6163,8 +6163,9 @@ * arch/arm/src/lm/lm_start.c: Don't initialize .data if not running from FLASH (2013-12-05). * fs/fat/fs_configfat.c: Fix a typo in the FAT16 formatting logic. - Was this ever able to format a FAT16 disk? (2013-12-05). + Was this ever able to format a FAT16 volume? (2013-12-05). * drivers/mtd/mtd_nand.c: Check if block number is within range at the top of the loop not the bottom. Otherwise, we will do a bogus transfer with the out-of-range block before we test it (2013-12-05). +6.33 2014-xx-xx Gregory Nutt diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html index 523ca8018..2e5d026e1 100644 --- a/nuttx/Documentation/NuttX.html +++ b/nuttx/Documentation/NuttX.html @@ -8,7 +8,7 @@

NuttX RTOS

-

Last Updated: October 28, 2013

+

Last Updated: December 7, 2013

@@ -466,6 +466,13 @@
  • BINFS pseudo-filesystem support.
  • + +
    + +

    +

  • procfs/ pseudo-filesystem support.
  • +

    +
    @@ -529,7 +536,7 @@

  • - Network, USB (host), USB (device), serial, CAN, ADC, DAC, PWM, Quadrature Encoder, Wireless, and watchdog timer driver architectures. + Network, USB (host), USB (device), serial, I2C, I2S, NAND, CAN, ADC, DAC, PWM, Quadrature Encoder, Wireless, and watchdog timer driver architectures.
  • @@ -735,6 +742,13 @@
  • MTD-inspired interface for Memory Technology Devices.
  • + +
    + +

    +

  • NAND support.
  • +

    +
    @@ -1116,16 +1130,15 @@

    Released Versions

    In addition to the ever-changing GIT repository, there are frozen released versions of NuttX available. - The current release is NuttX 6.31. - NuttX 6.31 is the 98th release of NuttX. - It was released on October 28, 2013, and is available for download from the + The current release is NuttX 6.32. + NuttX 6.32 is the 99th release of NuttX. + It was released on December 7, 2013, and is available for download from the SourceForge website. - Note that the release consists of two tarballs: nuttx-6.31.tar.gz and apps-6.31.tar.gz. + Note that the release consists of two tarballs: nuttx-6.32.tar.gz and apps-6.32.tar.gz. Both may be needed (see the top-level nuttx/README.txt file for build information). - Release notes for NuttX 6.31 are avaialble here. + Release notes for NuttX 6.32 are available here. The change log associated with the release is available here. - Unreleased changes after this release are available in GIT. - These unreleased changes are also listed here. + Unreleased changes after this release are available in GIT (see below).

    Unreleased Changes:

    @@ -1181,10 +1194,10 @@
  • Atmel AVR @@ -1250,6 +1263,7 @@
  • Atmel SAM3X (ARM Cortex-M3)
  • Atmel SAM4L (ARM Cortex-M4)
  • Atmel SAM4S (ARM Cortex-M4)
  • +
  • Atmel SAM4E (ARM Cortex-M4)
  • Atmel SAMA5D3 (ARM Cortex-A5)
  • @@ -1316,6 +1330,7 @@
  • STMicro STM32F303x (STM32 F3 family, ARM Cortex-M4).
  • STMicro STM32F407x (STM32 F4 family, ARM Cortex-M4)
  • STMicro STM32 F427/437 (STM32 F4 family, ARM Cortex-M4)
  • +
  • STMicro STM32 F429 (STM32 F4 family, ARM Cortex-M4)
  • @@ -1592,30 +1607,50 @@
    - NXP LPC3131. - The port for the NXP LPC3131 on the Embedded Artists EA3131 - development board was first released in NuttX-5.1 with a GNU arm-nuttx-elf or arm-eabi toolchain* under Linux or Cygwin - (but was not functional until NuttX-5.2). +

    + NXP LPC3131. + Two boards based on the NXP LPC3131 are supported:

      -

      - STATUS: - The basic EA3131 port is complete and verified in NuttX-5.2 - This basic port includes basic boot-up, serial console, and timer interrupts. - This port was extended in NuttX 5.3 with a USB high speed driver contributed by David Hewson. - David also contributed I2C and SPI drivers plus several important LPC313x USB bug fixes - that appear in the NuttX 5.6 release. - This port has been verified using the NuttX OS test, USB serial and mass storage - tests and includes a working implementation of the NuttShell (NSH). -

      -

      - Support for on-demand paging has been developed for the EA3131. - That support would all execute of a program in SPI FLASH by paging code sections out of SPI flash as needed. - However, as of this writing, I have not had the opportunity to verify this new feature. -

      -

      - Refer to the NuttX board README file for further information. -

      +
    • +

      + First, a port for the NXP LPC3131 on the Embedded Artists EA3131 development board was first released in NuttX-5.1 (but was not functional until NuttX-5.2). +

      +
        +

        + STATUS: + The basic EA3131 port is complete and verified in NuttX-5.2. + This basic port includes basic boot-up, serial console, and timer interrupts. + This port was extended in NuttX 5.3 with a USB high speed driver contributed by David Hewson. + David also contributed I2C and SPI drivers plus several important LPC313x USB bug fixes that appear in the NuttX 5.6 release. + This port has been verified using the NuttX OS test, USB serial and mass storage tests and includes a working implementation of the NuttShell (NSH). +

        +

        + Support for on-demand paging has been developed for the EA3131. + That support would all execute of a program in SPI FLASH by paging code sections out of SPI flash as needed. + However, as of this writing, I have not had the opportunity to verify this new feature. +

        +

        + Refer to the Embedded Artists EA3131 board README file for further information. +

        +
      +
    • +
    • +

      + A second port to the NXP LPC3131 on the Olimex LPC-H3131 development board was added in NuttX-6.32. +

      +
        +

        + STATUS: + The basic H3131 port is complete and verified in NuttX-6.3. + It is similar to the EA3131 port except: (1) I have not yet gotten the SDRAM to work, and (2) this board was used to develop and verify the USB 2.0, low-/full-/high-speed EHCI host controller driver. + NOTE: That driver should work on the EA3131 as well. However, the EA3131 uses a PCA9532 PWM part to controller the port power so the it would not quite be a simple drop-in. +

        +

        + Refer to the Olimex LPC-H3131 board README file for further information. +

        +
      +
    @@ -1760,16 +1795,32 @@ An LCD controller (LCDC) frame buffer driver, and
  • - A CAN driver (however, testing of the CAN has been delayed because of cabling issues). + A CAN driver (Testing of the CAN has been delayed because of cabling issues).
  • Additional board configurations were added to test and demonstrate these new drivers including new graphics and NxWM configurations. - These are expected in NuttX-6.32.

    +

    + These drivers were added in NuttX-6.32: +

    +
      +
    • + A PWM driver with DMA support +
    • +
    • + An SSC-based I2S driver +
    • +
    • + Support for Programmable clock outputs +
    • +
    • + NAND support including support for the PMECC hardware ECC and for DMA transfers. +
    • +

    Develop continues. - Work is underway to provide a Image Sensor Interface (ISI) camera interface, a PWM driver, and NAND FLASH support. + Work is underway to provide a Image Sensor Interface (ISI) camera interface.

    Refer to the NuttX board README file for further information. @@ -1861,7 +1912,8 @@ nsh> There is a working OS test configuration that verifies the correct port of NuttX to the part and a working NuttShell (NSH) configuration that might be the basis for an application development. As of NuttX-6.28 more device driver development would be needed to make this a complete port, particularly to support USB OTG. A TSI and a SPI driver were added in NuttX-6.29. - Refer to the NuttX board README file for further information. + Alan contributed a PWM driver in NuttX-6.32. + Refer to the Freedom KL25Z board README file for further information.

    @@ -2092,7 +2144,6 @@ nsh> Refer to the NuttX board README file for further information.

    -
  • STMicro STM32F103C48 (STM32 F1 "Low- and Medium-Density Line"Family, ARM Cortex-M3)


  • @@ -2174,11 +2225,12 @@ nsh> Spark (and emulated Spark). The Spark boards are based on the STM32F103CBT6 chip and feature wireless networking using the TI CC3000 WLAN module. See the Spark web site for hardware information; + The emulated Spark is a base board for the Maple Mini board (see above) developed by David Sidrane that supports Spark development while we all way breathlessly for or Spark boards. see the NuttX board README file for further information about the NuttX port. - Most of this work is the result of the effort of David Sidrane. -

    - The emulated Spark is a base board for the Maple Mini board (see above) developed by David Sidrane that supports Spark development while we all way breathlessly for or Spark boards. +

    + Intially Spark support was introduced in NuttX 6.31 and completed in NuttX 6.32. + Most of this work is the result of the effort of David Sidrane.

    @@ -2236,7 +2288,7 @@ nsh>
  • Spark. - David Sidrane has the emulated Spark board up-and-running with a functional CC3000 network, SST25 FAT file system, an NSH shell, and a composite USB CDC/ACM and USBMSC devices. This configuration is was first available NuttX 6-31. + David Sidrane has the emulated Spark board up-and-running with a functional CC3000 network, SST25 FAT file system, an NSH shell, and a composite USB CDC/ACM and USBMSC devices. This configuration is was first available NuttX 6.31 and completed in NuttX 6.32. That is really quite a lot of high end functionality on an STM32 that only has 20KB of RAM! I am impressed!

  • @@ -2263,7 +2315,8 @@ nsh> STMicro STM32F107x (STM32 F1 "Connectivity Line" family). Chip support for the STM32 F1 "Connectivity Line" family has been present in NuttX for some time and users have reported that they have successful brought up NuttX on there proprietary boards using this logic.

    -

    +

      +
    • Olimex STM32-P107 Support for the Olimex STM32-P107 was contributed by Max Holtzberg and first appeared in NuttX-6.21. That port features the STMicro STM32F107VC MCU.

        @@ -2272,11 +2325,10 @@ nsh> Networking is functional. Support for an external ENCX24J600 network was added in NuttX 6.30.
      -

      -

      +

    • +
    • Shenzhou IV - Work is underway as of this writing to port NuttX to the Shenzhou IV development board (See www.armjishu.com) featuring the STMicro STM32F107VCT MCU. - If all goes according to plan, this port should be verified and available in NuttX-6.22. + A port of NuttX to the Shenzhou IV development board (See www.armjishu.com) featuring the STMicro STM32F107VCT MCU was added in NuttX-6.22.

        STATUS: @@ -2288,8 +2340,20 @@ nsh> Refer to the NuttX board README file for further information.

      -

      - +

    • +
    • + ViewTool STM32F103/F107 + Support for the Viewtool STM32F103/F107 board was added in NuttX-6.32. That port features the STMicro STM32F107VCT6 MCU. +

        +

        + STATUS: + A basic NuttShell (NSH) configuration is available. + Because of commonality with other STM32 F107 boards, this basic configuration could easily to extended to support things like USB or networking. + Refer to the SViewtool STM32F103/F107 README file for further information. +

        +
      +

    • +
      @@ -2755,7 +2819,7 @@ nsh>

      STMicro STM32 F427/437. - General architectural support was provided for the F427/437 family in NuttX 4.27. + General architectural support was provided for the F427/437 family in NuttX 6.27. Specific support includes the STM32F427I, STM32F427Z, and STM32F427V chips. This is architecture-only support, meaning that support for the boards with these chips is available, but not support for any publically available boards is included.. This support was contributed by Mike Smith. @@ -2769,6 +2833,22 @@ nsh>


      + +
      + +

      + STMicro STM32 F429. + Support for STMicro STM32F429I-Discovery development board featuring the STM32F429ZIT6 MCU was contributed in NuttX-6.32 by Ken Pettit. + The F429 port adds support for the STM32F439 LCDC and OTG HS (in FS mode). + The STM32F429ZIT6 is a 180MHz Cortex-M4 operation with 2Mbit Flash memory and 256kbytes. + Refer to the STM32F429I-Discovery board README file for further information. +

      + + + +
      +
      +
      @@ -2804,7 +2884,7 @@ nsh>
    • The LPC43xx USB0 peripheral appears to be the same as the USB OTG peripheral for the LPC31xx. The LPC31xx USB0 device-side driver has been copied from the LPC31xx port but also integration into the LPC43xx (clocking and pin configuration). - It should be possible to complete poriting of this LPC31xx driver with a small porting effort. + It should be possible to complete porting of this LPC31xx driver with a small porting effort.
    • The Ethernet block looks to be based on the same IP as the STM32 Ethernet and, as a result, it should be possible to leverage the NuttX STM32 Ethernet driver with a little more effort. @@ -2932,6 +3012,21 @@ Mem: 29232 5920 23312 23312

      + +
      + +

      + Atmel SAM4E. + General architectural support was provided for the SAM4E family in NuttX 6.32. + This is architecture-only support, meaning that support for the boards with these chips is available, but not support for any publicly available boards is included.. + This support was contributed by Mitko. +

      + + + +
      +
      +
      diff --git a/nuttx/ReleaseNotes b/nuttx/ReleaseNotes index 95b6ca4af..4f8517f26 100644 --- a/nuttx/ReleaseNotes +++ b/nuttx/ReleaseNotes @@ -5259,3 +5259,263 @@ Bugfixes (see the ChangeLog for details). Some of these are very important: Sidrane. - apps/examples/can: Correct an error in a debug statement. From Martin Lederhilger. + +NuttX-6.32 +---------- + +The 99th release of NuttX, Version 6.32, was made on December 7, 2013, +and is available for download from the SourceForge website. Note +that release consists of two tarballs: nuttx-6.32.tar.gz and +apps-6.32.tar.gz. Both may be needed (see the top-level nuttx/README.txt +file for build information). + +Additional new features and extended functionality: + + * General: + + - Extension and standardization of stack debug logic. Now includes + coloration of the IDLE and interrupt stacks as well as the heap. + Suggested by David Sidrane. + + * Audio Subsystem and Audio Drivers: + + - I2S interface definition. Integrates with audio sub-system. + - VS1053 worker thread stack size is now configurable and assigned a + name via pthread_setname_np(). From Ken Pettit. + + * Networking / Network Drivers + + - Updates and adaptations to support for TI CC3000 wireless module + from David Sidrane. These updates include multi-threading support + and interface and header file changes to integrate more seamlessly + with NuttX applications. + + * File Systems: + + - procfs: Add support for a tiny procfs file system. The initial + offering is little more that a proof of concept but may be developed + further in subsequent releases. + - NXFFS: An initial attempt was made to integrate NXFFS with the NAND + MTD driver. Changes were made to handle bad blocks. However, I + later realized that NXFFS cannot handle NAND because the way that + is re-writes blocks is incompatible with the NAND ECC handling. + These changes were backed-out so as not to introduce turmoil, but + can be re-enabled if needed via configuration option. + - NXFFS: Make the start up scan of the media a configuration option. + It just takes to long and is not really necessary! Those rare cases + where the scan was helpful can be fixed using flash_eraseall(). + + * General Drivers: + + - I2S: A simple character driver was added to support I2S accesses. + This driver in its current state is intended only to support I2C + testing and would not be appropriate to used for any real driver + application. + + * MTD Drivers + + - Add a container for an MTD device that can be used to provide a + simple, lightweight interface to configuration data storage that + resides on some storage media that is wrapped as an MTD device. + From Ken Pettit. + - New interface definition for lower half NAND drivers. + - MTD Nand: Add MTD NAND driver that will support ONFI devices, + non-ONFI devices (via table lookup), bad block checking, software + ECC (Hamming), and will interact with the lower-half, hardware- + specific, NAND driver. Based on BSD-compatible Atmel sample code. + - MTD geometry structure is now packed so that it can support larger + erase block sizes needed by NAND without increasing the size of + the geometry structure. + - SST25: Add another SST25 SerialFlash driver, sst25xx.c. This one + differs from sst25.c in that it supports larger SST25 parts: In + the larger parts support page write instead of byte/word writes + like the smaller parts. From Ken Pettit. + + * USB Drivers + + - STM32 F1 USB Device: Add support for decoded USB trace strings. + From David Sidrane. + + * ARM + + - Add more ARM9 cache management functions to flush and invalidate + D-Cache for DMA support. + + * Atmel AT91 SAMA5D3x Drivers: + + - Many new drivers including CAN, PWM, SSC/I2S + - PCK: Add support for programmable clock outputs. + - NAND: Driver with hardware ECC and DMA support + + * Atmel AT91 SAMA5D3x Boards: + + - SAMA5D3x-EK: Add support for the apps/examples/i2schar test. + - SAMA5D3x-EK: Provides board-specific memory controller initialize + for NAND flash. + - SAMA5D3x-EK: Add support for "auto-mounting" NAND MTD block driver + or NXFFS file system. + + * Atmel AT91 SAM3/4 Boards: + + - Basic support for the Atmel SAM4E family. From Mitko. + + * STMicro STM32: + + - Added support for the STM32F429. From Ken Pettit. + - Added support for GPIOK and GPIOJ. From Ken Pettit. + + * STMicro STM32 Drivers + + - STM32 F4 OTG FS/HS Device: OTG FS device and host drivers extended + so that they can support either the OTG FS peripheral or the OTG HS + peripheral (in FS mode). This was done as a quick way to get USB + support on the STM32F429 which has only OTG HS. From Ken Pettit. + - Added header files and driver framework for the STM32F429 LTDC + framebuffer driver. From Ken Pettit. + + * STMicro STM32 Boards: + + - Support for the Spark board was completely by Davide Sidrane. The + Spark configuration includes integrated CC3000 wireless support, FAT + file system on the SerialFlash and a composite device that can be + used both to export the FAT file system and to provide a serial + interface. + - The Mikroe-stm32f4 now uses /dev/config for configuration data + storage. From Ken Pettit. + - Added support for the STM32F429I-Discovery board from Ken Pettit. + - Added board support for the ViewTool STM32F103/F107 board with the + STM32F107VCT6 installed. + + * NXP LPC31xx Drivers: + + - USB ECHI HCD: Add a driver for the low-/full-/high-speed variant + of the EHCI host controller. + + * NXP LPC31xx Boards: + + - Board-specific USB host support for the Emedded Artists EA3131 board. + (Missing PCA9532 controls). + - Add support for the Olimex LPC-H3131 board. Including USB host + support (which does not depend on the PCA8532 interface). + + * Kinetis KL Drivers: + + - PWM driver for the Freescale Kinetis KL family from Alan Carvalho + de Assis. + + * Kinetis KL Boards + + - Freedom-KL25Z: Add PWM support from Alan Carvalho de Assis. + + * TI Stellaris LM3S + + - Don't initialize .data in start-up logic if not running from FLASH. + + * Applications: + + - apps/platform: A new home for platform-specific application code. + - Define a common interface that can be used to manage platform- + specific configuration data. From Ken Pettit. + - apps/examples/configdata: A unit test for the MTD configuration + data driver from Ken Pettit. + - Aapps/platform/mikroe-stm32f4: dd platform-specific storage of + configuration data for the Mikroe-stm32f4. From Ken Pettit. + - apps/examples/cc3000: Fine tuning of memory usage from David Sidrane. + - apps/system/nxplayer: Play thread stack size is now configurable. + All NxPlayer threads now have names assigned via pthread_setname_np(). + From Ken Pettit. + - apps/examples/i2schar: The I2S test based on the I2S character + driver. + - apps/examples/hidkbd/hidkbd_main.c: Now calls a function named + arch_usbhost_initialize() that must be provided by the platform- + specific code. + - NSH: + + - hexdump: Add skip= and count= options to the hexdump command. From Ken Pettit. + - Allow USB trace without a USB console. From David Sidrane. + - Mount command updates from Ken Pettit. + - Add an option to the mkfatfs command to specify FAT12, FAT16, or FAT32. + + * Tools + + - tools/mkctags.sh: A script for creating ctags from Ken Pettit. + +Efforts In Progress. The following are features that are partially +implemented but present in this release. They are not likely be be +completed soon. + + * kconfig-fronted Configuration: + + - Conversion of old configurations to use the kconfig-frontends + tool is an ongoing effort that will continue for some time. + At this time, only 50% of the configurations have been converted + to use the kconfig-frontends tools. + +Bugfixes (see the ChangeLog for details). Some of these are very important: + + * File Systems + + - FAT: In one error return case, the error return value was not being + set, making the failure look like success. From David Sidrane. + - mount: SMART FS must be included in the conditional compilation for + the set of file systems that require block drivers. From Daniel + Palmer. + - SmartFS: Fixed a minor bug with SMART partition number reporting + that would only be seen if both partition support and multi-root + directory support are enabled at the same time. From Ken Pettit. + - Deadlock: The inode semaphore must be re-entrant. Here is the re- + entrant path that I found: (1) USB host connects to FLASH drive and + creates /dev/sda, (2) /dev/sda is mounted, (3) FLASH drive is + removed but /dev/sda is not destroyed because there is still a + reference on the device because of the mount, (4) umount() is + called, taking the inode semaphore, now the driver tries to destroy + the block driver by calling unregister_blockdriver(). But (5) + unregister_blockdriver() also takes the inode semaphore causing a + deadlock if the inode semaphore is not re-entrant. + - FAT: Fix a typo in the FAT16 formatting logic. Was this ever able to + format a FAT16 volume? + + * MTD Drivers + + - MTD Partitions: Fix erase block vs page block confusion. From Ken + Pettit + - SST25 Serial Flash: Improved write performance by fixing a bug that + prevented operation in the faster write mode. From David Sidrane. + + * USB Drivers: + + - USB MSC Device: pthread_join() does not work if called from a + different task group than the pthread. This is correct behavior, + but still a problem. The correct solution would be configure the + USB MSC thread to a task, however, this workaround from David + Sidrane plugs the hole for now. + - USB CDC/ACM, USB MSC, and Composite Device Classes: Un-initialization + logic caused re-use of a stale pointer. Changed to a two pass + un-initialization for the case of the composite driver: Memory + resources are not freed until the second un-initialization pass. + From David Sidrane. + + * STMicro STM32 Drivers: + + - STM32 F1 USB Device: Fix some errors that cause crashes when the USB + was disconnected. From David Sidrane. + - STM32 F1 USB Device: Correct EP0 state handling logic when buffers + larger than the EP0 packet size are sent. From David Sidrane. + - STM32 F1 USB Device: The long outstanding bug involving the handling + of OUT SETUP commands has been fixed in the STM32 F1 USB device + driver by David Sidrane. + - Kconfig: Add missing setup of CAN TSEG1 and TSEG2 values. From + Martin Lederhilger. + + * Tools + + - tools/mkconfig.c: SMART FS must be included in the conditional + compilation for the set of writable file systems. Noted by Daniel + Palmer. + + * Applications: + + - apps/platform/Makefile: Was not dealing with the bin sub-directory + correctly. + - apps/system/composite/composite_main.c: The wrong handle was getting + nullified. From David Sidrane. -- cgit v1.2.3