Move apps/examples/cdcacm to apps/system/cdcacm
This commit is contained in:
parent
edde864e45
commit
4bfd7f7f5e
@ -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).
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -34,6 +34,10 @@
|
||||
#
|
||||
############################################################################
|
||||
|
||||
ifeq ($(CONFIG_SYSTEM_CDCACM),y)
|
||||
CONFIGURED_APPS += system/cdcacm
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_SYSTEM_FREE),y)
|
||||
CONFIGURED_APPS += system/free
|
||||
endif
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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
|
43
system/cdcacm/README.txt
Executable file
43
system/cdcacm/README.txt
Executable file
@ -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.
|
@ -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 */
|
@ -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);
|
@ -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:
|
||||
|
||||
|
76
system/usbmsc/README.txt
Executable file
76
system/usbmsc/README.txt
Executable file
@ -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).
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user