summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-01-20 02:41:15 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2011-01-20 02:41:15 +0000
commit6eb1af99148e33a228bee8f459b5a8bf0bfe0faf (patch)
treebacdf4bac68b3eaa7800d799225c1ad7b38524df
parent85a4296a6104cdee15aebad44732cf4d3d619710 (diff)
downloadnuttx-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/ChangeLog6
-rw-r--r--nuttx/Documentation/NuttX.html253
-rw-r--r--nuttx/ReleaseNotes18
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 &lt;spudmonkey@racsa.co.cr&gt;
-
- * 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 &lt;spudmonkey@racsa.co.cr&gt;
+
+ * 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 &lt;spudmonkey@racsa.co.cr&gt;
@@ -2099,25 +2014,7 @@ buildroot-1.8 2009-12-21 &lt;spudmonkey@racsa.co.cr&gt;
</table>
<ul><pre>
-nuttx-5.17 2011-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
-
- * 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 &lt;spudmonkey@racsa.co.cr&gt;
pascal-2.1 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
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.