While it is pretty clear that the UFM sections of the onchip Flash memory on MAX10 FPGAs are programmed with .hex files (and as the name suggests the.hex file is just a bunch of hex values), into what does a .pof file need to be converted for programming via Avalon?
What kind of raw format? I cannot find any information in the documentation, nor does the convert programming file does not allow much for the internal configuration
Sorry I forgot to mention that the idea is that the programming file will be sent via SPI from another board with an FPGA containing a processor to CFM memory space onto the flash
??? This answer is very ambiguous to me..
If I open a .pof or .sof file, they are binaries, no RAW hex formatted data.
In simple words, I want to write to the onchip flash using 2 byte payload SPI transactions...so the SW will read from a file and transmit bytes.
A .pof or .sof file cannot be used?
Which programmer are you using to program your Max 10? Is it the Quartus programmer or third party programmer. If you use the Quartus programmmer, you can directly program .sof or .pof into the Max 10. If you are using the third party programmer, you can use the .rpd file to program the Max 10 (This rpd can be generated when you convert .sof to .pof).
I want to program the CFM part of the MAX10 onchip flash memory. Access to this on-chip flash memory is across a SPI interface.
A processor on a Stratix10 will send the configuration file across SPI (from SPI master to SPI slave), and a DMA module on the MAX10 transfers this file to the MAX10 CFM or UFM, depending what w e are configuring)>
Programming UFM is easy enough via SPI, and it works in our system. A UFM file can be in the .hex format, so we have raw hex data.
But into what does the .pof/.sof file need to be converted in order to program the onchip flash memory on the MAX10 (CFM part)I.
Is it this .rpd file you mention above?
I just created on, and opened it, but that still seems to be some kind of binary?
Note that the SW running on the Stratix10 will be reading in this file, and then transmit the file across a SPI interface to the MAX10, which then used the DMA copy to transfer this again to the onchip flash...
So the SW must be able to read this file format so that it can send SPI transactions with the programming file as data bytes.
For MAX 10, I usually used .rpd (raw programming data file) as raw data.
if you have look at .map file (generated after you generate .pof file), you will see the details as below:
My current practice, if I only want to program CFM0, I will slice the rpd file address from 0x000BA000-0x00161FFF (copy data and create new .rpd file).
Then, I'll use system console(write the programmer using tcl scripts) to program the CFM0 portion in my MAX 10 device. Below are my tcl script GUI to program only certain portion of MAX address (program CFM0 area only)
I hope this will clear to you know.