I plan to write the firmware of our application (for a separate FPGA) to SPI flashes throught USB.
The idea is to send a fist packet for the command and the next packets will be the data.
We will use only the USB 2.0 capabilities of the FX3.
So the input packets from the USB are 512 bytes long and I can only write 256 byte long pages in FLASH.
Can I do 2 256 bytes transfers from a USB endpoint to the SPI (using extra header bytes) or do I need to first copy a whole USB packet into memory and do my DMA transfers to SPI from there ?
Description of CyU3PSpiSetBlockXfer() in FX3APIGuide.pdf is what you should be looking at.