Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

Not applicable



I would like to send data to SPI flash (N25Q128A by Micron) via FX3 using control center and programming FX3 with USBFlashProg. I've tested this program writing, reading and erasing bytes to flash and it seems that all works as expected!


My goal is to send a file generated with ISE that is 978KB big using transfer data button on Control Center.  






1) what is the correct extension of the file to be sent to flash memory .bin   .bit   .mcs or a different one ? 


2) Reading the cyfxflashprog.h file that comes with the USBFlashProg example it says that "The maximum allowed request length is     4KB" how can i get round this value to be able to send a bigger file ?




Thanks to all



1 Reply
Not applicable

I'm not sure about the file extension. Wouldn't this depend on what the FPGA would want to read from the SPI flash?


The Fx3's function here is only to transfer the file from the PC to the SPI flash. So as far as the Fx3/USB_interface is concerned, the file type does not really matter.




The 4kB limit for control transfers is because of a lack of buffer availability in Fx3 for EP0.


If you want to transfer the whole file in one shot, you could first send a vendor request to setup the SPI etc. in Fx3 firmware, and then send out the whole file through a bulk out endpoint. In firmware, once you get a buffer of data, you can start the Spi writes and continue until you have no more data coming in from that endpoint.