--- Quote Start ---
I can't change the rbf header format at will because it must be understood by the hardware FPGA configuration controller. RSU controller "pof checking" is an optional consistency check step before rebooting the new application image.
--- Quote End ---
I must be misunderstanding.
Your request above for details on the Cyclone V .RBF header implied to me that your RSU controller was something you had control of, eg., either NIOS II code or a hardware implementation, otherwise how would you be able to modify the code to handle Cyclone V .RFB files?
--- Quote Start ---
But an image for a different instrument using the same FPGA type could be loaded accidentally. The additional usercode validation reduces the risk to boot a wrong image.
--- Quote End ---
Right, but if you do control the RSU code, and you use mkimage to append another header to the .RBF file, then that new header can contain additional consistency checks. The RSU controller then strips/ignores the 64-byte mkimage header, and sends the .RBF file as normal.
I was paranoid about misloading images on the four FPGAs on the CARMA board I linked to above. Each of the FPGAs has a virtually identical pin out, however, if the .RBFs for the FPGAs were loaded out of sequence (eg., due to a file naming error), then I wanted to make sure no damage could occur. What I did was to add resistor shorts under the FPGA BGA so that each FPGA had a unique ID code. Each FPGA design then contains an ID register indicating the intended device. The FPGA control logic (which controls the output tri-state logic) checks that the FPGA ID register (intended FPGA ID) matches the pin strapping on the device (actual ID), and if they do not match, the outputs do not become active, so there is no chance of driver conflict. The CPU interface is identical between all devices, so that logic is not disabled if the device is misloaded, and this allows the PowerPC to confirm that IDs match and that the FPGAs can be enabled.
--- Quote Start ---
Alternatively, additional information can be put in an unused configuration image part. But it would require additional manipulation of image files.
--- Quote End ---
Or perhaps at the end of an image? But even in that case, you would need to make sure that the RSU controller ignored bytes at the end of the file. If you can modify the RSU controller to do that, then you can also support a header appended to the beginning of the .rbf.
Cheers,
Dave