Have you seen this USB device?
The MAX3421E USB peripheral/host controller contains the digital logic and analog circuitry necessary to implement a full-speed USB peripheral or a full-/low-speed host compliant to USB specification rev 2.0. A built-in transceiver features ±15kV ESD protection and programmable USB connect and disconnect. An internal serial interface engine (SIE) handles low-level USB protocol details such as error checking and bus retries. The MAX3421E operates using a register set accessed by an SPI™ interface that operates up to 26MHz. Any SPI master (microprocessor, ASIC, DSP, etc.) can add USB peripheral or host functionality using the simple 3- or 4-wire SPI interface.
The MAX3421E makes the vast collection of USB peripherals available to any microprocessor, ASIC, or DSP when it operates as a USB host. For point-to-point solutions, for example, a USB keyboard or mouse interfaced to an embedded system, the firmware that operates the MAX3421E can be simple since only a targeted device is supported.
Internal level translators allow the SPI interface to run at a system voltage between 1.4V and 3.6V. USB-timed operations are done inside the MAX3421E with interrupts provided at completion so an SPI master does not need timers to meet USB timing requirements. The MAX3421E includes eight general-purpose inputs and outputs so any microprocessor that uses I/O pins to implement the SPI interface can reclaim the I/O pins and gain additional ones.
Here is a company that offers USB MASS Storage Host and Device drivers for embedded systems and they advertise it has a small memory footprint.
http://www.jungo.com/embedded_usb_mass_storage.html
Not sure what the cost is. They do have a form at the bottom of the page to request more info though.
rocco wrote:
Hi, Shirley:
What you are considering is a lot harder than it sounds.
The reason is that it is much easier to create a USB device than it is to create a USB host. The code to provide a USB host and the USB-disk file system may be larger than 9S12B128 can support. All of the Freescale USB micros are designed to be devices, not hosts.
There are USB-On-The-Go devices coming to market, and that may help in you situation. But I don't know if USB-OTG support flash disks.
Another type of memory card (Compact-flash card or secure-digital card) may be a lot easier. I'm doing this now with the HC08GP32, after the customer asked for a USB flash disk, and I said NFW.
Hope that helps (but maybe not).