diff --git a/ChangeLog b/ChangeLog index f0d87e3794..fbb8d1b4a2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -212,7 +212,7 @@ * Provide support for multiple network devices * Implement socket ioctl() calls to set addresses * Added listen() and accept() - * Added DM90x0 ethernet driver + * Added DM90x0 Ethernet driver * ARP timer is now built into the network layer * Basic client functionality verified: TCP socket(), bind(), connect(), recv(), send(). @@ -275,7 +275,7 @@ * Added inet_ntoa() and ether_ntoa() * Added netdev_foreach() to support traversal of registered network devices * Added support for 'ifconfig' command to NSH (examples/nsh) - * Moved MAC and ethernet definitions to net/ethernet.h + * Moved MAC and Ethernet definitions to net/ethernet.h * Fix sim and DM90x0 compilation errors introduced in 0.3.4 * Fixed errors in C5471 configuration files for examples/uip * Modified DHCPC (netutils/dhcpc) so that it should work in environments where @@ -848,7 +848,7 @@ * lib/lib_strstr.c: Length of substring off by one causes false alarm sub-string matches. * arch/arm/src/lm3s/lm3s_ethernet.c: Fix errors in LMS6918 FIFO length - handling. (1) The incorrect size of the ethernet header was being + handling. (1) The incorrect size of the Ethernet header was being subtracted on outgoing messages (4 vs 14), which caused outgoing messages to be a little too long. (2) The size of incoming FIFO messages is 6 bytes larger than it expected (2 for the length and 4 for the FCS). The unhandled @@ -1010,7 +1010,7 @@ The released pascal-2.0 will be the first version that contains the compatible changes. * arch/arm/src/lm3s/lm3s_ethernet.c: Fixed an important bug in the LM3S - ethernet driver: If full packet is received, the packet-too-big check + Ethernet driver: If full packet is received, the packet-too-big check will fail because it needs to subtract 6 from the packet size (to account for the 2-byte packet length and the 4-byte packet FCS in the FIFO). @@ -1098,7 +1098,7 @@ 5.5 2010-05-09 Gregory Nutt - * drivers/net/enc28j60.c: Microchip ENC28J60 SPI ethernet chip driver. + * drivers/net/enc28j60.c: Microchip ENC28J60 SPI Ethernet chip driver. (untested on original check-in). * configs/olimex-str7p11/nettest: examples/nettest configuration using the ENC28J60 driver on the Olimex STMicro STR-P711. @@ -1334,7 +1334,7 @@ 5.14 2010-11-27 Gregory Nutt * configs/olimex-lpc1766stk/nettest: Add examples/nettest configuration to - verify the LPC17xx ethernet driver currently under development. + verify the LPC17xx Ethernet driver currently under development. * arch/arm/src/lpc17xx/lpc17xx_ethernet.c/.h: Began development of the LPC17xx Ethernet driver. Driver in CVS functional after 2010-11-23. * sched/timer_settime.c: Fix an error in set-up of a one-shot POSIX timer. It @@ -1760,7 +1760,7 @@ flushed. This (slightly) increases the NuttX footprint but supports the kind of behavior that people expect for printf. -6.4 2011-xx-xx Gregory Nutt +6.4 2011-06-06 Gregory Nutt * lib/drivers/cc1101: Add initial, functional CC1101 wireless driver (contributed by Uros Platise) @@ -1768,7 +1768,7 @@ code complete and ready to begin testing. Unfortunately, it looks like testing will be delayed due to tool issues (My PICkit 2 will not work the the MPLAB debugger on PIC32; I will need to get a PICkit 3). - * drivers/net/e1000.c/h: A PCI-based E1000 ethernet driver submitted + * drivers/net/e1000.c/h: A PCI-based E1000 Ethernet driver submitted by Yu Qiang. * lib/net/lib_inetaddr.c: An implementation of the inet_addr() function submitted by Yu Qiang. @@ -1802,5 +1802,10 @@ already disconnected and the buffered data is stranded. Now, recvfrom will continue to return success after the socket is disconnected until the readahead buffer is drained. + * olimex-lp1766stk/ftpc/defconfig: Many configurations have the MTU + (CONFIG_NET_BUFSIZE) set to very small numbers, less then the minimum + MTU size that must be supported -- 576. This can cause problems in + some networks: CONFIG_NET_BUFSIZE should be set to at least 576 in + all defconfig files. This has only been fixed in this defconfig file. - +6.5 2011-xx-xx Gregory Nutt diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html index 456fc81e97..4759d67cae 100644 --- a/Documentation/NuttX.html +++ b/Documentation/NuttX.html @@ -8,7 +8,7 @@

NuttX RTOS

-

Last Updated: June 1, 2011

+

Last Updated: June 6, 2011

@@ -503,7 +503,7 @@

-

  • Networking utilities (DHCP, SMTP, TELNET, TFTP, HTTP)
  • +
  • Networking utilities (DHCP server and client, SMTP client, TELNET client, FTP client, TFTP client, HTTP server and client)
  • @@ -829,63 +829,58 @@ -

    nuttx-6.3 Release Notes: +

    nuttx-6.4 Release Notes:

    - The 70th release of NuttX, Version 6.3, was made on May 15, 2011 and is available for download from the + The 71st release of NuttX, Version 6.4, was made on June 6, 2011 and is available for download from the SourceForge website. 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.

    - The release of NuttX-6.3 follows only a nines days after the release of version 6.2. - This special back-to-back release was made so that the current released version of - NuttX will correspond to the initial release from the RGMP project. -

    -

    - This release adds architecture support and build configuration for RGMP. - RGMP is a project for running GPOS and RTOS simultaneously on multi-processor platforms. - See the RGMP Wiki for further information about RGMP. -

    -

    - This release also includes support for STM32 FLASH, build improvements, and initial, incomplete support for the MicroChip PIC32MX MCU. - Bug fixes are included for some build problems, USB host class driver error handling, NX graphics color mapping, and problems with C standard I/O buffer flushing. - See the ChangeLog for further details. -

    -

    - Release notes for version 6.2 are retained because they are still relevant. -

    -

    nuttx-6.2 Release Notes: -

    - The 6.2 NuttX release includes several new features: + The 6.4 release includes several new features:

      -
    • - NXFFS: The obvious new feature is NXFFS, the NuttX wear-leveling FLASH file system. - This new file system is intended to be small for the MCU usage and has some limitations. - No formal documentation of NXFFS yet exists. - See the fs/nxffs/README.txt - file for more details. +
    • FTP Client. + A new, full-featured FTP client is included in this release. + This client may be used as a library for automated FTP or via an FTP client shell. + The FTP shell supports the following commands: cd, chmod, get, help, idle, login, ls, quit, mkdir, noop, put pwd, rename, rhelp, rm, rmdir, size, time, and up. + A configuration is available for the NXP LPC17xx to demonstrate this functionality.
    • -
    • - Support for NXP LPCXpresso LPC1768 board on the Embedded Artists base board. - The Code Red toolchain is supported under either Linux or Windows. - Verifed configurations include DHCPD, the NuttShell (NSH), NuttX graphis (NX), the NuttX OS test, THTTPD, and USB mass storage device. +
    • C1101 Wireless Driver. + A functional C1101 wireless driver (contributed by Uros Platise)
    • -
    • - Support for the Univision UG-9664HSWAG01 OLED with Solomon Systech SD1305 LCD controller. +
    • E1000 Ethernet Driver. + A PCI-based E1000 Ethernet driver (contributed by Yu Qiang)
    • -
    • - A new RAM MTD driver with FLASH simulation capability. +
    • C-Library Functions. + New C library functions: inet_addr() (contributed by Yu Qiang), strndup(), and asprintf().
    • -
    • - A version.h file is now automatically generated so that C code can now be version-aware. +
    • Smaller Memory Allocation Overhead. + Reduced memory allocation overhead for MCUs with small heaps (<64Kb). +
    • +
    • C Buffered I/O Integrated with Networking. + fdopen() now works with socket descriptors allowing standard bufferedC functions to be used for network communications. +
    • +
    • iconfig Extensions. + The NSH ifconfig command can now be used to set or change the IP address (contributed by Yu Qiang)

    - In addition to these new feature, several important bugfixes are included in this release correcting problems with - dup2(), LPC17xx GPIO interrupts, LPC17xx UART2/3, the FAT file system, build issues, and strrch(). - See the ChangeLog for more details. + This release also includes some completed but untest functionality. +

    + +
      +
    • MicroChip PIC32MX Support. + The MicroChip PIC32MX port is now code complete and ready to begin testing. + Unfortunately, testing will be delayed due to tool issues. +
    • +
    • NXP LPC315x Support. + Support for the NXP LPC315x MCUs. +
    • +
    +

    + Additional miscellaneous enhancements and bug fixes to task_delete(), recvfrom(), and other changes as noted in the ChangeLog.

    @@ -1120,6 +1115,26 @@ + + + + + + + +



    + NXP LPC315x. + Support for the NXP LPC315x family has been incorporated into the code base as of NuttX-6.4. +

    +
      +

      + STATUS: + The MCU support logic is present but as of this writing has not been verified on hardware. + Because of the high degree of compatibility between the LPC313x and LPC315x family, it + is very likely that the support is in place (or at least very close). +

      +
    +
    @@ -2144,123 +2159,62 @@ Other memory:
      -nuttx-6.2 2011-05-06 Gregory Nutt <spudmonkey@racsa.co.cr>
      +nuttx-6.4 2011-06-06 Gregory Nutt <spudmonkey@racsa.co.cr>
       
      -    * arch/arm/src/lpc17xx/lpc17_gpioint.c: Correct errors in logic that maps
      -      and IRQ number into a register bit number.
      -    * Makefile: Fix an error introduced in the top-level Makefile in NuttX-6.1.
      -      This error only shows up if you have a /tftpboot directory.  Then the 
      -      make will fail with an obscure error about not being able to stat pass2.
      -    * configs/lpcxpresso-lpc1768/nsh: Add an NSH configuration for the
      -      LPCXpresso board.
      -    * configs/*/ld.script: Removed 'sh_link not set for section .ARM.edix' for
      -      a few of the builds.  In you have this warning, it can be removed with the
      -      following change to the ld.script file:
      -      
      -        + __exidx_start = ABSOLUTE(.);
      -        .ARM.exidx : {
      -        -     __exidx_start = ABSOLUTE(.);
      -              *(.ARM.exidx*)
      -        -     __exidx_end = ABSOLUTE(.);
      -        } >sram
      -        +  __exidx_end = ABSOLUTE(.);
      +    * lib/drivers/cc1101: Add initial, functional CC1101 wireless driver
      +      (contributed by Uros Platise)
      +    * arch/mips and configs/pcblogic-pic32mx: The MicroChip PIC32MX port is now
      +      code complete and ready to begin testing.  Unfortunately, it looks like
      +      testing will be delayed due to tool issues (My PICkit 2 will not work the
      +      the MPLAB debugger on PIC32; I will need to get a PICkit 3).
      +    * drivers/net/e1000.c/h: A PCI-based E1000 ethernet driver submitted
      +      by Yu Qiang.
      +    * lib/net/lib_inetaddr.c: An implementation of the inet_addr() function
      +      submitted by Yu Qiang.
      +    * arch/arm/src/lpc31xx and arch/arm/include/lpc31xx:  Renamed from lpc313x
      +      to make name space for other famiy members.
      +    * arch/arm/*/lpc31xx: Added support for the LPC315x family (untested).
      +    * sched/task_exithook.c: Functionality performed when a task exits or is
      +      deleted has been moved to a common file task_exithook.c.  Now exit()
      +      functionality (like flushing I/O and calling registered atexit()
      +      functions, etc.) will be performed when a task is deleted as well.
      +    * mm/:  Added support for CONFIG_MM_SMALL. Each memory allocation has a
      +      small allocation overhead.  The size of that overhead is normally
      +      determined by the "width" of the address support by the MCU.  MCUs
      +      that support 16-bit addressability have smaller overhead than devices
      +      that support 32-bit addressability.  However, there are many MCUs
      +      that support 32-bit addressability *but* have internal SRAM of size
      +      less than or equal to 64Kb.  In this case, CONFIG_MM_SMALL can be
      +      defined so that those MCUs will also benefit from the smaller, 16-
      +      bit-based allocation overhead.
      +    * lib/string/lib_strndup.c: Add standard strndup() library function.
      +    * net/getsockname.c: Added standard getsockname() to return the local
      +      address associated with a socket.
      +    * lib/stdio/lib_asprintf.c: Add asprintf()
      +    * configs/olimex-lpc1766stk/ftpc:  Add a configuration to support
      +      testing of the FTP client shell.
      +    * fd/fs_fdopen.c and net/net_checksd.c: Add support so that fdopen may
      +      be used with socket descriptors.
      +    * net/recvfrom.c: Fix an error found in receiving small files via FTP:
      +      The small file is received a buffered in the readahead buffer, then the
      +      socket is disconnected.  When the app calls recvfrom, the socket is
      +      already disconnected and the buffered data is stranded.  Now, recvfrom
      +      will continue to return success after the socket is disconnected until
      +      the readahead buffer is drained.
      +    * olimex-lp1766stk/ftpc/defconfig: Many configurations have the MTU 
      +      (CONFIG_NET_BUFSIZE) set to very small numbers, less then the minimum
      +      MTU size that must be supported -- 576. This can cause problems in
      +      some networks:  CONFIG_NET_BUFSIZE should be set to at least 576 in
      +      all defconfig files.  This has only been fixed in this defconfig file.
       
      -    * arch/arm/src/lpc17xx: Correct some typos/bugs in configuration of LPC17xx
      -      UART2 and UART3.
      -    * nuttx/clock.h: Replace all references to the global variable g_system_timer
      -      with clock_systemtimer() (currently just a macro that that returns g_system_timer).
      -    * lib/string/strrch.c: Would fail if the searched-for character were the first
      -      character in the string.
      -    * tools/version.sh and mkversion.c: Tools to manage a NuttX version number
      -      file
      -    * sched/clock_getutc() and lib/time/lib_time.c: Add support for 1 second UTC
      -      interface.
      -    * net/net_dup2.c and include/nuttx/net.h: The conditional compilation for
      -      '#if CONFIG_NFILE_DESCRIPTOR > 0' was wrong in both of these files.  It should
      -      be '#if CONFIG_NFILE_DESCRIPTORS > 0'.  This causes a dup2() failure in THTTPD
      -      and a failure to get a CGI page.  The consequence can be a very serious bug!
      -    * configs/lpcxpresso-lpc1768/usbstorage, thttpd, and dhcpd: Add an USB storage,
      -      THTTPD web server, and DHCP server configurations for the NXP LPCXpresso board.
      -    * drivers/lcd/ug-9664hswag01.c and ssd1305.h: Add support for Univision UG-9664HSWAG01
      -      OLED with Solomon Systech SD1305 LCD controller.
      -    * configs/lpcxpresso-lpc1668/nx: Add a NX graphics configuration for the LPCXPRESO
      -      board.
      -    * graphics/nxglib/nxglib_nonintersecting.c: Fix some single bit errors in
      -      calculation of non-intersecting regions.  This was causing an anomaly
      -      in examples/nx in column 0.
      -    * drivers/mtd/rammtd.c: Added a RAM based MTD driver.  This RAM driver simulates
      -      FLASH and is useful for testing purposes.
      -    * arch/arm/src/arm/up_head.S: Fix backward conditional compilation.  This cause
      -      the configs/mx1ads configuration to fail to build but does not appear to affect
      -      any other ARM9 build.
      -    * fs/nxffs: Adding a tiny, wear-leveling FLASH file system for NuttX.  This
      -      file system is intended to be small and will have some limitations.  The
      -      implementation is incomplete on initial checkin.
      -    * apps/examples/nxffs and configs/sim/nxffs:  Add a test a a configuration that
      -      will be used to verify NXFFS.
      -    * fs/fat/fs_fat32.c and fs_fat32util.c: Incorpated two bugs with fixed provided
      -      by Sheref Younan.  Thanks!
      -    * fs/nxffs: After a couple of weeks of testing and bug fixes, NXFSS appears
      -      stable and functional.
      +apps-6.4 2011-06-06 Gregory Nutt <spudmonkey@racsa.co.cr>
       
      -nuttx-6.3 2011-05-15 Gregory Nutt <spudmonkey@racsa.co.cr>
      -
      -    * Remove clock_getutc().  It is replaces with clock_gettime(CLOCK_ACTIVETIME).
      -      Add other RTC related changes provided by Uros Platise.
      -    * arch/arm/src/stm32/stm32_flash.c: Add support for access to on-chip STM32
      -      FLASH; beginning of integration with NXFFS (Uros Platise).
      -    * arch/mips: Added directory structure for PIC32 support
      -    * configs/pcblogic-pic32mx:  Add directory structure for PCB Logic PIC32MX board
      -    * apps/include:  Move include/apps to apps/include.  A symbolic link is created at
      -      build time
      -    * Makefile: Removed support for Pascal pcode interpreter.  Support for that
      -      interpreter has been moved to apps/interpreter/Makefile.
      -    * tools/mkdep.sh: Should not report an error if there are no files on the command
      -      line.  This happens normally in certain configurations.
      -    * drivers/usbhost: Sheref Younan reported an error in the error handling when
      -      connection to a USB device fails.  In certain fail cases, the logic would try
      -      to free the device class instance twice, the first was okay, but the second
      -      caused a crash.
      -    * graphics/nxbe/nxbe_colormap.c: Fix error noted by Bassem Fahmy.  The function
      -      nxbe_colormap was change to nxbe_configure... apparently "search-and-replace"
      -      error. This error was not noticed before because most NX platforms do not use
      -      colormapping.
      -    * arch/rgmp and configs/rgmp.  Add architecture support and build
      -      configuration for RGMP.  RGMP is a project for running GPOS and
      -      RTOS simultaneously on multi-processor platforms. See
      -      http://rgmp.sourceforge.net/wiki/index.php/Main_Page for further
      -      information about RGMP.
      -    * lib/stdio/lib_fclose.c: Must flush all buffered data when the file is closed.
      -      Instead, it was discarding the buffered data.
      -    * lib/stdio: All output stream logic was modified to support CONFIG_STDIO_LINEBUFFER.
      -      If standard C buffered I/O is enabled (CONFIG_STDIO_BUFFER_SIZE > 0), then this
      -      option may be added to force automatic, line-oriented flushing the output buffer
      -      for putc(), fputc(), putchar(), puts(), fputs(), printf(), fprintf(), and vfprintf().
      -      When a newline is encountered in the output string, the output buffer will be
      -      flushed.  This (slightly) increases the NuttX footprint but supports the kind of
      -      behavior that people expect for printf.
      -
      -apps-6.2 2011-05-06 Gregory Nutt <spudmonkey@racsa.co.cr>
      -
      -    * apps/examples/nxffs:  Add a test a a configuration that will be used to
      -      verify NXFFS.
      -
      -apps-6.3 2011-05-15 Gregory Nutt <spudmonkey@racsa.co.cr>
      -
      -    * apps/interpreter: Add a directory to hold interpreters.  The Pascal add-
      -      on module now installs and builds under this directory.
      -    * apps/interpreter/ficl: Added logic to build Ficl (the "Forth Inspired
      -      Command Language").  See http://ficl.sourceforge.net/.
      -    * apps/netutils/dhcpc, dhcpcd, and tftp.  If these directories are included
      -      in the configuration but CONFIG_NET_UDP is disable (which is not very wise),
      -      then a make error occurs because tools/mkdep.sh is called with no files.
      -    * system/free: Move Uros' custom free command from vsn/free
      -    * system/install: Add a new install command submitted by Uros Platise.
      -    * examples/rgmp.  Add a placeholder for an RGMP build example.
      -      RGMP is a project for running GPOS and RTOS simultaneously on
      -      multi-processor platforms. See http://rgmp.sourceforge.net/wiki/index.php/Main_Page
      -      for further information about RGMP.  NOTE:  This is an empty example
      -      on initial check-in.
      +    * nshlib/nsh_netcmds.c: If a network device name and IP address are provided
      +      with the ifconfig command, then this command will now set the network address.
      +      (Contributed by Yu Qiang).
      +    * netutils/ftpc: A library to support client-side FTP.
      +    * examples/ftpc: A simple add-on to the NSH.  From NSH, you can start
      +      this simple FTP shell to transfer files to/from a remote FTP server.
       
       pascal-1.0 2011-05-15 Gregory Nutt <spudmonkey@racsa.co.cr>
       
      @@ -2303,49 +2257,9 @@ buildroot-1.10 2011-05-06 <spudmonkey@racsa.co.cr>
       
       
       
        -nuttx-6.4 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
        +nuttx-6.5 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
         
        -    * lib/drivers/cc1101: Add initial, functional CC1101 wireless driver
        -      (contributed by Uros Platise)
        -    * arch/mips and configs/pcblogic-pic32mx: The MicroChip PIC32MX port is now
        -      code complete and ready to begin testing.  Unfortunately, it looks like
        -      testing will be delayed due to tool issues (My PICkit 2 will not work the
        -      the MPLAB debugger on PIC32; I will need to get a PICkit 3).
        -    * drivers/net/e1000.c/h: A PCI-based E1000 ethernet driver submitted
        -      by Yu Qiang.
        -    * lib/net/lib_inetaddr.c: An implementation of the inet_addr() function
        -      submitted by Yu Qiang.
        -    * arch/arm/src/lpc31xx and arch/arm/include/lpc31xx:  Renamed from lpc313x
        -      to make name space for other famiy members.
        -    * arch/arm/*/lpc31xx: Added support for the LPC315x family (untested).
        -    * sched/task_exithook.c: Functionality performed when a task exits or is
        -      deleted has been moved to a common file task_exithook.c.  Now exit()
        -      functionality (like flushing I/O and calling registered atexit()
        -      functions, etc.) will be performed when a task is deleted as well.
        -    * mm/:  Added support for CONFIG_MM_SMALL. Each memory allocation has a
        -      small allocation overhead.  The size of that overhead is normally
        -      determined by the "width" of the address support by the MCU.  MCUs
        -      that support 16-bit addressability have smaller overhead than devices
        -      that support 32-bit addressability.  However, there are many MCUs
        -      that support 32-bit addressability *but* have internal SRAM of size
        -      less than or equal to 64Kb.  In this case, CONFIG_MM_SMALL can be
        -      defined so that those MCUs will also benefit from the smaller, 16-
        -      bit-based allocation overhead.
        -    * lib/string/lib_strndup.c: Add standard strndup() library function.
        -    * net/getsockname.c: Added standard getsockname() to return the local
        -      address associated with a socket.
        -    * lib/stdio/lib_asprintf.c: Add asprintf()
        -    * configs/olimex-lpc1766stk/ftpc:  Add a configuration to support
        -      testing of the FTP client shell.
        -
        -apps-6.4 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
        -
        -    * nshlib/nsh_netcmds.c: If a network device name and IP address are provided
        -      with the ifconfig command, then this command will now set the network address.
        -      (Contributed by Yu Qiang).
        -    * netutils/ftpc: A library to support client-side FTP.
        -    * examples/ftpc: A simple add-on to the NSH.  From NSH, you can start
        -      this simple FTP shell to transfer files to/from a remote FTP server.
        +apps-6.5 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 5631ef194e..bde78a9c5a 100644
        --- a/ReleaseNotes
        +++ b/ReleaseNotes
        @@ -216,7 +216,7 @@ nuttx-0.3.0
         This is the 12th release of NuttX.  This release includes the initial
         integration of a network subsystem and the uIP TCP/IP stack into NuttX
         (see http://www.sics.se/~adam/uip/index.php/Main_Page).  Also included
        -is a device driver for the Davicom DM90x0 ethernet controller.
        +is a device driver for the Davicom DM90x0 Ethernet controller.
         
         This integration is very preliminary.  Only a small portion of the
         network functionality has been integrated and there are a number of
        @@ -1872,4 +1872,33 @@ are included for some build problems, USB host class driver error handling,
         NX graphics color mapping, and problems with C standard I/O buffer flushing.
         See the ChangeLog for further details.
         
        +nuttx-6.4
        +^^^^^^^^^
         
        +The 71st release of NuttX, Version 6.4, was made on June 6, 2011 and is
        +available for download from the SourceForge website.  The 6.4 release
        +includes several new features:
        +
        +    * A new, full-featured FTP client.  This client may be used as a library
        +      for automated FTP or via an FTP client shell.  The FTP shell supports
        +      the following commands: cd, chmod, get, help, idle, login, ls, quit,
        +      mkdir, noop, put, pwd, rename, rhelp, rm, rmdir, size, time, and up.
        +      A configuration is available for the NXP LPC17xx to demonstrate this
        +      functionality.
        +    * A functional C1101 wireless driver (contributed by Uros Platise)
        +    * A PCI-based E1000 Ethernet driver (contributed by Yu Qiang)
        +    * New C library functions: inet_addr() (contributed by Yu Qiang),
        +      strndup(), asprintf()
        +    * Reduced memory allocation overhead for MCUs with small heaps (<64Kb).
        +    * fdopen() now works with socket descriptors allowing standard buffered
        +      C functions to be used for network communications.
        +    * The NSH ifconfig command can now be used to set or change the IP
        +      address (contributed by Yu Qiang)
        +
        +This release also includes some completed but untest functionality.
        +
        +    * The MicroChip PIC32MX port is now code complete and ready to begin
        +      testing.  Unfortunately, testing will be delayed due to tool issues.
        +    * Support for the NXP LPC315x MCUs.
        +
        +Additional miscellaneous enhancements and bug fixes to task_delete(), recvfrom(), and other changes as noted in the ChangeLog.