Add David Hewson's corrections to the LPC214x USB device driver; Add LPC214x configuration to test the USB composite device

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4359 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2012-02-02 04:35:35 +00:00
parent db676edee2
commit 18c1a7b557
3 changed files with 76 additions and 16 deletions

View File

@ -139,8 +139,8 @@ examples/composite
CONFIG_NSH_BUILTIN_APPS
This example can be built as two NSH "built-in" commands if this option
is selected: 'msconn' will connect the USB mass storage device; 'msdis'
will disconnect the USB storage device.
is selected: 'conn' will connect the USB composite device; 'msdis'
will disconnect the USB composite device.
Configuration options unique to this example:
@ -970,11 +970,11 @@ examples/thttpd
CONFIG_EXAMPLE_THTTPD_NETMASK - Network mask
Applications using this example will need to provide an appconfig
file in the configuration driver with instruction to build applications
file in the configuration directory with instruction to build applications
like:
CONFIGURED_APPS += uiplib
CONFIGURED_APPS += thttpd
CONFIGURED_APPS += uiplib
CONFIGURED_APPS += thttpd
examples/tiff
^^^^^^^^^^^^^

View File

@ -373,6 +373,9 @@ static int dumptrace(void)
static int open_serial(void)
{
int errcode;
#ifdef CONFIG_USBDEV_TRACE
int ret;
#endif
/* Open the USB serial device for writing (blocking) */
@ -402,13 +405,15 @@ static int open_serial(void)
}
}
/* If USB tracing is enabled, then dump all collected trace data to stdout */
/* If USB tracing is enabled, then dump all collected trace data to
* stdout.
*/
#ifdef CONFIG_USBDEV_TRACE
ret = dumptrace();
if (ret < 0)
{
goto errout;
return ret;
}
#endif
}

View File

@ -1,34 +1,88 @@
netutils
^^^^^^^^
Contents
--------
- uIP Applications
- Other Network Applications
- Tips for Using Telnetd
- Tips for Using DHCPC
uIP Applications
^^^^^^^^^^^^^^^^
This directory contains most of the network applications contained
under the uIP-1.0 apps directory. As the uIP apps/README says,
these applications "are not all heavily tested." These uIP apps
include:
dhcpc - Dynamic Host Configuration Protocol (DHCP) client
resolv - uIP DNS resolver
smtp - Simple Mail Transfer Protocol (SMTP) client
webclient - HTTP web client
webserver - HTTP web server
dhcpc - Dynamic Host Configuration Protocol (DHCP) client. See
apps/include/netutils/dhcpc.h for interface information.
resolv - uIP DNS resolver. See apps/include/netutils/resolv.h
for interface information.
smtp - Simple Mail Transfer Protocol (SMTP) client. See
apps/include/netutils/smtp.h for interface information.
webclient - HTTP web client. See apps/include/netutils/webclient.h
for interface information.
webserver - HTTP web server. See apps/include/netutils/httpd.h
for interface information.
You may find additional information on these apps in the uIP forum
accessible through: http://www.sics.se/~adam/uip/index.php/Main_Page
Other Network Applications
^^^^^^^^^^^^^^^^^^^^^^^^^^
Additional applications that were not part of uIP (but which are
highly influenced by uIP) include:
dhcpd - Dynamic Host Configuration Protocol (DHCP) server
tftpc - TFTP client
dhcpd - Dynamic Host Configuration Protocol (DHCP) server. See
apps/include/netutils/dhcpd.h for interface information.
tftpc - TFTP client. See apps/include/netutils/tftp.h
for interface information.
telnetd - TELNET server. This is the Telnet logic adapted from
uIP and generalized for use as the front end to any
shell. The telnet daemon creates sessions that are
"wrapped" as character devices and mapped to stdin,
stdout, and stderr. Now the telnet session can be
inherited by spawned tasks.
ftpc - FTP client
ftpc - FTP client. See apps/include/ftpc.h for interface
information.
thttpd - This is a port of Jef Poskanzer's THTTPD HTPPD server.
See http://acme.com/software/thttpd/.
See http://acme.com/software/thttpd/ for general THTTPD
information. See apps/include/netutils/thttpd.h
for interface information. Applications using this thttpd
will need to provide an appconfig file in the configuration
directory with instruction to build applications like:
CONFIGURED_APPS += uiplib
CONFIGURED_APPS += thttpd
Tips for Using Telnetd
^^^^^^^^^^^^^^^^^^^^^^
Telnetd is set up to be the front end for a shell. The primary use of
Telnetd in NuttX is to support the NuttShell (NSH) Telnet front end. See
apps/include/netutils/telnetd.h for information about how to incorporate
Telnetd into your custom applications.
To enable and link the Telnetd daemon, you need to include the following in
in your appconfig (apps/.config) file:
CONFIGURED_APPS += uiplib
CONFIGURED_APPS += netutils/telnetd
Also if the Telnet console is enabled, make sure that you have the following
set in the NuttX configuration file or else the performance will be very bad
(because there will be only one character per TCP transfer):
CONFIG_STDIO_BUFFER_SIZE Some value >= 64
CONFIG_STDIO_LINEBUFFER=y Since Telnetd is line oriented, line buffering
is optimal.
Tips for Using DHCPC
^^^^^^^^^^^^^^^^^^^^
If you use DHCPC/D, then some special configuration network options are
required. These include:
@ -43,3 +97,4 @@ required. These include:
CONFIG_NET_BUFSIZE=650 The client must be prepared to receive
(or larger) DHCP messages of up to 576 bytes (excluding
Ethernet, IP, or UDP headers and FCS).