LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Device address format for Open Dynamic Bitfile Reference

I'm currently trying to use the Open Dynamic Bitfile Reference function in my real-time application, but I am unclear what is intended for the 'Device address' string input.  I can see that it's meant to point to the FPGA target which I am trying to run the bitfile on, but I'm not clear what the formatting is supposed to look like.  Nothing I've tried so far has worked (just get error code 7), and I haven't been able to find any examples using this function.  Any help would be greatly appreciated.

0 Kudos
Message 1 of 5
(1,318 Views)

You should see the device address in NI MAX if you select the FPGA device. It should be in the format RIO# with the number depending on how the order which FPGA devices enumerate so if it's an sbRIO/cRIO or the only PXI module in your PXI chassis you should be able to just use RIO0.

Matt J | National Instruments | CLA
Message 2 of 5
(1,315 Views)

Hi Matt J,

 

Using 'RIO0' as the input string for device address was the first thing I tried, but it doesn't seem to take.  I did confirm via MAX that this is the name associated with the target I am trying to access.

 

I know 'RIO0' is the resource name that's used as input to the Open FPGA VI Reference, which I have been using successfully.  Of course for that subVI the input is resource name (not string) and the name of the input is 'resource name' vs 'device address' for the Open Dynamic Bitfile Reference, which leads me to think they may be expecting something else (I just don't know what).

 

Thanks for your help.  Let me know if you have any other ideas.

 

Regards,

Joe

0 Kudos
Message 3 of 5
(1,262 Views)

The above checks sound right.  What about the filepath of the bitfile?  Is it correct?  I know that sounds simple but just checking.


Certified LabVIEW Architect, Certified Professional Instructor
ALE Consultants

Introduction to LabVIEW FPGA for RF, Radar, and Electronic Warfare Applications
0 Kudos
Message 4 of 5
(1,255 Views)

I think you're onto something there, and I'm realizing a big oversight I made.  I used the "browse for path" option to populate the bitfile path constant, which points to a bitfile that lives on my host PC.  But at runtime the cRIO is probably looking for that path to exist on its local hard drive and failing.

 

I'd really rather avoid having to transfer bitfiles to the cRIO hard drive every time I recompile.  Is there a way to allow the subVI to read from the host directory?

 

Also, taking a step back, I feel like I should explain the big picture of what I'm trying to do here.  I am trying to commonize some RT subVIs which interface with FPGA controls that are common between projects.  My plan was to use a dynamic FPGA reference input and pass it to a Dynamic FPGA Interface Cast function with a typedef constant used for the type input.  This part seems to work fine.

 

My concern with using the Open FPGA VI Reference to call/run the FPGA VI is that every time I recompile the bitfile I need (or think I need) to open the dialog box and refresh the path for the change to take.  My thought with switching to using the Open Dynamic Bitfile Reference was to avoid this step, so that each time I recompile, I only need to update the FPGA interface typedef (one path refresh vs two).  If there's a better approach I'm open to it.  This side of things has always been a headache for me.

 

Thanks

0 Kudos
Message 5 of 5
(1,245 Views)