diff --git a/ChangeLog b/ChangeLog index fcf4df8e47..1c36668762 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2014,7 +2014,7 @@ * configs/twr-k60n512/nsh: Added and verified a NuttShell (NSH) configuration for the Freescale, Kinetis TWR-K60N512 board. -6.9 2011-xx-xx Gregory Nutt +6.9 2011-09-11 Gregory Nutt * arch/arm/src/kinetis/kinetis_sdhc.c: SDHC driver for Kinetis parts. Initially check-in is just a crude port of the STM32 SDIO driver. @@ -2077,3 +2077,6 @@ that happens only config CONFIG_RTC is enabled. * arch/arm/src/stm32/stm32_i2c.c: Correct some bugs related to waiting to the I2C STOP condition to be cleared. + +6.10 2011-xx-xx Gregory Nutt + diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html index 20e81e48f8..ba684ad0d1 100644 --- a/Documentation/NuttX.html +++ b/Documentation/NuttX.html @@ -8,7 +8,7 @@

NuttX RTOS

-

Last Updated: September 7, 2011

+

Last Updated: September 11, 2011

@@ -905,42 +905,78 @@ -

nuttx-6.8 Release Notes: +

nuttx-6.9 Release Notes:

- The 75th release of NuttX, Version 6.8, was made on August 19, 2011, and is available for download from the + The 76th release of NuttX, Version 6.9, was made on September 11, 2011, and is available for download from the SourceForge website. - Note that release consists of two tarballs: nuttx-6.8.tar.gz and apps-6.8.tar.gz. + Note that release consists of two tarballs: nuttx-6.9.tar.gz and apps-6.9.tar.gz. Both may be needed (see the top-level nuttx/README.txt file for build information) The change log associated with the release is available here. Unreleased changes after this release are available in SVN. These unreleased changes are also listed here.

- Changes in this release are summarized below: + This release includes a few new features and several important bug fixes. + The new features (some still incomplete) include:

    -
  • FreeScale Kinetis Support. - NuttX has been ported to run on the FreeScale Cortex-M4 "Kinetis" boards. - Two board ports are available for (1) the Kinetis KwikStik-K40 and - (2) the Kinetis TWR-K60N512 tower. +
  • Analog Support/ NXP LPC17xx: + New DAC sub-system including ADC and DAC drivers for the LPC17xx. + Extensions to the ADS1255 driver. (Contributed by Li Zhuoyi (Lzyy))
  • -
  • RGMP 0.3. - Support for RGMP 0.3. This version of RGMP now runs on the OMAP4430 (arm) - pandaboard +
  • Power Management: + Added a new NuttX power management sub-system for controlling and coordinating reduced power states. + At present, only verified in a simulation environment.
  • -
  • LPC17xx CAN driver. - LPC17xx CAN driver extended to support both CAN1 and CAN2 (submitted by - Li Zhuoy (Lzzy)). A Semaphore overflow problem was also corrected in the - CAN driver (reported by Li Zhouy (Lzzy)). +
  • I2C Test Tool: + A new application was added that can be used to verify and debug I2C interfaces from the NuttShell (NSH) command line.
  • -
  • Signal-related bugfixes. - Fixed several critical bugs related to signal handling initialization and - for signals the wake up tasks that are waiting to send or receive message - queues.Both are important (submitted by hkwilton). +
  • NuttShell (NSH): + In addition to the I2C test tool, a date command is now supported (if CONFIG_RTC is defined) that can be used to read and set the RTC.
  • -
  • ADC Infrastructure. - Added a new ADC driver infrastructure and TI ADS1255 driver both - developed and submitted by Li Zhouy (Lzzy)). +
  • NXP LPC17xx: + I2C and DAC drivers for the NXP LPC17xx family submitted by Li Zhuoyi (Lzyy) +
  • +
  • Kinetis Cortex-M4: + Added a SDHC driver for the Kinetis parts. + Complete debug of the Kinetis SDHC driver was not completed, however, do to some higher priority tasks that forced me to stop work. +
  • +
  • Other new drivers: + Driver for I2C-based at24cxx EEPROM submitted by Li Zhuoyi (Lzyy); + Driver for the LM-75 temperature sensor. + Support for the LM-75 temperature sensor integrated into the STMicro STM3210E-EVAL development board. +
  • +
  • NuttX Graphics (NX): + Added new NX interfaces for drawing circles, both circle outlines and filled circles. +
  • +
  • FLASH: + Added a function that accepts the path to a block driver and then erases the underlying FLASH memory +
  • +
  • Build System: + The Make export logic now also tries to track down all architecture-specific header files and include these in the NuttX export bundle as well. + Various changes and modifications so that NuttX wil build on FreeBSD using the ASH shell (submitted by Kurt Lidl). +
  • +
+

+ Bugfixes, order roughly on decreasing criticality include: +

+
    + +
  • STM32 I2C Driver: + Add resets, timeout, and other fixes to work reliably with the I2C tool. + Corrected a major error introduced in NuttX 6.8. +
  • +
  • BCH Driver. + Several important bugs (noted by Li Zhuoyi (Lzyy)) were fixed. +
  • +
  • C Library: + Fixed errors in gmtime() and gmtime_r() that could lead to errors in date calculations. +
  • +
  • Timing: + Correct an error in the tv_nsec calculation that happens only config CONFIG_RTC is enabled +
  • +
  • Build System: + Use of -print-libgcc-file-name to get path to libgcc.a might select the wrong libgcc.a if a GCC multilib toolchain is used

@@ -2549,57 +2585,78 @@ Other memory:

    -nuttx-6.8 2011-08-19 Gregory Nutt <spudmonkey@racsa.co.cr>
    +nuttx-6.9 2011-09-11 Gregory Nutt <spudmonkey@racsa.co.cr>
     
    -    * arch/arm/src/lpc17xx/chip.h:  Fix some chip memory configuration errors
    -      for the LPC1764, LPC1756, and LPC1754 (submitted by Li Zhuoy (Lzzy))
    -    * arch/arm/src/lpc17xx/lpc17_can.h:  Revised CAN driver submitted by
    -       Li Zhuoy (Lzzy).  The driver now supports both CAN1 and CAN2.
    -    * arch/arm/sim/up_lcd.c: Add a simulated LCD driver.
    -    * configs/stm3210e-eval/nxlines:  Added a configuration to build
    -      examples/nxlines.
    -    * arch/graphics: Used apps/examples/nxlines to (finally) verify the NX
    -      trapezoid drawing functions and (wide) line drawing functions.
    -    * arch/rgmp and configs/rgmp.  Yu Qiang has ported RGMP to the OMAP4430 (arm)
    -      pandaboard and release the new RGMP 0.3 version. The main changes are: (1)
    -      Separate configs/rgmp/x86 and configs/rgmp/arm configuration directory, and
    -      (2) Extract architecture dependent code in arch/rgmp/include and
    -      arch/rgmp/src into corresponding x86/ and arm/ directories.
    -    * arch/arm/src/kinetis, arch/arm/include/kinetis, configs/kwikstik-k40:
    -      Add a directory structure to support the port to the Kinetis KwikStik-K40.
    -      There is no real substance in the initial check-in; only the directory
    -      structure and skeleton files (Code complete on 8/15/11).
    -    * arch/arm/include/armv7-m, arch/arm/src/armv7-m, etc.: Rename all cortexm3
    -      directories and files to armv7-m; Change name of of all CORTEXM3 constants
    -      to ARMV7M.  This is a major namespace change needed to cleanly support the
    -      ARM Cortex-M4 which is also in the ARMv7 M Series (specifically, ARMv7E-M).
    -    * sched/sig_initialize.c, sig_received.c, and mq_waitirq.c.  Fixed several
    -      critical bugs related to signal handling initialization and for signals
    -      the wake up tasks that are waiting to send or receive message queues.  In
    -      the first two files, errors would prevent proper allocation of signal-related
    -      structures from interrupt handlers.  In the second, there was missing
    -      "clean-up" logic after a signal occurred, leaving the message queue in
    -      a bad state and resulting in PANICs.  All are important.  (submitted by
    -      hkwilton).
    -    * arch/arm/src/kinetis:  Added header files defining all Kinetis registers
    -      and bit fields within all Kinetis registers.
    -    * configs/twr-k60n512:  Add support for the Kinetis K60 Tower board
    -      (TWR-K60N512).
    -    * drivers/can.c:  Fixe a semaphore overflow problem in the CAN driver
    -      (reported by Li Zhouy (Lzzy)).
    -    * 8/18/2011: The basic port to the FreeScale Kinetics TWR-K60N512 board is
    -      now functional.
    -    * confgs/twr-k60n512: Add Kinetics TWR-K60N512 NSH configuration.
    -    * drivers/analog and include/nuttx/analog: Add ADC driver infrastructure
    -      and TI ADS1255 driver developed and submitted by Li Zhouy (Lzzy)).
    -    * arch/arm/stm32/stm32_sdio.h and drivers/mmcsd/mmcsd.c:  Add logic to
    -      multiplex usage of the GPIO pins (contributed by Uros Platise).
    -    * configs/twr-k60n512/nsh:  Added and verified a NuttShell (NSH)
    -      configuration for the Freescale, Kinetis TWR-K60N512 board.
    +    * arch/arm/src/kinetis/kinetis_sdhc.c: SDHC driver for Kinetis parts.
    +      Initially check-in is just a crude port of the STM32 SDIO driver.
    +      Much more work is needed.
    +    * graphics/, include/nuttx/nx:  Add new NX interfaces for drawing
    +      circles -- both circular outlines and filled circles.
    +    * graphic/nxglib/nxglib_spitline.c:  Add a "fudge factor" that eliminates
    +      some problems for rendering nearly horizontal, wide lines.  Hmm...
    +      but I suspect this fudge factor also leads to new problems rendering
    +      very thin, nearly horizontal lines.  More tuning is needed.
    +    * drivers/analog, include/nuttx/analog, arch/arch/src/lpcxx:  (1) Add
    +      updates to the ADS1255 driver, (2) fix errors from my last merge (sorry),
    +      (3) Add DAC infrastructure, (4) add AD5410 DAC driver, and (5) add
    +      LPC17xx ADC and DAC drivers.  All contributed by Li Zhuoyi (Lzyy).
    +    * tools/mkexport.sh:  Extended the script that implements the top-level
    +      'make export' logic.  The script now also finds and bundles up all of
    +      the architecture-specific header files as well.
    +    * drivers/arch/arm/src/stm32/stm32_i2c.c:  Add a reset to the I2C
    +      initialization logic to prevent spurious interrupts when the I2C
    +      interrupts are enabled (submitted by Uros Platise).
    +    * Scripts/makefiles/documents.  Several adjustments, corrections and
    +      typo fixes so that NuttX will build correctly on FreeBSD using the
    +      ASH shell (submitted by Kurt Lidl).
    +    * drivers/mtd/flash_eraseall.c:  Add a callable function that accepts
    +      the path to a block driver and then erases the underlying FLASH memory
    +      (assuming that the block driver is an MTD driver wrapped in the FTL
    +      layer).  Hmmm... this is probably not the best long term solution;
    +      flash_eraseall() should be a user-callable function that operates
    +      one driver interfaces; not an internal, OS function that operates
    +      on directly on block drivers.
    +    * drivers/bch:  Fixed some important bugs in the BCH driver (noted by
    +      Li Zhuoyi (Lzyy)).  This would have effected any large reads or writes
    +      (larger than the hardware sector size).
    +    * arch/*/src/Makefile:  Use of -print-libgcc-file-name to get path to
    +      libgcc.a may select the wrong libgcc.a if a multilib toolchain (like
    +      CodeSourcery) is used. This can be a serious problem and can cause
    +      crashes on Cortex-M3 if the ARM libgcc is used, for example.  The fix 
    +      is to include ARCHCPUFLAGS on the gcc command line when asking it to
    +      -print-libgcc-file-name.
    +    * lib/time/lib_gmtimer.c:  Correct several calculations that could lead
    +      to errors in dates.
    +    * drivers/pm: Add the beginnings of a NuttX power management sub-system.
    +    * arch/arm/src/stm32/stm32_irq.c:  Fix a error introduced in 6.8.
    +      Timeout calculation uses clock_settime() instead of clock_gettime().
    +      Pretty gross error, but actually it works with the side effect of setting
    +      a bad time.
    +    * drivers/mtd/at24xx.c: Driver for I2C-based at24cxx EEPROM submitted by
    +      Li Zhuoyi (Lzyy).
    +    * arch/arm/src/lpc17xx/lpc17_i2c.c: I2C driver for the NXP LPC17xx family
    +      submitted by Li Zhuoyi (Lzyy)
    +    * arch/arm/src/stm32_i2c.c:  Correct two issues with the STM32 I2C driver:
    +      (1) Clocking needs to be based on PCLK1, not HCLK and fast speed settings
    +      need some additional bits; and (2) Correct a hang that will occur on
    +      I2C1 if FSMC is also enabled.
    +    * drivers/sensors/lm75.c and include/nuttx/sensors/lm75.h:  Add an LM-75
    +      temperature sensor driver.
    +    * configs/stm3210e-eval/src/up_lm75.c:  Add support for the LM-75 on the
    +      STMicro STM3210E-EVAL board.
    +    * sched/clock_gettime.c:  Correct an error in the tv_nsec calculation
    +      that happens only config CONFIG_RTC is enabled.
    +    * arch/arm/src/stm32/stm32_i2c.c:  Correct some bugs related to waiting
    +      to the I2C STOP condition to be cleared.
     
    -apps-6.8 2011-08-19 Gregory Nutt <spudmonkey@racsa.co.cr>
    +apps-6.9 2011-09-11 Gregory Nutt <spudmonkey@racsa.co.cr>
     
    -    * apps/examples/nxlines:  Added a test for NX line drawing capabilities.
    +    * apps/examples/nxlines:  Extend the line drawing text to include drawing
    +      of circles.
    +    * apps/system/i2c:  Add an I2C test tool that should help to bring up I2C
    +      devices (when it is fully functional).
    +    * apps/nshlib/nsh_timcmds.c:  Add the date command that can be used to
    +      show or set the time (only if CONFIG_RTC is set).
     
     pascal-1.0 2011-05-15 Gregory Nutt <spudmonkey@racsa.co.cr>
     
    @@ -2642,53 +2699,9 @@ buildroot-1.10 2011-05-06 <spudmonkey@racsa.co.cr>
     
     
     
      -nuttx-6.9 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
      +nuttx-6.10 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
       
      -    * arch/arm/src/kinetis/kinetis_sdhc.c: SDHC driver for Kinetis parts.
      -      Initially check-in is just a crude port of the STM32 SDIO driver.
      -      Much more is needed.
      -    * graphics/, include/nuttx/nx:  Add new NX interfaces for drawing
      -      circles -- both circular outlines and filled circles.
      -    * graphic/nxglib/nxglib_spitline.c:  Add a "fudge factor" that eliminates
      -      some problems for rendering nearly horizontal, wide lines.
      -    * drivers/analog, include/nuttx/analog, arch/arch/src/lpcxx:  (1) Add
      -      updates to the ADS1255 driver, (2) fix errors from my last merge (sorry),
      -      (3) Add DAC infrastructure, (4) add AD5410 DAC driver, and (5) add
      -      LPC17xx ADC and DAC drivers.  All contributed by Li Zhuoyi (Lzyy).
      -    * tools/mkexport.sh:  Extended the script that implements the top-level
      -      'make export' logic.  The script now also finds and bundles up all of
      -      the architecture-specific header files as well.
      -    * drivers/arch/arm/src/stm32/stm32_i2c.c:  Add a reset to the I2C
      -      initialization logic to prevent spurious interrups when the I2C
      -      interrupts are enabled (submitted by Uros Platise).
      -    * Scripts/makefiles/documents.  Several adjustments, corrections and
      -      typo fixes so that NuttX will build correctly on FreeBSD using the
      -      ASH shell (submitted by Kurt Lidl).
      -    * drivers/mtd/flash_eraseall.c:  Add a callable function that accepts
      -      the path to a block driver and then erases the underlying FLASH memory
      -      (assuming that the block driver is an MTD driver wrapped in the FTL
      -      layer).
      -    * drivers/bch:  Fixed some important bugs in the BCH driver (noted by
      -      Li Zhuoyi (Lzyy)).  This would have effected any large reads or writes
      -      (larger than the hardware sector size).
      -    * arch/*/src/Makefile:  Use of -print-libgcc-file-name to get path to
      -      libgcc.a may select the wrong libgcc.a if a multilib toolchain (like
      -      CodeSourcery) is used. This can be a serious problem and can cause
      -      crashes on Cortex-M3 if the ARM libgcc is used, for example.  The fix 
      -      is to include ARCHCPUFLAGS on the gcc command line when asking it to
      -      -print-libgcc-file-name.
      -    * lib/time/lib_gmtimer.c:  Correct several calculations that could lead
      -      to errors in dates.
      -    * drivers/pm: Add the beginnings of a NuttX power management sub-system.
      -
      -apps-6.9 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
      -
      -    * apps/examples/nxlines:  Extend the line drawing text to include drawing
      -      of circles.
      -    * apps/system/i2c:  Add an I2C test tool that should help to bring up I2C
      -      devices (when it is fully functional).
      -    * apps/nshlib/nsh_timcmds.c:  Add the date command that can be used to
      -      show or set the time (only if CONFIG_RTC is set).
      +apps-6.10 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
       
       pascal-3.1 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
       
      diff --git a/ReleaseNotes b/ReleaseNotes
      index 67bfabcc4c..3fdc9e7c3f 100644
      --- a/ReleaseNotes
      +++ b/ReleaseNotes
      @@ -2226,3 +2226,73 @@ below:
           both developed and submitted by Li Zhouy (Lzzy)).
       
       See the Changelog for additional changes included in this release.
      +
      +NuttX-6.9
      +^^^^^^^^^
      +
      +The 76th release of NuttX, Version 6.8, was made on September 11, 2011
      +and is available for download from the SourceForge website.  Note
      +that release consists of two tarballs:  nuttx-6.9.tar.gz and
      +apps-6.9.tar.gz.  Both may be needed (see the top-level nuttx/README.txt
      +file for build information).
      +
      +This release includes a few new features and several important bug fixes.
      +The new features (some still incomplete) include:
      +
      +  * Analog Support/ NXP LPC17xx: New DAC sub-system including ADC and DAC
      +    drivers for the LPC17xx.  Extensions to the ADS1255 driver.
      +    (Contributed by Li Zhuoyi (Lzyy))
      +
      +  * Power Management:  Added a new NuttX power management sub-system for
      +    controlling and coordinating reduced power states.  At present, only
      +    verified in a simulation environment.
      +
      +  * I2C Test Tool:  A new application was added that can be used to
      +    verify and debug I2C interfaces from the NuttShell (NSH) command
      +    line.
      +
      +  * NuttShell (NSH):  In addition to the I2C test tool, a date command
      +    is now supported (if CONFIG_RTC is defined) that can be used to
      +    read and set the RTC.
      +
      +  * NXP LPC17xx: I2C and DAC driver for the NXP LPC17xx family submitted by Li Zhuoyi
      +   (Lzyy)
      +
      +  * Kinetis Cortex-M4:  Added a SDHC driver for the Kinetis parts.
      +    Complete debug of the Kinetis SDHC driver was not completed, however,
      +    do to some higher priority tasks that forced me to stop work.
      +
      +  * Other new drivers: Driver for I2C-based at24cxx EEPROM submitted by
      +    Li Zhuoyi (Lzyy); Driver for the LM-75 temperature sensor.  Support
      +    for the LM-75 temperature sensor integrated into the SM3210E-EVAL
      +    development board.
      +
      +  * NuttX Graphics (NX):  Added new NX interfaces for drawing circles,
      +    both circle outlines and filled circles.
      +
      +  * FLASH: Added a function that accepts the path to a block driver and
      +    then erases the underlying FLASH memory
      +
      +  * Build System:  The Make export logic now also tries to track down all
      +    architecture-specific header files and include these in the NuttX
      +    export bundle as well.  Various changes and modifications so that
      +    NuttX wil build on FreeBSD using the ASH shell (submitted by Kurt Lidl).
      +
      +Bugfixes, order roughly on decreasing criticality include:
      +
      +  * STM32 I2C Driver:  Add resets, timeout, and other fixes to work
      +    reliably with the I2C tool.  Corrected a major error introduced in
      +    NuttX 6.8.
      +
      +  * BCH Driver.  Several important bugs (noted by Li Zhuoyi (Lzyy))
      +    were fixed.
      +
      +  * C Library:  Fixed errors in gmtime() and gmtime_r() that could lead to
      +    errors in date calculations.
      +
      +  * Timing:  Correct an error in the tv_nsec calculation that happens
      +    only config CONFIG_RTC is enabled
      +
      +  * Build System: Use of -print-libgcc-file-name to get path to
      +    libgcc.a might select the wrong libgcc.a if a multilib toolchain
      +    is used