Hello zhijian wu,
- When you transfer 64KB to the Host (when requested) on the USB lines the data wouldn't go as single 64KB chunk (you might already know this, Max packet size is 1KB for bulk endpoint).
- As long as data is available to FX3 (from the camera/FPGA), and as we commit the data to the USB in the firmware, the data transfer would be continuous.
You need not have 1MB RAM to perform what you require.
- The Host would request 64KB/256KB/1MB and once it gets this amount from FX3, the API in the Host would return data to the application thereby ending that particular transfer.
Hope it is clear. Let me know for any doubts.
And you can also try this to see what I have mentioned: Please load bulksrcsink example which is in FX3 SDK. After device re-enumerates, open control center and request 64KB of data on the IN endpoint.
Thanks for your conformation. It just like what I thought it should be.