Forum Discussion
Remote Update of Cyclone 10
In my application I would like to have an application configuration that is normally used on every power cycle and a golden default configuration that is used only when the application config fails to load. This is intended to allow the application config to be revised and reloaded by an external uC into the config Flash. Based on my understanding of the documentation I should be able to assign my golden config as the factory at page 0 and my application at page 1. Then change the address register to point to the application start address. This will result in the power cycle loading the application config unless that config gets corrupted and then the golden (factory) config would be loaded. All the remote update examples indicate the address register needs to be updated from the factory config, but is there a way to change this setting just the once from the Quartus software or similar? I need it to permanently point to the application address.
Thanks for your help.
18 Replies
- BCrowell
New Contributor
Fakhrul,
I am ok with my golden config being the factory image, I just want to directly load the application config and only load the factory config if that fails. It sounds like that can't be done and the system needs to load the factory config first before switching to the application config in order to properly fall back in the event of an error. I don't necessarily see the advantage of this process but I haven't used Intel/Altera FPGAs in many years, so I just may be missing something. Is there something that the factory config does that differentiates it from an application config besides initiating the loading of an application config?
Thanks
Brad
- FakhrulA_altera
Regular Contributor
Hi BCrowell,
Unfortunately, executing a direct switch from the application image to another application image (golden configuration) in the event of an error, without intermediate steps (such as going through the factory image), is not possible. This intentional design decision is made to bolster security and mitigate the risk of unauthorized access.
Regards,
Fakhrul
- BCrowell
New Contributor
Should I take the silence on this thread to mean there is no way to accomplish the simpler option I an looking for and will have to load the factory config first then load the application?
Thanks
Brad
- BCrowell
New Contributor
The standard solution just doesn't fit that nicely into my application. I just want the factory page to be a fallback golden configuration in case anything corrupts the reprogramming process of the application page. This will then still allow additional tries at programming the new application config data. If I have to load the factory config, then trigger another load of the application config, which if it failed would then cause a third configuration cycle to reload the factory config. This would take extra time to get to a point where the FPGA is operational. It also adds extra requirements on the factory config to trigger the application load and also determine if that failed previously and therefore shouldn't be loaded again. It all just makes it more convoluted and complex. I just need a simple system that loads my application at power on and falls back to the factory config if an error occurs. Is there not a way to do this without the baggage of the remote config as you describe above?
- FvM
Super Contributor
Hi,
Cyclone 10 remote upgrade logic is expecting that application image is started through factory image. Start address and parameters, e.g. watchdog are set in this step. Starting application image directly would probably prevent fallback to factory image in case of failure. What's against using the standard solution?