05-03-2019 06:58 AM
I'm considering using XAPP1081's method of Quickboot for doing remote updates to a new hardware design. It's now 2019. XAPP1081 seems to be last updated in 2014. Should I consider some OTHER method instead?
My custom hardware will use an Artix-7. I will have access to an AC701 at a later date. For now, I have a KC705. I figure I ought to be able to get my stuff working for the KC705, then I hope the port to AC701 is pretty easy, and then again a port to our custom hardware.
I found in XAPP1081 v1,3 page 35 "KC705 Board Demonstration for QuickBoot Using SPI Flash". It talks about using iMPACT. That's an old ISE tool. I'd rather not use it. I'd rather use Vivado 2018.1 that I'm using now (or later version). The two major steps of the demo are to program the initial.mcs to the flash, and then run an update.svf in order to program an update.mcs. Well, the first step was easy. Now I'm stuck on the second step.
Do I have to run the svf for the second step, which programs only a portion of the flash, leaving misc fallback stuff beginning at address zero? Or can I simply use some feature of the Vivado hardware manager to do this?
Asssuming (yeah...) I need to run the svf, I read UG908 for Vivado 2018.1, and it explains how to create an SVF target. That actually went very fast because I already had a regular target with the memory attached for the first step. So for this second step I just selected the "copy from target" option. Then I read UG908 further for how to execute an SVF file...
First off, it warns to only use an SVF file created by Vivado. The demo is from 2013, long before Vivado. So do I have to create a new SVF? I'm not sure how to do that.
Second, I tried running the old SVF file anyway, using "execute_hw_svf" TCL command. Of course it failed.
THEREFORE, I'm left wondering... Is this a waste of time at this point, because in my actual design I'm going to be writing the update bitstream to flash using the FPGA itself (and a PCIe connection), rather than iMPACT/SVF/Vivado? If not, then how do I move forward?
05-15-2019 11:28 PM
No need to dig into the SVF feature in Vivado. It's just one way to program an image into the flash. SVF, iMPACT, Vivado all do not matter. If you plan to program and update the flash from PCIe link, or any other method, safely skip this SVF part.
What you need to learn is how to do MultiBoot from this app. Not how to program a flash.
07-30-2019 01:02 AM