Strictly necessary cookies are on by default and cannot be turned off. Functional, Performance and Tracking/targeting/sharing cookies can be turned on below based on your preferences (this banner will remain available for you to accept cookies). You may change your cookie settings by deleting cookies from your browser. Then this banner will appear again. You can learn more details about cookies HERE.
Strictly necessary (always on)
Functional, Performance and Tracking/targeting/sharing (default off)
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 ?
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.