diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html index 56ecb399286..52bd5b17773 100644 --- a/Documentation/NuttX.html +++ b/Documentation/NuttX.html @@ -8,7 +8,7 @@
Last Updated: June 20, 2011
+Last Updated: June 21, 2011
nuttx-6.4 Release Notes: +
nuttx-6.5 Release Notes:
- The 71st release of NuttX, Version 6.4, was made on June 6, 2011 and is available for download from the + The 72nd release of NuttX, Version 6.5, was made on June 21, 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 6.4 release includes several new features: + The 6.5 release is all about support for the Atmel 8-bit AVR family. + I have been interested in the AVR family for some time but because of the + severe SRAM constraints and because of the availability of many tiny schedulers + for the AVR, it has not been "on the radar screen." + However, I have recently become interested because of interest expressed by + members of the Nuttx forum and because of the availability of newer, larger + capacity AVR parts (that I don't have yet). +
++ This release includes support for the following AVR boards. + As with any initial support for new architectures, there are some incomplete areas and a few caveats that need to be stated. + Here they are, ordered from the least to the most complete:
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.
+ SoC Robotics Amber Web Server (ATMega128). + This port of NuttX to the Amber Web Server from + SoC Robotics. + The Amber Web Server is based on an Atmel ATMega128 (128Kb FLASH but + only 4Kb of SRAM). +
+STATUS: + Work on this port has stalled due to toolchain issues. + It is complete, but untested. +
+Micropendous 3 (AT9USB647). + This port of NuttX to the Opendous + Micropendous 3 board. + Micropendous3 may be populated with an AT90USB646, 647, 1286, or 1287. + I have only the AT90USB647 version for testing. + This version has very limited memory resources: 64Kb of FLASH and 4Kb of SRAM. +
++
STATUS: + The basic port was released in NuttX-6.5. + This basic port consists only of a "Hello, World!!&qquo; example + that demonstrates initialization of the OS, creation of a simple task, + and serial console output. + The tiny SRAM limits what you can do with the AT90USB647 (see issues below). +
inet_addr() (contributed by Yu Qiang), strndup(), and asprintf().
- 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)
+ PJRC Teensy++ 2.0 (AT90USB1286). + This is a port of NuttX to the PJRC Teensy++ 2.0 board. + This board was developed by PJRC. + The Teensy++ 2.0 is based on an Atmel AT90USB1286 MCU with 128Kb of FLASH and 8Kb of SRAM; + a little more room to move than the AT90USB647. +
+STATUS: + The basic port was released in NuttX-6.5. + This basic port consists of a "Hello, World!!" example and + also slightly simplified NuttShell (NSH) configuration (see the + NSH User Guide). +
+Unfinished Stuff. + An SPI driver and a USB device driver exist for the AT90USB as well as a USB mass storage configuration. + However, this configuration is not fully debugged as of the NuttX-6.5 release. +
- This release also includes some completed but untested functionality: -
-
- Additional miscellaneous enhancements and bug fixes to task_delete(), recvfrom(), and other changes as noted in the ChangeLog.
+
AVR-Specific Issues. + The basic AVR port is solid and biggest issue for using AVR is its tiny SRAM memory and its Harvard architecture. + Because of the Harvard architecture, constant data that resides to flash is inaccessible using "normal" memory reads and writes (only SRAM data can be accessed "normally"). + Special AVR instructions are available for accessing data in FLASH, but these have not been integrated into the normal, general purpose OS.
++ Most NuttX test applications are console-oriented with lots of strings used for printf and debug output. + These strings are all stored in SRAM now due to these data accessing issues and even the smallest console-oriented applications can quickly fill a 4-8Kb memory. + So, in order for the AVR port to be useful, one of two things would need to be done: +
+|
+ + Development Environments: + 1) Linux with native Linux GNU toolchain, 2) Cygwin with Cygwin GNU toolchain, or 3) Cygwin with Windows native toolchain. + All testing, however, has been performed using the Nuttx DIY toolchain for Linux or Cygwin is provided by the NuttX + buildroot package. + As a result, that toolchain is recommended. + + |
+|
-nuttx-6.4 2011-06-06 Gregory Nutt <spudmonkey@racsa.co.cr> +nuttx-6.5 2011-06-21 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. - * 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/avr/src/avr and arch/avr/include/avr: Adds general support for + the Atmel 8-bit AVR family. + * arch/avr/src/atmega and arch/avr/include/atmega: Adds support for the + Atmel AVR ATMega family. + * arch/avr/src/at90usb and arch/avr/include/at90usb: Adds support for the + Atmel AVR AT90USB family. + * configs/micropendous3: Adds a board configuration for the Opendous + Micropendous 3 board. This board may be populated with several different + members of the Atmel AVR AT90USB family. + * configs/amber: This is a placehold for the Atmel ATMega128 Amber Web + Server from SoC Robotics. Not much present in this directory on initial + check-in. + * configs/teensy: Adds a board configuration for the PJRC Teensy++ 2.0 board + that features an Atmel AT90USB1286 MCU. + * fs/fat: Offsets, sector numbers, etc. need to be off_t, not size_t. size_t + is intended to be the maximum size of a memory object, not a file offset. This + does not make any difference except on systems (like the AVR) where size_t + is only 16-bits. -apps-6.4 2011-06-06 Gregory Nutt <spudmonkey@racsa.co.cr> +apps-6.5 2011-06-06 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. + * netutils/ftpc: Simpflication and size reduction. pascal-1.0 2011-05-15 Gregory Nutt <spudmonkey@racsa.co.cr> @@ -2388,26 +2410,9 @@ buildroot-1.10 2011-05-06 <spudmonkey@racsa.co.cr>
-nuttx-6.5 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> +nuttx-6.6 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> - * arch/avr/src/avr and arch/avr/include/avr: Adds general support for - the Atmel 8-bit AVR family. - * arch/avr/src/atmega and arch/avr/include/atmega: Addes support for the - Atmel AVR ATMega family. - * arch/avr/src/at90usb and arch/avr/include/at90usb: Addes support for the - Atmel AVR AT90USB family. - * configs/micropendous3: Adds a board configuration for the Opendous - Micropendous 3 board. This board may be populated with several different - members of the Atmel AVR AT90USB family. - * configs/amber: This is a placehold for the Atmel ATMega128 Amber Web - Server from SoC Robotics. Not much present in this directory on initial - check-in. - * configs/teensy: Adds a board configuration for the PJRC Teensy++ 2.0 boar - that features an Atmel AT90USB1286 MCU. - -apps-6.5 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> - - * netutils/ftpc: Simpflication and size reduction. +apps-6.6 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> pascal-3.1 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>