05-14-2013 06:41 AM
I'm learning some FPGA stuff, and my project for learning right now is a logic analyzer.
I have an environment to test the FPGA, and it is working correctly.
In the attached code, I "touch" the FPGA, do a data acquisition, and then pipe the dat back to the PC. This all appears to be working correctly.
Then I try to display the data in a digital graph... Line 63 of the code:
PlotPackedDigitalLines(panel, PANEL_DIGGRAPH, LA_Memory, 16*1024*1024, VAL_SHORT_INTEGER, (void *)0x00ff);
Whenever the code hits this line, I get a General Protection Fault. It doesn't matter if it's in the debugger or standalone executable. Happens across multple machines (all running Win7 - sorry, I don't have any other platforms any more)
In searching the forums, I found this possibly related thread/report:
Is this the problem I'm running into? Is this a bug in CVI, or am I doing something especially silly? If it's a bug, is there a patch or something to fix?
Help!
Solved! Go to Solution.
05-14-2013 07:50 AM - edited 05-14-2013 07:51 AM
This may be a wrong hint, as I never used this function, but the documentations says the mask must be of the same type of the data. You could try using a pointer to a short integer constant.
05-14-2013 12:35 PM
That would seem to have been it... It's a kind of a weird way to do it I think (why not just pass an int or something?), but that fixed the problem.
Thanks!
05-20-2013 09:24 AM
I have to take it back...
It would seem to be 8.1 specific. I have a split environment, now - I downloaded the evaluation for the current version (12.1?), and the attached code compiles and runs fine. In the 8.1 environment, it compiiles and runs, but gives me a GPF when it attempts to execute the PlotPackedDigitalLines() function.
D'oh.
05-21-2013 07:46 AM
As long as you passing &gMask and not gMask, PlotPackedDigitalLines should not crash. Neither in 8.1 nor in 12.0. I can't run your attached code since there are pieces missing. Do you have a small project that you can attach here that reproduces the crash in 8.1? If not, can you attach a screenshot of the GPF details window, along with the exact version of cvirte.dll?
Thanks,
Luis
05-21-2013 08:09 AM
From NI support (From last night):
Hi Tom,
We do have a known issue (CAR#: 99422) in which a General Protection fault
occurred with the PlotPackedDigitalLines function. This occurred when using a
data type other than VAL_INTEGER or VAL_UNSIGNED_INTEGER or specifying a large
number of values (> 10,000). Based on the function parameters in forum post, it
looks like the issue you are experiencing could be a result of this bug. This
issue was fixed in CVI 8.5.1, as shown in the following link.
http://www.ni.com/white-paper/6897/en#toc1
Please let me know if you have any additional questions.
Regards,
Anjelica Warren
Applications Engineer
National Instruments
http://www.ni.com/support
It would seem I might need to fork over the $$$ for an upgrade.
05-21-2013 08:11 AM
To reiterate - when I compile under 8.1, I get GPFs. When I compile under 12.1 (eval), everything works as I intended. Per the support e-mail above, thisis most likely a known bug that was fixed in 8.5.1...
I guess I'm gonna have to shell over $1300 for the new version, although I'm trying to find out if I have any other options...