altera_remote_update: Set application image address (Cyclone V)
Hello all,
Consider the following use case:
Hardware: Cyclone V + EPCQ256
There are three fpga configuration images stored in flash memory:
1) Factory Image
2) Application Image #1 (slot 1)
3) Application Image #2 (slot 2)
At any point in time, only one application image should be considered valid. Let's say there is a valid application in slot 1. Slot 2 is reserved for a firmware update. We don't overwrite slot 1 because we want to keep it as fallback image in case something goes wrong during the update process.
When an update was carried out successfully, slot 2 contains the valid image and slot 1 can be overwritten by the next update.
Setting an arbitrary address for loading the application image is easy enough, but is there an obvious way to select the valid image built into the altera_remote_update Megafunction?
I did not find anything in the documentations but it seems like a feature that should be part of that Megafunction.
Of course, I can always use a flash controller and read update-/startup-information from flash and write my own logic that determines the applicaiton image address based on this information, but i was hoping there would be an inbuilt solution, especially because the Megafunction already supports arbitrary image addresses.
Thank you for your reply.
I am using the page select signal in order to provide that remote update core with my desired flash address. In order to determine which application image to load, I am using a flash sector to store boot information, which i read before loading the application.
Kind regards.