USB 大容量ストレージ ホストで atmel の ASF が提供する例を試して、USB フラッシュ ストレージ デバイスにファイルを送信/読み取りました。ファイルを読み取ると、1.7 MB/秒の速度が得られます。次のような多くのソリューションを試しました。
- 高速モードで実行されていることを確認し、ボードが 300 mhz で実行されていることを確認します
- F_read 関数のバッファ サイズを増やしてみたところ、2.2 MB/s まで増やすことができました。
- 仮想メモリの例でFAT32であるファイルシステム自体をテストし、読み取り操作で30MB / sを得ました(速度デバッグの目的に役立つかどうかはわかりません)
- SDカードからの読み取りを除いて、同じプログラムを使用してみました.1 MB / sの出力が得られました
- また、フル スピード モードでテストしたところ、0.66 MB/秒の出力が得られました。
- 私がテストした極端なアイデアの 1 つは、2 つのボードを実行し、1 つはホスト モードで、もう 1 つはデバイス モードで、USB の転送速度をテストしたところ、バルク モードで 1.66 MB/s の出力が得られました。(HS上で動作)
Atmel のものより最悪の結果をもたらした Keil の例を試してみました。
誰かが解決策を提案できますか? Atmel と Keil が提供する USB 通信に関するすべてのドキュメントを読みました。