This developer's guide for designers and programmers of mass-storage devices that use the Universal Serial Bus (USB) interface provides developers with information on how to choose storage media, interface the media to a microcontroller or other CPU, and write device firmware to access the media and perform USB communications. Comparisons of popular storage-media options to help users choose a media type for a project are included, and the types described cover hard drives and flash-memory cards such as the MultiMediaCard (MMC), Secure Digital (SD) card, and CompactFlash card. Helpful tips on developing an embedded host that can access USB mass-storage devices are also covered.
USB Mass Storage : Designing and Programming Devices and Embedded Hosts