07-27-2006 07:23 AM
07-29-2006 03:44 PM
Hello tprohas,
The only thing that is stored in the FPGA flash is the current bitfile of the FPGA. From the LabVIEW help for the open FPGA VI reference, you can see that this VI should download a bitfile to the flash of the FPGA target if the current bitfile is not the same. Using the inputs for open FPGA VI reference, you can make it specify a bitfile instead of a vi.
http://zone.ni.com/reference/en-XX/help/371599A-01/lvfpgahost/open_fpga_vi_reference/
Are you wanting to store other information on the flash of the FPGA target?
I hope this helps you.
Steven T.
07-31-2006 09:28 AM
08-01-2006 11:09 AM
08-01-2006 11:14 AM
This is an embedded application. There is no NI software on our customers PC's. I physically want to update the bit file in the FPGA flash. I think the method with an EXE won't do that, unless I'm missing something.
I do a similar thing with the embedded LV startup.exe, I use a PC program that essentially FTP's the file down, replacing the existing LVRT startup.exe. I need to do a similar operation with the FPGA bit file in the FPGA flash.
It's obivious that this can be done on a PC that has the develoment tools installed, but I want a stand alone PC EXE to do this. Any IDEAS?
Tom
08-03-2006 09:11 AM
tprohas,
My apologies. You are trying to get a program that will upload a new bitfile to the FPGA, without using any thing that would require a large download (drivers).
The bitfile is actually contained within the real-time executable. If your real-time executable uses the open FPGA vi reference, then the bitfile will be downloaded to the FPGA target. So if the fpga bitfile needs to change, you can just provide a new executable that uses the new fpga bitfile. It will be downloaded since the old bitfile does not match the new one. Since you already have the capability to upload a new real-time executable, this would be the best route to take. I hope this helps you.
Steven T.
08-03-2006 11:39 AM
Yes, I am aware that the bit file is downloaded from the LV RT app, BUT, this can take up to 30 seconds or more. If I reflash the RIO, as soon as power is applied, the bit file is loaded, AND the IO states are put into a desired state. So, being able to do this is still a need.
Tom
08-04-2006 12:15 PM
tprohas,
There is no external utility that can be used without having direct access to the drivers. The only workaround would be to download the new executable using the new bitfile, have your customer restart it one time not connected to anything. It will be ready to go each successive bootup because it has already been downloaded to the FPGA Flash. There is no other way to do this.
This is probably an unacceptable workaround, but it is the only option under these circumstances.
Steven T.
08-08-2006 11:40 AM
08-08-2006 03:44 PM - edited 08-08-2006 03:44 PM
tprohas,
Here is the link again. It is the detailed help from the Open FPGA VI Reference help. It describes the behavior of the VI when it is called in a host VI. In the section Open FPGA VI Reference Details, it explains the behavior as far as downloading a compiled FPGA VI to the FPGA device.
http://zone.ni.com/reference/en-XX/help/371599A-01/lvfpgahost/open_fpga_vi_reference/
The first time you run the Real-Time VI it will take a little while to download a new bitfile to the FPGA target. The next run will not require the download because the FPGA already has the compiled FPGA VI. I hope this helps you.
Steven T.
Message Edited by Steven T on 08-08-2006 03:46 PM