Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

error code -304155.

Hi all, 

 

Here's my problem:

---------------------------------------------------------------------------------------------
Error -304155 occurred at niLvFpga_Open_PXIe-7975R.vi

Possible reason(s):

FlexRIO: Downloading to the FPGA is not supported on this OS. Please use the RIO Device Setup utility
to download your bitfile to the flash, and then power-cycle your machine in order to load the bitfile
onto the FPGA.
---------------------------------------------------------------------------------------------
My setup:

Personal Desktop PC running Labview Real Time to call the PXIe-7975 Kintext 7 FPGA.
I compiled a VI for that FPGA and I try to download the bitfile for the compile onto
the FPGA but when I do, I get the error -304155

This error does not occur for the same setup in Labview 2013.
Only when I upgraded to 2014, I see this. The suggested solution also doesn't work and is inconvenient.

In the 2013 version of Labview (IE: 2013 Dev system, 2013 FPGA module, and 2013 Real Time module)
I used to be able to easily import the compiled bitfile directly to the FPGA using the same
method as I am now.

The method I use to download bitfile onto the FPGA is through the "Open FPGA VI Reference"
block and then it would be configured to load the appropriate bitfile, run the FPGA VI,
and run in 'Dynamic mode'

Any help would be appreciated as I don't see anything online for the error code -304155.

0 Kudos
Message 1 of 11
(5,276 Views)

I am having a similar issue and was wondering if you had found a solution.  I am trying to run a simple "hello world" program in interactive mode on a 7972R and get the same error message.  There is a Virtex-5 7966 FPGA in the same chassis and I can communicate with it just fine.

0 Kudos
Message 2 of 11
(5,158 Views)

Have you tried using the RIO Device Setup utility to load the bitfile to the FPGA?  The link here describes this process: http://digital.ni.com/public.nsf/allkb/BAAA6D86CDDD583C8625729E00572C8B.  

0 Kudos
Message 3 of 11
(5,141 Views)

Hi mckinn8,

 

Can you upload a MAX technical report along with the bitfile that you are having issues with? I would like to see if I can reproduce the behavior that you are seeing.

0 Kudos
Message 4 of 11
(5,123 Views)

I've found a workaround which is a bit inconenient.

 

I booted up the real time system in Windows OS mode, imported my host code in there, and was able to succesfully download the compiled code onto the FPGA. I'd rather not have done that, but since I couldn't think of anything this was the solution.

 

The process of downloading the bitfile onto the real time controller did not work for me either.

 

One thing that I really need to try is to reformat the real time and re-install all major real time software that I'll need onto there. I haven't had time to perform this step, so I can't comment on whether it would work or not.

 

My guess is that something went haywire when I updated from 2013 real time software to 2014 software but I haven't solved the problem. 

0 Kudos
Message 5 of 11
(5,076 Views)

Hi Weezur,

 

You shouldn't have to reformat your controller or boot into windows mode. I just tried it on my setup and using the RIO Device Setup Utility I was able to upload a bitfile to the flash on my 797x target from a windows machine, power cycle the chassis (a full power cycle, not a reboot), and then open a reference to the FPGA target from the RT controller.

 

To clarify,  the Open FPGA Reference function checks the signature of the bitfile that is currently on the FPGA, and if the signature matches the signatture of the bitfile that the Open FPGA VI Reference function is using then a reference to the FPGA target is returned. If the signature does not match, and the function is being used on a windows target, then the function attempts to overwrite the bitfile that is on the FPGA. If the Open FPGA VI Reference function detects a signature mismatch on an RT system, then it throws the -304155 you are seeing.

 

If you are seeing the error after uploading the bitfile to flash, power cycling the chassis, and then opening a reference with the Open FPGA VI Reference function that is using the same bitfile, can you provide me a copy of that bitfile so I can test it on my setup?

 

 

0 Kudos
Message 6 of 11
(4,973 Views)

I apologize for the delay.

 

 

I opened up the example project to configure the NI 579x RF-FAM modules and still get the same error. 

 

 

The Example Project is called "Simple NI-579X Streaming"

I open the "Rx Streaming (Host).vi", run the FPGA bitfile for the NI-5791 and PXIe-7975R

 

Then I see error code -304155. 

 

I'm running the code on a NI-PXIe8135 on Real Time mode. 

0 Kudos
Message 7 of 11
(4,746 Views)

Did you first upload the bitfile to the 797x target using the RIO Device Setup Utility, then power cycle the chassis, and then run your application that uses the exact same bitfile?

0 Kudos
Message 8 of 11
(4,730 Views)

Yes.

 

Unfortunately I couldn't get things working that way. I did find a workaround after searching for the method of uploading the bitfile to FPGA. 

The workaround was to upload the bitfile through MAX onto your FPGA. I was able to successfully upload the bitfile in this way.

 

This is great and all, however it looks like I'll need to keep doing this for every new bitfile that I generate. I guess that there's no workaround for that. 

0 Kudos
Message 9 of 11
(4,726 Views)

The update firmware button that you have access to in MAX uses the same method to upload the bitfile to the flash on the FPGA module as the RIO Device Setup Utility. The only difference is that it automatically sets it to Autoload when the device powers up.

 

Is it possible that on the Device Settings tab of the RIO Device Setup Utility that you didn't apply one of the settings that Autoloads the VI?

0 Kudos
Message 10 of 11
(4,717 Views)