From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

Will the Create System Image function save the FPGA code as well as the RT code?

Solved!
Go to solution

I have some cRIO systems that have been running in our manufacturing facility for a while. A slight problem has been discovered in the programming and a workaround created, but a fix needs to be implemented. I have no way, currently, of testing my new code without loading it onto the cRIO and running it on the tool while product is running. If there is a problem and I need to do some debugging, the tool cannot be down for an extended period. I would like to write a vi that will save an image of the cRIO so I can reload the software that is currently running and prevent an extended downtime situation.

 

My issue is, when I've done this in the past with a product that had different testing, calibration and the final customer RT software, it seemed that the FPGA code did not get saved (not a big deal at the time since the new FPGA code was compatible with the various RT deployments). The new FPGA code will not be compatible with the old RT software, so now I am concerned. I would just like verification on this before I have all the bosses breathing down my neck. If the function will not save the FPGA bitfile,  is there something else I can do to return the tool to the previous running state while I fix any problems that might exist with the new revision code? The original code was lost by my predecessor. Otherwise, I would just use that.

0 Kudos
Message 1 of 3
(3,742 Views)
Solution
Accepted by topic author Jeremy.Stevens

Hi Jeremy,

 

You are correct in that the Create System Image function does not save the bitfile with the RT image. Using the System Config API, you would have to deploy the RT image and then the compiled FPGA bitfile afterward. In order to ensure that you could go back to the previous version of software running on your RIOs, you could simply save the current image and bitfile before deploying the new image and bitfile.

 

However, the easiest way to do this is to use NI's Replication Deployment Utility (RAD). I've provided the link to the tutorial on RAD, where you can download the utility. This exe will make images of any of your RT targets and will also include the bitfiles with them; you can also deploy those images to multiple targets at a time. In particular, you can read about the Configure Bitfile(s) for FPGA Flash Deployment; the bitfile will be deployed on startup when stored in flash memory.

Replication and Deployment (RAD) Utility -

http://www.ni.com/example/30986/en/

Austin H.
Applications Engineering
National Instruments
Message 2 of 3
(3,720 Views)

This is great. I'm not sure why I haven't heard about this before, but it will certainly be put to good use from here on out. Thank you.

0 Kudos
Message 3 of 3
(3,706 Views)