技术发展到今天的信息时代,数据的存储" target="_blank">存储和传输在嵌入式系统有了越来越重要的地位。而USB是目前设计成熟、应用广泛且使用极为简捷的技术,USB传输是一种高效方便的数据传输方式。基于上述原因,本文重点论述基于USB的海量存储(USB Mass Storage)设备功能在ARM" target="_blank">ARM嵌入式系统中设计和应用。使用该设备功能,上位机可以像读写普通U盘一样对于系统采集并存储在FLASH中的数据进行读写。
海量存储设备必须符合海量存储设备类规范,该规范包括4个独立的子类规范,本设计中用到其中的2个子类规范:一是USB Mass Storage Class Bulk-Only Transport规范[5];二是USB Mass Storage Class UFI Command规范。前者定义了数据/命令/状态在USB总线上的传输方法,Bulk-Only传输规范仅仅使用Bulk端点传送数据/命令/状态。后者定义了对存储介质的操作命令,UFI命令规范基于SCSI-2和SFF-8070i命令集。这里根据SCSI-2规范[6]针对该类设备的操作命令规范,总共编写了9个命令执行函数,见下文。