LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

win development qnx execution

Hi,

Most of the drivers for a given OS are developed and copiled under given OS. How to solve the problem of software (and driver) development on a computer
with a different OS thatn the target machine? For example software development in LV on Windows for QNX OS. I know that it is possible to use EDM mod
(Microprocessor SDK) to compile for other OS and architectures (I've done that and it works). But where do hardware drivers compiled for QNX fit in?
Even if you use MHDDK (if I understand correctly) one compiles the driver (which is written in C) on the machine with QNX OS.
How am I able to use it in a software that I'm developing under Windows?
Is it possible to include it in some form as a "external" code by using System Exec, CIN or CLFN?
If I'm going in a wrong direction please suggest the correct one 🙂

Just to clarify. I develop software under Windows and want to communicate with Hilscher Profibus card on a machine with QNX Neutrino.

--
regards
souske
0 Kudos
Message 1 of 6
(4,134 Views)
Yay ... I just checked that and I quote:
"Code Interface Node: Node not supported in current target" which means that oth CIN and System Exec
(and CLFN probably tooo) cannot be used on Neutrino.

--
souske
0 Kudos
Message 2 of 6
(4,118 Views)
Well there is a chance that it might be possible to use CLFN after all. At least I don't have the previus error when I try to compile.
I have another one though. I implemented the CLFN example that I found in the "Using External Code in LabVIEW".
Compilation and execution for windows works fine, but when I try to compile it for QNX Neutrino I get following error:

C:\tmpo\sysexec\QNX_Console\QNX_Application\sysexectest.o: In function `sysexectest_BlockDiagram':
C:\tmpo\sysexec\QNX_Console\QNX_Application\sysexectest.o(.text+0x2ad): undefined reference to `avg_num'
cc: C:/QNX632/host/win32/x86/usr/bin/ntox86-ld caught signal 1

If the .o file is done from .c file then I don't understand the error. The avg_num function can be found in the sysexectest.c
file (I attached the .c file).

Any ideas people?
--
souske
0 Kudos
Message 3 of 6
(4,110 Views)
If anyone is interested I managed to put everything together by using inline C node. After that in Build Specifications -> QNX Application -> Advanced -> Extra Linker Flags
I added the driver object file (for Hilscher cifio.o) and it works. Interesting is that if I add the same file in QNX Application ->Source files -> Additional Files it will _not_ compile.
0 Kudos
Message 4 of 6
(4,055 Views)
Hi!,
I've been working with LabView 8.2 and CompactRIO, now i'm evaluating Lv Embedded runing on a QNX target. I don't have any problems building a vi if this doesn't contain vi's like those in Signal processing and Mathematics (actually only runs tools from Elementary & Special Functions, from the Mathematics section), however if i try to build a vi containing a block like those a 'Linker error occurred' and appears the next message:
C:\Documents and Settings\Administrator\My Documents\LabVIEW Data\Labview_Regulator\Code Generation\Code Generation\QNX_Console\QNX_Application\NI_AALBase_lvlib_Real_Dot_Product.o: In function `NI_AALBase_lvlib_Real_Dot_Product_BlockDiagram':
C:\Documents and Settings\Administrator\My Documents\LabVIEW Data\Labview_Regulator\Code Generation\Code Generation\QNX_Console\QNX_Application\NI_AALBase_lvlib_Real_Dot_Product.o(.text+0x9c5): undefined reference to `LVThreadClose'
cc: C:/QNX632/host/win32/x86/usr/bin/ntox86-ld caught signal 1


Anyway, i tried including NI_AALBase_lvlib_Real_Dot_Product.o  into Extra Linker Flags but a similar error occurs and shows me next:
C:\Documents and Settings\Administrator\My Documents\LabVIEW Data\Labview_Regulator\Code Generation\Code Generation\QNX_Console\QNX_Application\NI_AALBase_lvlib_Real_Dot_Product.o: In function `NI_AALBase_lvlib_Real_Dot_Product_InitFPTerms':
....
C:\Documents and Settings\Administrator\My Documents\LabVIEW Data\Labview_Regulator\Code Generation\Code Generation\QNX_Console\QNX_Application\NI_AALBase_lvlib_Real_Dot_Product.o: In function `NI_AALBase_lvlib_Real_Dot_Product_BlockDiagram':
C:\Documents and Settings\Administrator\My Documents\LabVIEW Data\Labview_Regulator\Code Generation\Code Generation\QNX_Console\QNX_Application\NI_AALBase_lvlib_Real_Dot_Product.o(.text+0x9c5): undefined reference to `LVThreadClose'
cc: C:/QNX632/host/win32/x86/usr/bin/ntox86-ld caught signal 1

I've attached the vi which i referred above, i tried with different vi's and it was the same result. I have installed QNX Momentics 6.3 and LabView in the same computer.
Can anyone help me?
--
Regards
OsS
0 Kudos
Message 5 of 6
(3,930 Views)
Hi

There must be sth wrong with your settings somewhere, because I compiled your application without a problem.
When you compile for QNX forget about the dialogs and the front panel. As a console application you can only use
C style output (at least that's what I use). I attach your program compiled for QNX and slightly modified vi.

Remove the vi extension from qnx application. I had to add it, because forum does not accept files without an extension
(so it seems).

--
regards
souske


Message Edited by souske on 03-14-2008 10:11 AM

Message Edited by souske on 03-14-2008 10:14 AM
Download All
0 Kudos
Message 6 of 6
(3,923 Views)