diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-01-20 02:41:15 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2011-01-20 02:41:15 +0000 |
commit | 6eb1af99148e33a228bee8f459b5a8bf0bfe0faf (patch) | |
tree | bacdf4bac68b3eaa7800d799225c1ad7b38524df | |
parent | 85a4296a6104cdee15aebad44732cf4d3d619710 (diff) | |
download | nuttx-6eb1af99148e33a228bee8f459b5a8bf0bfe0faf.tar.gz nuttx-6eb1af99148e33a228bee8f459b5a8bf0bfe0faf.tar.bz2 nuttx-6eb1af99148e33a228bee8f459b5a8bf0bfe0faf.zip |
Prep for NuttX-5.17nuttx-5.17
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3267 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r-- | nuttx/ChangeLog | 6 | ||||
-rw-r--r-- | nuttx/Documentation/NuttX.html | 253 | ||||
-rw-r--r-- | nuttx/ReleaseNotes | 18 |
3 files changed, 97 insertions, 180 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index a00a7e9f2..43007c753 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -1418,7 +1418,7 @@ * drivers/usbhost -- Add a USB host class driver for the (Bulk-Only) USB Mass Storage Class. -5.17 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> +5.17 2011-01-19 Gregory Nutt <spudmonkey@racsa.co.cr> * include/nuttx/usb -- rename usb_storage.h to storage.h. * arch/arm/src/lpc17xx/lpc17_usbhost.c -- Add support for low-speed devices. @@ -1436,4 +1436,6 @@ * configs/olimex-lpc1766stk/hidkbd - Added a configuration to build the USB host HID keyboard class driver test for the LPC17xx. * Ran the tool CppCheck (http://sourceforge.net/apps/mediawiki/cppcheck) and - fixed several errors in the code identified by the tool.
\ No newline at end of file + fixed several errors in the code identified by the tool. + +5.18 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> diff --git a/nuttx/Documentation/NuttX.html b/nuttx/Documentation/NuttX.html index 692752ae8..c7ad3a5ec 100644 --- a/nuttx/Documentation/NuttX.html +++ b/nuttx/Documentation/NuttX.html @@ -800,153 +800,31 @@ </tr> </table> -<p><b>nuttx-5.16 Release Notes</b>: - +<p><b>nuttx-5.17 Release Notes</b>: <p> - The 63<sup>rd</sup> release of NuttX, Version 5.16, was made on January 10, 2010 and is available for download from the + The 64<sup>th</sup> release of NuttX, Version 5.17, was made on January 19, 2010 and is available for download from the <a href="http://sourceforge.net/project/showfiles.php?group_id=189573">SourceForge</a> website. The change log associated with the release is available <a href="#currentrelease">here</a>. Unreleased changes after this release are available in CVS. These unreleased changes are listed <a href="#pendingchanges">here</a>. </p> <p> - This release includes initial support for USB host in NuttX. - The USB host infrstruture is new to NuttX. - This initial USB host release is probably only beta quality; - it is expected the some bugs remain in the logic and that the functionality requires extension. -</p> + This release follows close on the heels of the 5.16 release and extends the USB host capabilities first introduced in that version. <p> - Below is a summary of the NuttX USB host implementation as extracted from the - <a href="NuttxPortingGuide.html">NuttX Porting Guide</a>: -</p> <ul> - <h3>6.3.9 USB Host-Side Drivers</h3> - - <ul> - <li> - <p> - <b><code>include/nuttx/usb/usbhost.h</code></b>. - All structures and APIs needed to work with USB host-side drivers are provided in this header file. - </p> - </li> - <li> - <p> - <b><code>struct usbhost_driver_s</code></b>. - Each USB host controller driver must implement an instance of <code>struct usbhost_driver_s</code>. - This structure is defined in <code>include/nuttx/usb/usbhost.h</code>. - </p> - <p> - <b>Examples</b>: - <code>arch/arm/src/lpc17xx/lpc17_usbhost.c</code>. - </p> - </li> - <li> - <p> - <b><code>struct usbhost_class_s</code></b>. - Each USB host class driver must implement an instance of <code>struct usbhost_class_s</code>. - This structure is also defined in <code>include/nuttx/usb/usbhost.h</code>. - </p> - <p> - <b>Examples</b>: - <code>drivers/usbhost/usbhost_storage.c</code> - </p> - </li> - <li> - <p> - <b>USB Host Class Driver Registry</b>. - The NuttX USB host infrastructure includes a <i>registry</i>. - During its initialization, each USB host class driver must call the interface, <code>usbhost_registerclass()</code> - in order add its interface to the registery. - Later, when a USB device is connected, the USB host controller will look up the USB host class driver that is needed to support the connected device in this registry. - </p> - <p> - <b>Examples</b>: - <code>drivers/usbhost/usbhost_registry.c</code>, <code>drivers/usbhost/usbhost_registerclass.c</code>, and <code>drivers/usbhost/usbhost_findclass.c</code>, - </p> - </li> - <li> - <p> - <b>Detection and Enumeration of Connected Devices</b>. - Each USB host device controller supports two methods that are used to detect and enumeration newly connected devices - (and also detect disconnected devices): - </p> - <p> - <ul> - <li> - <p> - <code>int (*wait)(FAR struct usbhost_driver_s *drvr, bool connected);</code> - </p> - <p> - Wait for a device to be connected or disconnected. - </p> - </li> - <li> - <p> - <code>int (*enumerate)(FAR struct usbhost_driver_s *drvr);</code> - </p> - <p> - Enumerate the connected device. - As part of this enumeration process, the driver will - (1) get the device's configuration descriptor, - (2) extract the class ID info from the configuration descriptor, - (3) call <code>usbhost_findclass(</code>) to find the class that supports this device, - (4) call the <code>create()</code> method on the <code>struct usbhost_registry_s interface</code> to get a class instance, and - finally (5) call the <code>connect()</code> method of the <code>struct usbhost_class_s</code> interface. - After that, the class is in charge of the sequence of operations. - </p> - </ul> - </p> - </li> - <li> - <p> - <b>Binding USB Host-Side Drivers</b>. - USB host-side controller drivers are not normally directly accessed by user code, - but are usually bound to another, higher level USB host class driver. - The class driver exports the standard NuttX device interface so that the connected USB device can be accessed just as with other, similar, on-board devices. - For example, the USB host mass storage class driver (<code>drivers/usbhost/usbhost_storage.c</code>) will register a standard, NuttX block driver interface (like <code>/dev/sda</code>) - that can be used to mount a file system just as with any other other block driver instance. - In general, the binding sequence is: - </p> - <p> - <ol> - <li> - <p> - Each USB host class driver includes an intialization entry point that is called from the - application at initialization time. - This driver calls <code>usbhost_registerclass()</code> during this initialization in order to makes itself available in the event the the device that it supports is connected. - </p> - <p> - <b>Examples</b>: - The function <code>usbhost_storageinit()</code> in the file <code>drivers/usbhost/usbhost_storage.c</code> - </p> - </li> - <li> - <p> - Each application must include a <i>waiter</i> thread thread that (1) calls the USB host controller driver's <code>wait()</code> to detect the connection of a device, and then - (2) call the USB host controller driver's <code>enumerate</code> method to bind the registered USB host class driver to the USB host controller driver. - </p> - <p> - <b>Examples</b>: - The function <code>nsh_waiter()</code> in the file <code>configs/nucleus2g/src/up_nsh.c</code> and - the function <code>nsh_waiter()</code> in the file <code>configs/olimex-lpc1766stk/src/up_nsh.c</code>. - </p> - </li> - <li> - <p> - As part of its operation during the binding operation, the USB host class driver will register an instances of a standard NuttX driver under the <code>/dev</code> directory. - To repeat the above example, the USB host mass storage class driver (<code>drivers/usbhost/usbhost_storage.c</code>) will register a standard, NuttX block driver interface (like <code>/dev/sda</code>) - that can be used to mount a file system just as with any other other block driver instance. - </p> - <p> - <b>Examples</b>: - See the call to <code>register_blockdriver()</code> in the function <code>usbhost_initvolume()</code> in the file <code>drivers/usbhost/usbhost_storage.c</code>. - </p> - </li> - </ol> - </p> - </li> - </ul> + <li> + The LPC17xx USB host controller driver was extended to (1) add support for low-speed devices, + (2) handle multiple concurrent transfers on different endpoints (still only one TD per endpoint), and + (3) handle periodic interrupt endpoint types. + </li> + <li> + Add a USB host HID keyboard class driver. + Now you can connect a standard USB keyboard to NuttX and receive keyboard input for an application. + </li> </ul> +<p> + And other changes as detailed in the ChangeLog. +</p> <table width ="100%"> <tr bgcolor="#e4e4e4"> @@ -1394,9 +1272,17 @@ </p> <p> <b>Nucleus2G LPC1768</b>. - Some initial files for the LPC17xx family were released in NuttX 5.6, but the first - functional release for the NXP LPC1768/Nucleus2G occured with NuttX 5.7 with some - additional enhancements through NuttX-5.9. + <ul> + <li> + Some initial files for the LPC17xx family were released in NuttX 5.6, but + </li> + <li> + The first functional release for the NXP LPC1768/Nucleus2G occured with NuttX 5.7 with + Some additional enhancements through NuttX-5.9. + </li> + </ul> + </p> + <p> That initial, 5.6, basic release included <i>timer</i> interrupts and a <i>serial console</i> and was verified using the NuttX OS test (<code>examples/ostest</code>). Configurations available include include a verified NuttShell (NSH) configuration @@ -1408,21 +1294,43 @@ </p> <p> <b>mbed LPC1768</b>. - Support for the mbed board was contributed by Dave Marples and released in NuttX-5.11. + <ul> + <li> + Support for the mbed board was contributed by Dave Marples and released in NuttX-5.11. + </li> + </ul> + </p> + <p> This port includes a NuttX OS test configuration (see <code>examples/ostest</code>). </p> <p> <b>Olimex LPC1766-STK</b>. - Support for that Olimex-LPC1766-STK board was added to NuttX 5.13. - The NuttX-5.14 release extended that support with an <i>Ethernet driver</i>. - The NuttX-5.15 release further extended the support with a functional <i>USB device driver</i> and <i>SPI-based micro-SD</i>. - And the NuttX-5.16 release added a functional <i>USB host driver</i>. + <ul> + <li> + Support for that Olimex-LPC1766-STK board was added to NuttX 5.13. + </li> + <li> + The NuttX-5.14 release extended that support with an <i>Ethernet driver</i>. + </li> + <li> + The NuttX-5.15 release further extended the support with a functional <i>USB device driver</i> and <i>SPI-based micro-SD</i>. + </li> + <li> + The NuttX-5.16 release added a functional <i>USB host controller driver</i> and <i>USB host mass storage class driver</i>. + </li> + <li> + The NuttX-5.17 released added support for low-speed USB devicers, interrupt endpoints, and a <i>USB host HID keyboard class driver</i>. + </li> + </ul> + </p> + <p> Verified configurations are now available for the NuttX OS test, for the NuttShell with networking and microSD support(NSH, see the <a href="ttp://www.nuttx.org/NuttShell.html">NSH User Guide</a>), for the NuttX network test, for the <a href="http://acme.com/software/thttpd">THTTPD</a> webserver, - and for USB serial and USB storage examples. + for USB serial deive and USB storage devices examples, and for the USB host HID keyboard driver. + Support for the USB host mass storage device can optionally be configured for the NSH example. A driver for the <i>Nokia 6100 LCD</i> and an NX graphics configuration for the Olimex LPC1766-STK have been added. - However, neither the LCD driver nor the NX configuration have been verified as of the the NuttX-5.15 release. + However, neither the LCD driver nor the NX configuration have been verified as of the the NuttX-5.17 release. </p> <p> <b>Development Environments:</b> @@ -2058,18 +1966,25 @@ Other memory: </table> <ul><pre> -nuttx-5.16 2011-01-10 Gregory Nutt <spudmonkey@racsa.co.cr> - - * include/nuttx/usb -- Created new directory. Moved all usb-related header - files to this new directory. Created a skeleton for a new USB host header - file - * drivers/usbhost -- Add USB host "registry" where connect devices can be - matched with the correct USB class driver. - * arc/arc/src/lpc17xx/lpc17_usbhost.c -- Add a simple USB host driver for - the NXP lpc17xx. - * drivers/usbhost -- Add generic USB device enumeration logic. - * drivers/usbhost -- Add a USB host class driver for the (Bulk-Only) USB - Mass Storage Class. +nuttx-5.17 2011-01-19 Gregory Nutt <spudmonkey@racsa.co.cr> + + * include/nuttx/usb -- rename usb_storage.h to storage.h. + * arch/arm/src/lpc17xx/lpc17_usbhost.c -- Add support for low-speed devices. + * drivers/usbhost/usbhost_skeleton.c -- Template for new class drivers + * include/nuttx/usb/hid.h and drivers/usbhost/usbhost_hidkbd.c -- New + files for HID keyboard support. + * arch/arm/src/lpc17xx/lpc17_usbhost.c -- Will now handle multiple + concurrent transfers on different endpoints (still only one TD per + endpoint). All methods are protected from re-entrancy; lots of re- + structuring in preparation for interrupt endpoint support. + * arch/arm/src/lpc17xx/lpc17_usbhost.c -- Add support for periodic + interrupt transfers. + * examples/hidkbd - Added a simple test for the USB host HID keyboard + class driver. + * configs/olimex-lpc1766stk/hidkbd - Added a configuration to build the + USB host HID keyboard class driver test for the LPC17xx. + * Ran the tool CppCheck (http://sourceforge.net/apps/mediawiki/cppcheck) and + fixed several errors in the code identified by the tool. pascal-2.0 2009-12-21 Gregory Nutt <spudmonkey@racsa.co.cr> @@ -2099,25 +2014,7 @@ buildroot-1.8 2009-12-21 <spudmonkey@racsa.co.cr> </table> <ul><pre> -nuttx-5.17 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> - - * include/nuttx/usb -- rename usb_storage.h to storage.h. - * arch/arm/src/lpc17xx/lpc17_usbhost.c -- Add support for low-speed devices. - * drivers/usbhost/usbhost_skeleton.c -- Template for new class drivers - * include/nuttx/usb/hid.h and drivers/usbhost/usbhost_hidkbd.c -- New - files for HID keyboard support. - * arch/arm/src/lpc17xx/lpc17_usbhost.c -- Will now handle multiple - concurrent transfers on different endpoints (still only one TD per - endpoint). All methods are protected from re-entrancy; lots of re- - structuring in preparation for interrupt endpoint support. - * arch/arm/src/lpc17xx/lpc17_usbhost.c -- Add support for periodic - interrupt transfers. - * examples/hidkbd - Added a simple test for the USB host HID keyboard - class driver. - * configs/olimex-lpc1766stk/hidkbd - Added a configuration to build the - USB host HID keyboard class driver test for the LPC17xx. - * Ran the tool CppCheck (http://sourceforge.net/apps/mediawiki/cppcheck) and - fixed several errors in the code identified by the tool. +nuttx-5.18 2011-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> pascal-2.1 2010-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr> diff --git a/nuttx/ReleaseNotes b/nuttx/ReleaseNotes index 712617611..c2e38d692 100644 --- a/nuttx/ReleaseNotes +++ b/nuttx/ReleaseNotes @@ -1654,3 +1654,21 @@ the NuttX Porting Guide: block driver instance. Examples: See the call to register_blockdriver() in the function usbhost_initvolume() in the file drivers/usbhost/usbhost_storage.c. + +nuttx-5.17 +^^^^^^^^^^ + +The 64th release of NuttX, Version 5.17, was made on January 19, 2010 and is +available for download from the SourceForge website. This release follows +close on the heels of the 5.16 release and extends the USB host capabilities +first introduced in that version. + + 1. The LPC17xx USB host controller driver was extended to (1) add support + for low-speed devices, (2) handle multiple concurrent transfers on + different endpoints (still only one TD per endpoint), and (3) handle + periodic interrupt endpoint types. + 2. Add a USB host HID keyboard class driver. Now you can connect a + standard USB keyboard to NuttX and receive keyboard input for an + application. + +And other changes as detailed in the ChangeLog. |