2012-03-15 12 views
1

私はシリアルインターフェイスを使って、私が開発したFPGAプロジェクトにファイルを送信しています。一度にファイル全体またはバイトを読み取る

プログラムは1つのパケット(16バイト)をFPGAに送信し、受信確認の際にプログラムは次のパケットを送信する必要があります。

私の質問は次のとおりです。

ファイルを読み込むときには、それはメモリ/バイト配列にファイル全体を読み取るために練習しているのですか?

プログラムは、一度にファイルから16バイトだけを読み込み、次のパケットを送信する必要があるときには次の16バイトを読みますか?あなたは以上16バイトを必要としないことを考えるとアドバンス、 マイク

+3

ファイルのサイズはどれくらいですか? (ちょっと答えに影響する...) –

+0

もっと具体的にする必要があります。あなたのFPGA上のあなたの記憶は何ですか?あなたの標準ファイルサイズは?システムには他のことが起こっていますか? – scottheckel

+0

こんにちはすべて、申し訳ありません - 私は述べたはずです。ファイルは最大50KBです。 – TheEngineerer

答えて

0

おかげで、最も簡単なコードは一度に16のバイトを読み取るコードになり、それらを使用して、さらに16を読み込みます。

ファイル全体を一度に読み込もうとすると、複雑なコードを追加する必要があります。バッファリングコードと配列の最後の境界チェックを追加する必要があります。あなたはそれを必要としません。単純にする;あなたが必要とするものを読んで、それを使ってからもっと読む。

+0

ありがとうございました、私は16バイトのアプローチで一度に行くつもりです。 – TheEngineerer

0

最も一般的な解決策は、一度に16バイト(または多くの場合、処理する必要があります)を読み取ることです。

ファイルが非常に大きい場合は、ファイル全体の読み取りが悪化する可能性があり、極端に大きい場合はOutOfMemoryExceptionが発生する可能性があります。

ファイルが比較的小さい場合、おそらく2つのテクニックの違いに気付かないでしょう。

+0

ありがとうございました、私は16バイトのアプローチで時間をとるつもりです。 – TheEngineerer

関連する問題