EmbDev.net

Forum: FPGA, VHDL & Verilog updating FPGA firmware in the field


von Eugene (Guest)


Rate this post
useful
not useful
hi there,

I need a solution with fpga for a specific regulation purpose which may 
need to be updated with new firmware features. I am aware that xilinx 
zynq platforms provide this feature but the complexity seems high (and 
costs too). Is anyone aware of a PnPish solution to upgrade firmware in 
the field without programming adapters? For example I want to access a 
unit over a bus (Profibus or RS485) and perform a firmware upgrade using 
NI labview (I am aware of the security issues). Any ideas?

von FPGA zum Spass (Guest)


Rate this post
useful
not useful
Usually you would provide an interface to the flash PROM from your FPGA 
and handle the programming of the flash with a simple interface to the 
FPGA:

- erase flash command
- write byte/block command
- optional: read byte/block command for verify

So you just send the erase and then program the bytes(if slow is no 
problem) or blocks with sequential writes, when the last write is done.

If you already have a RS485 connection from a PC to your FPGA this is 
not too difficult.

Just make sure, when designing the PCB, that you have the correct pins 
connected between FPGA and flash.

Some interfaces are bidrectional: you can use the pins for configuration 
of the FPGA and later on read/write the flash from the FPGA. But that 
differs from one FPGA/Flash to another.

von Michael F. (mifi)


Rate this post
useful
not useful
In case you are using a Cyclone IV, take a look here:
https://www.emb4fun.de/fpga/xboot/index.html

von Mark P. (mphil)


Rate this post
useful
not useful
We use the solutions from
http://www.fpga-cores.com
for remote programming.
However these cores use Ethernet for programming. Don't know if you can 
control the FPGA Programmer from NI Labview.

von Test (Guest)


Rate this post
useful
not useful
If an Altera/Intel is also possible, there is a wonderfully simple 
possibility: 
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_altremote.pdf

Almost as godlike as Trump.

von Abe (Guest)


Rate this post
useful
not useful
Check for the XTP059 appnote at Xilinx, this also works for Kintex. 
However I am only aware of Ethernet based solution, not RS485

von Strubi (Guest)


Rate this post
useful
not useful
Hi,

I've got a solution implemented on the Xilinx Spartan6 using the ICAP 
primitive, however it's Ethernet based. It simply acts as a bootloader 
('golden' image) which will look for a valid image in the 'alternate 
bootstrap' flash area. That image can be written over Ethernet, likewise 
it would work on any other interface, it's just a matter of the 
protocol.
I've got some basic LabVIEW support going, but haven't tested in system 
upgrade in particular.
I'd strongly recommend a setup which features a CPU core. And: it's easy 
to lock yourself out.

Please log in before posting. Registration is free and takes only a minute.
Existing account
Do you have a Google/GoogleMail account? No registration required!
Log in with Google account
No account? Register here.