CYGPKG_DEVS_DISK_USBMS — eCosPro Support for USB Mass Storage
This document describes the eCosPro USB Mass Storage class driver. This driver provides support for USB memory sticks, Hard disks and any other devices that supports the same protocol.
Protocol support is limited to Bulk transport only, and only the SCSI transparent command set is supported. This covers most modern devices, however very old devices may support other protocols.
CYGPKG_DEVS_DISK_USBMS package needs to be
loaded in order to use the driver. In addition the
CYGPKG_IO_USB USB package must be loaded to
provide generic USB functionality and the board target entry in
ecos.db must contain a Host Controller Driver
package and a platform configuration package in order to access the
This package also depends on support from the generic
CYGPKG_IO_DISK. If file system
support is needed, then packages like
CYGPKG_LINUX_COMPAT will need to be loaded
along with any packages that they may depend upon. Depending on the
template used to create the initial configuration some of these may be
For more information on the USB subsystem and supported classes, consult the general USB documentation.
- cdl_component CYGPKG_IO_USB_HOST
- Ensure that the host USB package has been loaded and enabled for your target so that USB mass storage can function.
- cdl_option CYGDAT_DEVS_DISK_USBMS_DISK_NAME
- This is the base device name used to access the raw disk devices in eCos, for example for mount operations. Individual mass storage devices will be named using a trailing number and partitions with a yet further trailing partition number. For example disk 0, partition 1 would be named /dev/usbms/0/1. This is the default mount point for a standard USB memory stick.
- cdl_option CYGNUM_DEVS_DISK_USBMS_MAX_TRANSFER
- This defines the maximum transfer size submitted to the device. Larger disk transfer requests will be split into smaller transfers of this size. If the USB stack or host device drivers have reduced resources, this value should be reduced to consume fewer resources for each transfer.
- cdl_option CYGNUM_DEVS_DISK_USBMS_CONTROLLER_COUNT
- This defines the number of disk controllers the USBMS driver can handle simultaneously. There is a one-to-one correspondence between controllers and USB devices, so this defines the number of USB mass storage devices that can be accessed at one time.
- cdl_option CYGNUM_DEVS_DISK_USBMS_CHANNEL_COUNT
- This defines the number of disk channels the USBMS driver can handle simultaneously. Each channel corresponds to a Logical Unit Number within a controller or device. Most USB mass storage devices contain a single LUN, so the default is to set this to the same value as the controller count. If devices with more LUNs are expected to be used regularly, then this value should be increased.
|2023-08-15||eCosPro Non-Commercial Public License|