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.