diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2013-09-25 17:23:03 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2013-09-25 17:23:03 -0600 |
commit | 54cd9689cccad1949c067f40d500491851799221 (patch) | |
tree | 0413e3c52da1dafc9a3db7671b37ccc12d38c715 /apps | |
parent | 55a34548ccc4fc7aa55ad585b007c7d77d8cf937 (diff) | |
download | px4-nuttx-54cd9689cccad1949c067f40d500491851799221.tar.gz px4-nuttx-54cd9689cccad1949c067f40d500491851799221.tar.bz2 px4-nuttx-54cd9689cccad1949c067f40d500491851799221.zip |
Move apps/examples/cdcacm to apps/system/cdcacm
Diffstat (limited to 'apps')
-rw-r--r-- | apps/ChangeLog.txt | 3 | ||||
-rw-r--r-- | apps/examples/Kconfig | 1 | ||||
-rw-r--r-- | apps/examples/Make.defs | 4 | ||||
-rw-r--r-- | apps/examples/Makefile | 4 | ||||
-rw-r--r-- | apps/examples/README.txt | 44 | ||||
-rw-r--r-- | apps/system/Kconfig | 6 | ||||
-rw-r--r-- | apps/system/Make.defs | 4 | ||||
-rw-r--r-- | apps/system/Makefile | 4 | ||||
-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-x | apps/system/cdcacm/README.txt | 43 | ||||
-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/Kconfig | 2 | ||||
-rwxr-xr-x | apps/system/usbmsc/README.txt | 76 | ||||
-rw-r--r-- | apps/system/usbmsc/usbmsc.h | 8 |
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 */ |