summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2013-09-25 17:23:03 -0600
committerGregory Nutt <gnutt@nuttx.org>2013-09-25 17:23:03 -0600
commit54cd9689cccad1949c067f40d500491851799221 (patch)
tree0413e3c52da1dafc9a3db7671b37ccc12d38c715 /apps
parent55a34548ccc4fc7aa55ad585b007c7d77d8cf937 (diff)
downloadnuttx-54cd9689cccad1949c067f40d500491851799221.tar.gz
nuttx-54cd9689cccad1949c067f40d500491851799221.tar.bz2
nuttx-54cd9689cccad1949c067f40d500491851799221.zip
Move apps/examples/cdcacm to apps/system/cdcacm
Diffstat (limited to 'apps')
-rw-r--r--apps/ChangeLog.txt3
-rw-r--r--apps/examples/Kconfig1
-rw-r--r--apps/examples/Make.defs4
-rw-r--r--apps/examples/Makefile4
-rw-r--r--apps/examples/README.txt44
-rw-r--r--apps/system/Kconfig6
-rw-r--r--apps/system/Make.defs4
-rw-r--r--apps/system/Makefile4
-rw-r--r--apps/system/cdcacm/.gitignore (renamed from apps/examples/cdcacm/.gitignore)0
-rw-r--r--apps/system/cdcacm/Kconfig (renamed from apps/examples/cdcacm/Kconfig)35
-rw-r--r--apps/system/cdcacm/Makefile (renamed from apps/examples/cdcacm/Makefile)4
-rwxr-xr-xapps/system/cdcacm/README.txt43
-rw-r--r--apps/system/cdcacm/cdcacm.h (renamed from apps/examples/cdcacm/cdcacm.h)32
-rw-r--r--apps/system/cdcacm/cdcacm_main.c (renamed from apps/examples/cdcacm/cdcacm_main.c)6
-rw-r--r--apps/system/usbmsc/Kconfig2
-rwxr-xr-xapps/system/usbmsc/README.txt76
-rw-r--r--apps/system/usbmsc/usbmsc.h8
17 files changed, 179 insertions, 97 deletions
diff --git a/apps/ChangeLog.txt b/apps/ChangeLog.txt
index cb8e0976c..02130e225 100644
--- a/apps/ChangeLog.txt
+++ b/apps/ChangeLog.txt
@@ -196,7 +196,7 @@
backspace or a DEL character as a backspace (i.e., deleting the character
to the left of the cursor). This makes NSH less dependent on particular
keyboard mappings of the Backspace key. Submitted by Mike Smith.
- * apps/examples/cdcacm: An example that illustrates how the CDC/ACM driver
+ * apps/system/cdcacm: An example that illustrates how the CDC/ACM driver
may to connected and disconnected through software control.
* apps/examples/nsh/nsh_main.c: If available, call up_cxxinitialize() to
initialize all statically defined C++ classes.
@@ -664,3 +664,4 @@
* apps/system/stackmonitor: Add a daemon that can be used to
monitor stack usage by all threads (2013-9-24).
* system/usbmsc: Move examples/usbmsc to system/usbmsc (2013-9-25).
+ * system/cdcacm: Move examples/cdcacm to system/cdcacm (2013-9-25).
diff --git a/apps/examples/Kconfig b/apps/examples/Kconfig
index adbb54a7e..3f699148d 100644
--- a/apps/examples/Kconfig
+++ b/apps/examples/Kconfig
@@ -7,7 +7,6 @@ source "$APPSDIR/examples/adc/Kconfig"
source "$APPSDIR/examples/buttons/Kconfig"
source "$APPSDIR/examples/can/Kconfig"
source "$APPSDIR/examples/cc3000/Kconfig"
-source "$APPSDIR/examples/cdcacm/Kconfig"
source "$APPSDIR/examples/composite/Kconfig"
source "$APPSDIR/examples/cxxtest/Kconfig"
source "$APPSDIR/examples/dhcpd/Kconfig"
diff --git a/apps/examples/Make.defs b/apps/examples/Make.defs
index a5e4dc087..944739a12 100644
--- a/apps/examples/Make.defs
+++ b/apps/examples/Make.defs
@@ -50,10 +50,6 @@ ifeq ($(CONFIG_EXAMPLES_CC3000BASIC),y)
CONFIGURED_APPS += examples/cc3000
endif
-ifeq ($(CONFIG_EXAMPLES_CDCACM),y)
-CONFIGURED_APPS += examples/cdcacm
-endif
-
ifeq ($(CONFIG_EXAMPLES_COMPOSITE),y)
CONFIGURED_APPS += examples/composite
endif
diff --git a/apps/examples/Makefile b/apps/examples/Makefile
index 584531ddf..daa944e89 100644
--- a/apps/examples/Makefile
+++ b/apps/examples/Makefile
@@ -37,7 +37,7 @@
# Sub-directories
-SUBDIRS = adc buttons can cc3000 cdcacm composite cxxtest dhcpd discover elf
+SUBDIRS = adc buttons can cc3000 composite cxxtest dhcpd discover elf
SUBDIRS += flash_test ftpc ftpd hello helloxx hidkbd igmp json keypadtest
SUBDIRS += lcdrw mm modbus mount mtdpart nettest nrf24l01_term nsh null
SUBDIRS += nx nxconsole nxffs nxflat nxhello nximage nxlines nxtext ostest
@@ -53,7 +53,7 @@ SUBDIRS += xmlrpc
CNTXTDIRS = pwm
ifeq ($(CONFIG_NSH_BUILTIN_APPS),y)
-CNTXTDIRS += adc can cc3000 cdcacm composite cxxtest dhcpd discover flash_test
+CNTXTDIRS += adc can cc3000 composite cxxtest dhcpd discover flash_test
CNTXTDIRS += ftpd hello helloxx json keypadtestmodbus lcdrw mtdpart nettest
CNTXTDIRS += nx nxhello nximage nxlines nxtext nrf24l01_term ostest relays
CNTXTDIRS += qencoder slcd smart_test tcpecho telnetd tiff touchscreen
diff --git a/apps/examples/README.txt b/apps/examples/README.txt
index 02e38061c..29dd6fa7d 100644
--- a/apps/examples/README.txt
+++ b/apps/examples/README.txt
@@ -131,50 +131,6 @@ examples/cc3000
This is a test for the TI CC3000 wireless networking module.
-examples/cdcacm
-^^^^^^^^^^^^^^^
-
- This very simple example shows how a USB CDC/ACM serial can be dynamically
- connected and disconnected from a host. This example can only be used as
- an NSH built-int command. If built-in, then two new NSH commands will be
- supported:
-
- 1. sercon - Connect the CDC/ACM serial device
- 2. serdis - Disconnect the CDC/ACM serial device
-
- Configuration prequisites (not complete):
-
- CONFIG_USBDEV=y : USB device support must be enabled
- CONFIG_CDCACM=y : The CDC/ACM driver must be built
- CONFIG_NSH_BUILTIN_APPS : NSH built-in application support must be enabled
-
- Configuration options specific to this example:
-
- CONFIG_EXAMPLES_CDCACM_DEVMINOR : The minor number of the CDC/ACM device.
- : i.e., the 'x' in /dev/ttyACMx
-
- If CONFIG_USBDEV_TRACE is enabled (or CONFIG_DEBUG and CONFIG_DEBUG_USB, or
- CONFIG_USBDEV_TRACE), then the example code will also initialize the USB trace
- output. The amount of trace output can be controlled using:
-
- CONFIG_EXAMPLES_CDCACM_TRACEINIT
- Show initialization events
- CONFIG_EXAMPLES_CDCACM_TRACECLASS
- Show class driver events
- CONFIG_EXAMPLES_CDCACM_TRACETRANSFERS
- Show data transfer events
- CONFIG_EXAMPLES_CDCACM_TRACECONTROLLER
- Show controller events
- CONFIG_EXAMPLES_CDCACM_TRACEINTERRUPTS
- Show interrupt-related events.
-
- Note: This example is only enables or disable USB CDC/ACM via the NSH
- 'sercon' and 'serdis' command. It will enable and disable tracing per
- the settings before enabling and after disabling the CDC/ACM device. It
- will not, however, monitor buffered trace data in the interim. If
- CONFIG_USBDEV_TRACE is defined (and the debug options are not), other
- application logic will need to monitor the buffered trace data.
-
examples/composite
^^^^^^^^^^^^^^^^^^
diff --git a/apps/system/Kconfig b/apps/system/Kconfig
index 22d212b12..c2eec877b 100644
--- a/apps/system/Kconfig
+++ b/apps/system/Kconfig
@@ -3,6 +3,10 @@
# see misc/tools/kconfig-language.txt.
#
+menu "USB CDC/ACM Class Commands"
+source "$APPSDIR/system/cdcacm/Kconfig"
+endmenu
+
menu "Custom Free Memory Command"
source "$APPSDIR/system/free/Kconfig"
endmenu
@@ -51,7 +55,7 @@ menu "Stack Monitor"
source "$APPSDIR/system/stackmonitor/Kconfig"
endmenu
-menu "USB Mass Storage Class"
+menu "USB Mass Storage Class Commands"
source "$APPSDIR/system/usbmsc/Kconfig"
endmenu
diff --git a/apps/system/Make.defs b/apps/system/Make.defs
index c12a77af0..a314220aa 100644
--- a/apps/system/Make.defs
+++ b/apps/system/Make.defs
@@ -34,6 +34,10 @@
#
############################################################################
+ifeq ($(CONFIG_SYSTEM_CDCACM),y)
+CONFIGURED_APPS += system/cdcacm
+endif
+
ifeq ($(CONFIG_SYSTEM_FREE),y)
CONFIGURED_APPS += system/free
endif
diff --git a/apps/system/Makefile b/apps/system/Makefile
index 01008dbdc..46ceccdda 100644
--- a/apps/system/Makefile
+++ b/apps/system/Makefile
@@ -37,8 +37,8 @@
# Sub-directories containing system task
-SUBDIRS = flash_eraseall free i2c install poweroff ramtest ramtron readline
-SUBDIRS += sdcard stackmonitor sysinfo usbmonitor usbmsc zmodem
+SUBDIRS = cdcacm flash_eraseall free i2c install poweroff ramtest ramtron
+SUBDIRS += readline sdcard stackmonitor sysinfo usbmonitor usbmsc zmodem
# Create the list of installed runtime modules (INSTALLED_DIRS)
diff --git a/apps/examples/cdcacm/.gitignore b/apps/system/cdcacm/.gitignore
index fa1ec7579..fa1ec7579 100644
--- a/apps/examples/cdcacm/.gitignore
+++ b/apps/system/cdcacm/.gitignore
diff --git a/apps/examples/cdcacm/Kconfig b/apps/system/cdcacm/Kconfig
index fcb7a1e01..b85b15a9e 100644
--- a/apps/examples/cdcacm/Kconfig
+++ b/apps/system/cdcacm/Kconfig
@@ -3,16 +3,19 @@
# see misc/tools/kconfig-language.txt.
#
-config EXAMPLES_CDCACM
- bool "CDC/ACM example"
+config SYSTEM_CDCACM
+ bool "CDC/ACM class controls"
default n
- depends on CDCACM
+ depends on CDCACM && !KERNEL_BUILD
---help---
- Enable the USB CDC/ACM class driver example
+ Enable the USB CDC/ACM class controls. These controls include:
-if EXAMPLES_CDCACM
+ sercon: Connect the mass storage device to the host
+ serdis: Disconnect the mass storage device to the host
-config EXAMPLES_CDCACM_DEVMINOR
+if SYSTEM_CDCACM
+
+config SYSTEM_CDCACM_DEVMINOR
int "CDC/ACM Minor Device Number"
default 0
---help---
@@ -20,53 +23,53 @@ config EXAMPLES_CDCACM_DEVMINOR
For example, N in /dev/ttyACMN. Used for registering the serial
driver. Default is zero.
-config EXAMPLES_CDCACM_TRACEINIT
+config SYSTEM_CDCACM_TRACEINIT
bool "USB Trace Initialization"
default n
depends on USBDEV_TRACE || DEBUG_USB
---help---
If USBDEV_TRACE is enabled (or DEBUG and DEBUG_USB),
- then the example code will also manage the USB trace output. The
+ then the add-on code will also manage the USB trace output. The
amount of trace output can be controlled this configuration value:
This setting will show USB initialization events
-config EXAMPLES_CDCACM_TRACECLASS
+config SYSTEM_CDCACM_TRACECLASS
bool "USB Trace Class"
default n
depends on USBDEV_TRACE || DEBUG_USB
---help---
If USBDEV_TRACE is enabled (or DEBUG and DEBUG_USB),
- then the example code will also manage the USB trace output. The
+ then the add-on code will also manage the USB trace output. The
amount of trace output can be controlled this configuration value:
This setting will show USB class driver events
-config EXAMPLES_CDCACM_TRACETRANSFERS
+config SYSTEM_CDCACM_TRACETRANSFERS
bool "USB Trace Transfers"
default n
depends on USBDEV_TRACE || DEBUG_USB
---help---
If USBDEV_TRACE is enabled (or DEBUG and DEBUG_USB),
- then the example code will also manage the USB trace output. The
+ then the add-on code will also manage the USB trace output. The
amount of trace output can be controlled this configuration value:
This setting will show USB data transfer events
-config EXAMPLES_CDCACM_TRACECONTROLLER
+config SYSTEM_CDCACM_TRACECONTROLLER
bool "USB Trace Device Controller Events"
default n
depends on USBDEV_TRACE || DEBUG_USB
---help---
If USBDEV_TRACE is enabled (or DEBUG and DEBUG_USB),
- then the example code will also manage the USB trace output. The
+ then the add-on code will also manage the USB trace output. The
amount of trace output can be controlled this configuration value:
This setting will show USB device controller events
-config EXAMPLES_CDCACM_TRACEINTERRUPTS
+config SYSTEM_CDCACM_TRACEINTERRUPTS
bool "USB Trace Device Controller Interrupt Events"
default n
depends on USBDEV_TRACE || DEBUG_USB
---help---
If USBDEV_TRACE is enabled (or DEBUG and DEBUG_USB),
- then the example code will also manage the USB trace output. The
+ then the add-on code will also manage the USB trace output. The
amount of trace output can be controlled this configuration value:
This setting will show USB device controller interrupt-related events.
diff --git a/apps/examples/cdcacm/Makefile b/apps/system/cdcacm/Makefile
index 2cf3a107f..b72bb9fae 100644
--- a/apps/examples/cdcacm/Makefile
+++ b/apps/system/cdcacm/Makefile
@@ -1,5 +1,5 @@
############################################################################
-# apps/examples/cdcacm/Makefile
+# apps/system/cdcacm/Makefile
#
# Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org>
@@ -37,7 +37,7 @@
-include $(TOPDIR)/Make.defs
include $(APPDIR)/Make.defs
-# USB CDC/ACM serial mass storage example
+# USB CDC/ACM serial mass storage add-on
ASRCS =
CSRCS = cdcacm_main.c
diff --git a/apps/system/cdcacm/README.txt b/apps/system/cdcacm/README.txt
new file mode 100755
index 000000000..a428cb318
--- /dev/null
+++ b/apps/system/cdcacm/README.txt
@@ -0,0 +1,43 @@
+system/cdcacm
+^^^^^^^^^^^^^^^
+
+ This very simple add-on allows the USB CDC/ACM serial device can be dynamically
+ connected and disconnected from a host. This add-on can only be used as
+ an NSH built-in command. If built-in, then two new NSH commands will be
+ supported:
+
+ 1. sercon - Connect the CDC/ACM serial device
+ 2. serdis - Disconnect the CDC/ACM serial device
+
+ Configuration prequisites (not complete):
+
+ CONFIG_USBDEV=y : USB device support must be enabled
+ CONFIG_CDCACM=y : The CDC/ACM driver must be built
+ CONFIG_NSH_BUILTIN_APPS : NSH built-in application support must be enabled
+
+ Configuration options specific to this add-on:
+
+ CONFIG_SYSTEM_CDCACM_DEVMINOR : The minor number of the CDC/ACM device.
+ : i.e., the 'x' in /dev/ttyACMx
+
+ If CONFIG_USBDEV_TRACE is enabled (or CONFIG_DEBUG and CONFIG_DEBUG_USB, or
+ CONFIG_USBDEV_TRACE), then the add-on code will also initialize the USB trace
+ output. The amount of trace output can be controlled using:
+
+ CONFIG_SYSTEM_CDCACM_TRACEINIT
+ Show initialization events
+ CONFIG_SYSTEM_CDCACM_TRACECLASS
+ Show class driver events
+ CONFIG_SYSTEM_CDCACM_TRACETRANSFERS
+ Show data transfer events
+ CONFIG_SYSTEM_CDCACM_TRACECONTROLLER
+ Show controller events
+ CONFIG_SYSTEM_CDCACM_TRACEINTERRUPTS
+ Show interrupt-related events.
+
+ Note: This add-on is only enables or disable USB CDC/ACM via the NSH
+ 'sercon' and 'serdis' command. It will enable and disable tracing per
+ the settings before enabling and after disabling the CDC/ACM device. It
+ will not, however, monitor buffered trace data in the interim. If
+ CONFIG_USBDEV_TRACE is defined (and the debug options are not), other
+ application logic will need to monitor the buffered trace data.
diff --git a/apps/examples/cdcacm/cdcacm.h b/apps/system/cdcacm/cdcacm.h
index 1b3b2511c..bc9cf2f9e 100644
--- a/apps/examples/cdcacm/cdcacm.h
+++ b/apps/system/cdcacm/cdcacm.h
@@ -1,5 +1,5 @@
/****************************************************************************
- * examples/cdcacm/cdcacm.h
+ * system/cdcacm/cdcacm.h
*
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -33,8 +33,8 @@
*
****************************************************************************/
-#ifndef __EXAMPLES_CDCACM_CDCACM_H
-#define __EXAMPLES_CDCACM_CDCACM_H
+#ifndef __SYSTEM_CDCACM_CDCACM_H
+#define __SYSTEM_CDCACM_CDCACM_H
/****************************************************************************
* Included Files
@@ -61,18 +61,18 @@
#endif
#ifndef CONFIG_NSH_BUILTIN_APPS
-# error "This example can only be built as an NSH built-in application"
+# error "This add-on can only be built as an NSH built-in application"
#endif
/* Default configuration values */
-#ifndef CONFIG_EXAMPLES_CDCACM_DEVMINOR
-# define CONFIG_EXAMPLES_CDCACM_DEVMINOR 0
+#ifndef CONFIG_SYSTEM_CDCACM_DEVMINOR
+# define CONFIG_SYSTEM_CDCACM_DEVMINOR 0
#endif
/* Trace Configuration ******************************************************/
-#ifdef CONFIG_EXAMPLES_CDCACM_TRACEINIT
+#ifdef CONFIG_SYSTEM_CDCACM_TRACEINIT
# define TRACE_INIT_BITS (TRACE_INIT_BIT)
#else
# define TRACE_INIT_BITS (0)
@@ -80,26 +80,26 @@
#define TRACE_ERROR_BITS (TRACE_DEVERROR_BIT|TRACE_CLSERROR_BIT)
-#ifdef CONFIG_EXAMPLES_CDCACM_TRACECLASS
+#ifdef CONFIG_SYSTEM_CDCACM_TRACECLASS
# define TRACE_CLASS_BITS (TRACE_CLASS_BIT|TRACE_CLASSAPI_BIT|TRACE_CLASSSTATE_BIT)
#else
# define TRACE_CLASS_BITS (0)
#endif
-#ifdef CONFIG_EXAMPLES_CDCACM_TRACETRANSFERS
+#ifdef CONFIG_SYSTEM_CDCACM_TRACETRANSFERS
# define TRACE_TRANSFER_BITS (TRACE_OUTREQQUEUED_BIT|TRACE_INREQQUEUED_BIT|TRACE_READ_BIT|\
TRACE_WRITE_BIT|TRACE_COMPLETE_BIT)
#else
# define TRACE_TRANSFER_BITS (0)
#endif
-#ifdef CONFIG_EXAMPLES_CDCACM_TRACECONTROLLER
+#ifdef CONFIG_SYSTEM_CDCACM_TRACECONTROLLER
# define TRACE_CONTROLLER_BITS (TRACE_EP_BIT|TRACE_DEV_BIT)
#else
# define TRACE_CONTROLLER_BITS (0)
#endif
-#ifdef CONFIG_EXAMPLES_CDCACM_TRACEINTERRUPTS
+#ifdef CONFIG_SYSTEM_CDCACM_TRACEINTERRUPTS
# define TRACE_INTERRUPT_BITS (TRACE_INTENTRY_BIT|TRACE_INTDECODE_BIT|TRACE_INTEXIT_BIT)
#else
# define TRACE_INTERRUPT_BITS (0)
@@ -132,14 +132,14 @@
* Public Types
****************************************************************************/
-/* All global variables used by this example are packed into a structure in
+/* All global variables used by this add-on are packed into a structure in
* order to avoid name collisions.
*/
struct cdcacm_state_s
{
- /* This is the handle that references to this particular USB storage driver
- * instance. It is only needed if the USB mass storage device example is
+ /* This is the handle that references to this particular USB CDC/ACM driver
+ * instance. It is only needed if the USB CDC/ACM device add-on is
* built using CONFIG_NSH_BUILTIN_APPS. In this case, the value
* of the driver handle must be remembered between the 'sercon' and 'msdis'
* commands.
@@ -152,7 +152,7 @@ struct cdcacm_state_s
* Public Data
****************************************************************************/
-/* All global variables used by this example are packed into a structure in
+/* All global variables used by this add-on are packed into a structure in
* order to avoid name collisions.
*/
@@ -162,4 +162,4 @@ extern struct cdcacm_state_s g_cdcacm;
* Public Functions
****************************************************************************/
-#endif /* __EXAMPLES_CDCACM_CDCACM_H */
+#endif /* __SYSTEM_CDCACM_CDCACM_H */
diff --git a/apps/examples/cdcacm/cdcacm_main.c b/apps/system/cdcacm/cdcacm_main.c
index aeb7a9e74..724e8fd14 100644
--- a/apps/examples/cdcacm/cdcacm_main.c
+++ b/apps/system/cdcacm/cdcacm_main.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * examples/cdcacm/cdcacm_main.c
+ * system/cdcacm/cdcacm_main.c
*
* Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
@@ -57,7 +57,7 @@
* Private Data
****************************************************************************/
-/* All global variables used by this example are packed into a structure in
+/* All global variables used by this add-on are packed into a structure in
* order to avoid name collisions.
*/
@@ -102,7 +102,7 @@ int sercon_main(int argc, char *argv[])
/* Initialize the USB CDC/ACM serial driver */
message("sercon: Registering CDC/ACM serial driver\n");
- ret = cdcacm_initialize(CONFIG_EXAMPLES_CDCACM_DEVMINOR, &g_cdcacm.handle);
+ ret = cdcacm_initialize(CONFIG_SYSTEM_CDCACM_DEVMINOR, &g_cdcacm.handle);
if (ret < 0)
{
message("sercon: ERROR: Failed to create the CDC/ACM serial device: %d\n", -ret);
diff --git a/apps/system/usbmsc/Kconfig b/apps/system/usbmsc/Kconfig
index d78f8a8ac..7be540e33 100644
--- a/apps/system/usbmsc/Kconfig
+++ b/apps/system/usbmsc/Kconfig
@@ -6,7 +6,7 @@
config SYSTEM_USBMSC
bool "USB mass storage class controls"
default n
- depends on USBMSC
+ depends on USBMSC && !KERNEL_BUILD
---help---
Enable the USB mass storage class controls. These controls include:
diff --git a/apps/system/usbmsc/README.txt b/apps/system/usbmsc/README.txt
new file mode 100755
index 000000000..6734a4ed8
--- /dev/null
+++ b/apps/system/usbmsc/README.txt
@@ -0,0 +1,76 @@
+system/usbmsc
+^^^^^^^^^^^^^^^
+
+ This add-on registers a block device driver, then exports the block
+ the device using the USB storage class driver. In order to use this
+ add-on, your board-specific logic must provide the function:
+
+ void usbmsc_archinitialize(void);
+
+ This function will be called by the system/usbmsc in order to
+ do the actual registration of the block device drivers. For examples
+ of the implementation of usbmsc_archinitialize() see
+ configs/mcu123-lpc124x/src/up_usbmsc.c or
+ configs/stm3210e-eval/src/usbmsc.c
+
+ Configuration options:
+
+ CONFIG_NSH_BUILTIN_APPS
+ This add-on 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.
+ CONFIG_SYSTEM_USBMSC_NLUNS
+ Defines the number of logical units (LUNs) exported by the USB storage
+ driver. Each LUN corresponds to one exported block driver (or partition
+ of a block driver). May be 1, 2, or 3. Default is 1.
+ CONFIG_SYSTEM_USBMSC_DEVMINOR1
+ The minor device number of the block driver for the first LUN. For
+ example, N in /dev/mmcsdN. Used for registering the block driver. Default
+ is zero.
+ CONFIG_SYSTEM_USBMSC_DEVPATH1
+ The full path to the registered block driver. Default is "/dev/mmcsd0"
+ CONFIG_SYSTEM_USBMSC_DEVMINOR2 and CONFIG_SYSTEM_USBMSC_DEVPATH2
+ Similar parameters that would have to be provided if CONFIG_SYSTEM_USBMSC_NLUNS
+ is 2 or 3. No defaults.
+ CONFIG_SYSTEM_USBMSC_DEVMINOR3 and CONFIG_SYSTEM_USBMSC_DEVPATH3
+ Similar parameters that would have to be provided if CONFIG_SYSTEM_USBMSC_NLUNS
+ is 3. No defaults.
+ CONFIG_SYSTEM_USBMSC_DEBUGMM
+ Enables some debug tests to check for memory usage and memory leaks.
+
+ If CONFIG_USBDEV_TRACE is enabled (or CONFIG_DEBUG and CONFIG_DEBUG_USB), then
+ the code will also manage the USB trace output. The amount of trace output
+ can be controlled using:
+
+ CONFIG_SYSTEM_USBMSC_TRACEINIT
+ Show initialization events
+ CONFIG_SYSTEM_USBMSC_TRACECLASS
+ Show class driver events
+ CONFIG_SYSTEM_USBMSC_TRACETRANSFERS
+ Show data transfer events
+ CONFIG_SYSTEM_USBMSC_TRACECONTROLLER
+ Show controller events
+ CONFIG_SYSTEM_USBMSC_TRACEINTERRUPTS
+ Show interrupt-related events.
+
+ Error results are always shown in the trace output
+
+ NOTE 1: When built as an NSH add-on command (CONFIG_NSH_BUILTIN_APPS=y),
+ Caution should be used to assure that the SD drive (or other storage device) is
+ not in use when the USB storage device is configured. Specifically, the SD
+ driver should be unmounted like:
+
+ nsh> mount -t vfat /dev/mmcsd0 /mnt/sdcard # Card is mounted in NSH
+ ...
+ nsh> umount /mnd/sdcard # Unmount before connecting USB!!!
+ nsh> msconn # Connect the USB storage device
+ ...
+ nsh> msdis # Disconnect USB storate device
+ nsh> mount -t vfat /dev/mmcsd0 /mnt/sdcard # Restore the mount
+
+ Failure to do this could result in corruption of the SD card format.
+
+ NOTE 2: This add-on used internal USB device driver interfaces. As such,
+ it relies on internal OS interfaces that are not normally available to a
+ user-space program. As a result, this add-on cannot be used if a
+ NuttX is built as a protected, supervisor kernel (CONFIG_NUTTX_KERNEL).
diff --git a/apps/system/usbmsc/usbmsc.h b/apps/system/usbmsc/usbmsc.h
index c829473e4..1a0afb9a2 100644
--- a/apps/system/usbmsc/usbmsc.h
+++ b/apps/system/usbmsc/usbmsc.h
@@ -1,7 +1,7 @@
/****************************************************************************
* system/usbmsc/usbmsc.h
*
- * Copyright (C) 2008-2009, 2012 Gregory Nutt. All rights reserved.
+ * Copyright (C) 2008-2009, 2012-2013 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
*
* Redistribution and use in source and binary forms, with or without
@@ -33,8 +33,8 @@
*
****************************************************************************/
-#ifndef __EXAMPLES_USBSTORAGE_USBMSC_H
-#define __EXAMPLES_USBSTORAGE_USBMSC_H
+#ifndef __SYSTEM_USBMSC_USBMSC_H
+#define __SYSTEM_USBMSC_USBMSC_H
/****************************************************************************
* Included Files
@@ -177,4 +177,4 @@ extern struct usbmsc_state_s g_usbmsc;
extern int usbmsc_archinitialize(void);
-#endif /* __EXAMPLES_USBSTORAGE_USBMSC_H */
+#endif /* __SYSTEM_USBMSC_USBMSC_H */