I have EPCS chip attached to FPGA, and have several images in it. Factory is at 0, loaded on power up. Then factory image automatically loads image located at page 8. It works properly. For this I just set remote_update accordingly on factory image start *if reconfiguration status bits are read as 0* (thus this reconfig to image at 8 happens only once, and system does not cycle if there's application image load error).Now I put another image at address 0x10, and trying to reconfigure from application image loaded from 0x8 to this at 0x10. It does not work as I expected, because it seems I was wrong. Looking through scarce documentation I see that re-configuration should be performed through factory image. Documentation says: --- Quote Start --- When Cyclone III devices successfully load the application image, the soft logic in the application image determines the arrival of remote system update. When a remote system update arrives, the soft logic receives the incoming data, writes it to the memory configuration memory devices, and triggers the system to load the factory reconfiguration. The factory image reads the remote system upgrade status register, determines the valid application image to load, writes the remote system upgrade control register accordingly, and initiates system reconfiguration. --- Quote End --- source (http://www.altera.com/content/dam/altera-www/global/en_us/pdfs/literature/an/an521.pdf) at page 3. I wonder how factory image determines valid application image to load, and how application image, which reconfigured to factory one, tells factory image which application image should be loaded. Please advise. Edit: this document (http://www.altera.com/en_us/pdfs/literature/ug/ug_altremote.pdf), pages 36-37, says it is possible to *read* current image boot address, but writing application boot address can be performed only in factory mode. Thus how I, from application 1, tell factory config that it should load application 2? Is there any register to pass info in?
Information about next image to load has to be written into configuration controller register and is retrieved during reboot, review device handbook and application notes.
So, you are working with cyclone iii as I understood for your project requirement, and I direct give you the exact info. on cyclone iii>>>https://www.altera.com/en_us/pdfs/literature/hb/cyc3/cyc3_ciii51016.pdf ; pg78 the flow chart already indicate you can't load app 2 directly from app 1, but you can from app 1 reload a different application which start back from factory configuration through set the register, this is basically restarting the whole process since beginning.But for Arria 10, yes you can do so, because after loading app 1 and at user mode, you can direct jump to load app 2. Best Regards, Tzi Khang, Lim (This message was posted on behalf of Intel Corporation)