Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

cRIO-9047 FPGA Read/Write Control Failure

cRIO-9047 (See attachment "cRIO Software" for current software loaded)

LabVIEW 2024 Q1 (32-bit) developing on a Windoze 10 laptop

Linux RT System Image 2024 Q1 (Linux 6.1.59-rt16)

 

I'm developing a data logging application to record hi-speed (milllion samples per second) data to a circular buffer, and write that buffer to file if certain trigger conditions are met.

My development was going fine, I was gradually adding the features I need.  I started from the NI-9222 Getting Started example project.

I got the FPGA sampling data at the requested speed, sending over DMA FIFO, host.vi reading from DMA FIFO and writing to buffer, then to hard drive.

At some point I added some functions to my FPGA code and the project stopped working.

Specifically, when I run the HOST VI, I get "Deployment Completed with Errors."  See attachment "Failure Screenshot."

Click OK and I get:

Connection Lost.png

SSH into the cRIO and look at the failure log, I see

    #Desc: LabVIEW caught fatal signal
    24.1f0 - Received SIGSEGV
    Reason: address not mapped to object
    Attempt to reference address: (nil)

See attachment "LabVIEW_Failure_Log."

 

I've rebooted the cRIO many times in the past few days.  Rebooted my development laptop too.

I've made a brand new project from scratch just to isolate this problem.  I will zip and upload it here.  sandbox.zip
This simple project won't run for me.

I can run the vanilla(FPGA).vi by itself and it loads to the cRIO and runs fine.  I push the INPUT button and half a second later the OUTPUT lights.

But if I run the vanilla(HOST).vi on the cRIO, I get the error behavior described above.

If I move vanilla(HOST).vi to run on my laptop, it runs just fine and interfaces with the cRIO FPGA just fine.

 

If I comment out the FPGA Read/Write Control, the vanilla(HOST).vi downloads and runs just fine on the cRIO.

Of course, then it doesn't actually interface to the FPGA.

So I think I've isolated it to the FPGA Read/Write Control committing a foul.  (Which would seem to be trying to access a null pointer?)

 

Someone will ask what FPGA code I was adding when the project quit working.
Not sure that's relevant as the vanilla example I've uploaded has no special FPGA functions and still doesn't work.
But it was FPGA code for configuring a high-speed signal conditioning module from Precision Filters.

0 Kudos
Message 1 of 7
(656 Views)

hello sir i f you like me to inspect and correct for you i am embedded developer so i can give you like this services '

thanks

CLA
0 Kudos
Message 2 of 7
(632 Views)

Update:
My co-worker is able to run a simple host vi on the linux realtime with interaction to the FPGA front panel controls/indicators just fine.

On this exact cRIO.

So my SIGSEV error is not an issue with the cRIO software or configuration.
It's also not a problem with the specific project, because I've made a new project from scratch.
It must be something with my laptop or LabVIEW installation.

0 Kudos
Message 3 of 7
(597 Views)

Well, I also have a cRIO-9049 to play with.
I can do FPGA read/write just fine on that.

cRIO-9049 successful.png

 

But I can't do Read/Write control on my cRIO-9047.
It seems like LabVIEW is not even trying to deploy all the dependencies that it should.

cRIO-9047 failure.png

Download All
0 Kudos
Message 4 of 7
(572 Views)

Ok, so I went and found all 12 of the "Dependencies" files that are listed in the "Conflicts" popup when I try to deploy vanilla(HOST).vi to the cRIO-9047.
(These files are not listed in "Dependencies" in the Project Explorer, and they don't all appear in the "Deployment Progress" popup.)
I manually added those files to the project.
Then I individually tried to "Deploy" them.
Nine files deployed successfully.

These three deployed "with errors":
    niFpgaNodeNameForErrorReporting.ctl
    niLvFpgaAdjustHostInterfaceError.vi
    niLvFpgaWhatHappensToTopLevelVI.ctl

 

These three files that deploy "with errors" are not deployed when running a vi that does not use the FPGA Read/Write Control.
But I can deploy a vi with Read/Write Control to my cRIO-9049 and these files deploy without errors.

 

And my colleague sitting next to me can deploy those three files to this cRIO-9047 successfully......?????

 

0 Kudos
Message 5 of 7
(564 Views)

Just for fun I tried a new 9047 chassis, but I have the same problem.

I give up, I'm going to uninstall and reinstall LabVIEW.  Which will take several days.

0 Kudos
Message 6 of 7
(479 Views)

Well, I uninstalled LabVIEW 2024 Q1 (32-bit)
Then I installed LabVIEW 2024 Q3 (32-bit).

But I'm still having the same error.

0 Kudos
Message 7 of 7
(457 Views)