動作環境
PetaLinux 2014.4
MicroZed
2014年のメモより。
TCPでzynqからPCへ大容量データ (e.g. 1MB) を送信する場合の考慮点としては、データの終端をPC側にどのように知らせるか?
関連情報としては、 FTPでは EOR(End of Record)=0x01, EOF(End of File)=0x02 という終端用マークがある ( 7key.jp )。
処理方法としては以下の、1、2-a、2-b の方法がありそう。
- サイズ情報をPCへ送り、PC側ではサイズ情報をもとにブロック受信を終了する
- 終端マークをPCへ送り、PC側では終端マークをもとにブロック受信を終了する
- a. FTP 終端マークの EOR や EOF を使う > データ部分はEOR, EOFにかぶらないようにBCDにする
- b. データを固定長(サイズ: X-1)に分割して、Xの部分にEOF情報を付加 (stackoverflowの質問 の質問部分 After Answers... )
- XにEOFの位置情報 [1..X-1] を入れるのだろう
- そのレコードがEOFを含まない場合は 0 とするのだろう