Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

compiler error in debug mode

Hi,

 

In order to solve a different problem, I have recently upgraded to LV2009SP1, LVRT2009SP1, LVFPGA2009SP1 and NI-RIO 3.4. Now, my RT application needs to communicate with a 9870 serial module, and to do this, I am implementing a procuedure nearly identical to the interrupt-based example that LV ships with. My problem is that if I build my vi into an RT application and set it as the start-up app on my cRIO-9074, then if I try and ue the dubeg mode to debug the running applicaion, I get several compiler errors. I have tracked the compiler errors down to being caused by Acknowledge IRQ and Wait on IRQ blocks. The funny thing is, if I don't build the aplication and just run it using the run arrow on the front panel, everything works perfectly. 

 

Also, can someone please explain to me the difference between opening an FPGA referance with a vi or a bitfile? I have been working with FPGAs in 8.6 for about 8 months and have always compiled my FPGA into a bitfile and then opened the referance to that bitfile. If I try to do that now, when I try to use debug mode, I get an incorrect path error with regards to the bitfie. I've switched to opening the referance to the vi, but I don;t understand the difference. All of the documentation I have looked at is not clear to me. If I am running on a cRIO, why do I even need to specify the bitfile or vi on my development computer if a program is already running on the FPGA? Shouldn't the refenrance strictly be there?

 

Thanks,

 

Jon

0 Kudos
Message 1 of 10
(4,440 Views)

Hi Jon,

 

Can you provide a list of the errors you get when you try to deploy the application as an executable? This will help us to better narrow down the error.

 

As far as your second question between the difference between opening an FPGA reference with a vi or bitfile, it is basically the same thing. By doing it through the VI, you can select a VI within the project, which ultimately uses its bitfile. By specifying a bitfile, you do not have to have the actual VI. You need to specify a bitfile because the you can dynamically change the bitfile in a running RT application.

 

It is difficult to determine why you are getting the error without some more information. Can you provide screenshots of the error?

 

thanks

FLash

National Instruments
Applications Engineer
0 Kudos
Message 2 of 10
(4,415 Views)

FLash,

 

I have fixed my code so that I can confirm it works now (as opposed to before when I suspected compiler errors were stopping my code from executing), but I still get the compiler errors when trying to use debug mode.

 

The compiler errors I recieve for my simple test vi are (in order recieved):

 

copy cvt, csrc=0x0

copy cvt, csrc=0x0 

copy cvt, csrc=0x0 

copy cvt, csrc=0x0 

copy cvt, csrc=0x0 

mapping null reg

can't have register source in GenLeaInstruction, 0x0

 

I have attached a screenshot of my test vi. My FPGA vi is essentially the same as the interupt-based 9870 example fpga vi, except I have two parallel loops so I can use two of the available serial ports. Thanks,

 

Jon

0 Kudos
Message 3 of 10
(4,412 Views)

Hi Jon,

Good news is that I was able to reproduce your errors. bad news is that I will have to do a little more research to determine the exact cause.

 

FLash

National Instruments
Applications Engineer
0 Kudos
Message 4 of 10
(4,393 Views)

Thanks for looking into this for me. For now, Ive just disabled debugging mode, but in the future it would be helpful if I could use it.

 

Jon

0 Kudos
Message 5 of 10
(4,368 Views)

Hi Jon,

 

I will post an update whenever I get a response.

 

FLash

National Instruments
Applications Engineer
0 Kudos
Message 6 of 10
(4,334 Views)

Jon,

 

After testing, it appears that the compiler error occurs when there are IRQ functions present in the RT executable. I was able to reproduce this with a simple test VI. If you want ot remote debug, unfortunately you will not be able to use IRQ functions. I filed CAR#173036 on this behavior. Keep your eyes on future LabVIEW release notes for any updates on this issue.

 


Rob K
Measurements Mechanical Engineer (C-Series, USB X-Series)
National Instruments
CompactRIO Developers Guide
CompactRIO Out of the Box Video
0 Kudos
Message 7 of 10
(4,214 Views)

Dear Rob,

 

I have faced the same issue.(There is also IRQ in my host code.)

 

Is there any fix released for the issue?

 

Thanks

Darko

0 Kudos
Message 8 of 10
(3,584 Views)

Hi Darko,

 

I looked up the CAR that I filed 2 years ago, and it looks like this was reported for LabVIEW version 8.6.1, and that our Software R&D team could not recreate the issue in LabVIEW 2010.

 

What version of LabVIEW are you using?

Rob K
Measurements Mechanical Engineer (C-Series, USB X-Series)
National Instruments
CompactRIO Developers Guide
CompactRIO Out of the Box Video
0 Kudos
Message 9 of 10
(3,579 Views)

Hi Rob,

 

I use Labview 2010 SP1. The software installed on the 9022 CPU I use is NI-RIO 3.6.0 -January 2011. The operating system on my laptop is Win XP SP3

The message appears 20-30 times before the connection fails. (see attachment)

I have noticed that this happens after the RT application is rebuilt and deployed

 

If I try to reconnect again, there is no message, but the connection fails. It just hangs when downloading vi's and I need to disconect the LAN cable to stop the process .

 

Regards

Darko

0 Kudos
Message 10 of 10
(3,570 Views)