Download Vinculum II User Guide

Transcript
Document Reference No.: FT_000289
Vinculum II User Guide
AN_151 User Manual Version 1.4.0-SP1
Clearance No.: FTDI# xxx
BOMS Driver
USB Host Driver
VOS Kernel
USB Host Hardware
Library Files
USBHost.a
BOMS.a
Header Files
USBHost.h
BOMS.h
MSI.h
4.2.2.2.1.1 BOMS Concepts
The BOMS driver needs to be attached to a suitable USB device to function. A USB device must have
USB Class, Subclass and Protocol values for a BOMS class device.
Reading and writing to the BOMS class driver is done through transfer blocks using the read and
write methods of the driver. The transfer block structure tells the driver what information to read and
how to read it. This provides flexibility in structuring requests to the hardware, allowing reading and
writing operations that do not block until completion and streaming operations where the application
can receive small amounts of data from a larger request.
BOMS devices have the following properties:
LUN - a Logical Unit Number, essentially a way of having multiple logical devices on one BOMS device.
Normally, there will be only one LUN but several may be present. On operations systems these can
be shown as multiple drives.
LBA - Logical Block Address, on a disk this is associated with the unique address for a sector.
Sector - the smallest addressable block of storage. All operations must occur on a complete sector.
Cluster - a grouping of 1, 2, 4 8, 16 or 32 sectors. This can be mapped to the physical storage
characteristics of the device whereas a sector can be a small section of a storage unit on a device.
Do not attempt to write directly to a disk using the BOMS driver unless you know what you are
doing.
4.2.2.2.1.2 BOMS Return Codes
Return codes are described in Mass Storage Interface Return Codes.
4.2.2.2.1.3 BOMS Read and Write Operations
Refer to the Mass Storage Interface Read and Write Operations topic for read and write transactions
on the BOMS driver.
The sector size, and hence the buffer multiple size, for the BOMS driver is 512 bytes.
4.2.2.2.1.4 BOMS IOCTL Calls
Calls to the BOMS driver's IOCTL method take the form:
typedef struct _msi_ioctl_cb_t {
unsigned char ioctl_code;
// read buffer
unsigned char *get;
// write butter
unsigned char *set;
} msi_ioctl_cb_t;
Copyright © 2011 Future Technology Devices International Ltd.
331