我尝试了atmel的ASF在USB大容量存储主机上提供的示例,以便将文件发送/读取到USB闪存设备。在阅读文件时,我的速度达到1.7 MB / s,我尝试了很多解决方案,其中包括:
尝试了Keil的例子,这些例子给我的结果比Atmel的结果差。
有人可以建议解决方案吗?我已经阅读了Atmel和Keil提供的有关USB通信的所有文档。
答案 0 :(得分:1)
Atmel的大容量存储USB堆栈缺少多扇区读写,尽管SCSI层确实实现了连续获取多个扇区的正确命令(请参阅uhi_msc_scsi_read_10)。读取SCSI命令(例如uhi_msc_mem_read_10_ram和uhi_msc_mem_write_10_ram)之上的数据的抽象层只能逐扇区读取,性能非常差。
为了实现USB高速性能(~35 MB / s),您将不得不破解这些功能(以及上面的所有层)以使用多扇区读/写。