LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

compiling .out file for VxWorks 6.3 (NI RT 8.5), to cRIO-9012 target

I have a cRIO-9012 on which I was successfully calling a .OUT file which was built with the GNU compiler, for VxWorks 6.1 as included in NI RT 8.2.  We recently upgraded our software to 8.5, both the labview development system and the installed software on the cRIO target, with NI RIO 2.3.1.  This broke the .OUT call - no error message was produced, but the application would simply stop when the call library function node was reached.  I obtained the new version of the GNU compiler (for VxWorks 6.3) and recompiled our .OUT library using the same source code file and Makefile which was used originally to compile the VxWorks 6.1 .OUT file with the new compiler.  The file was compiled without any apparent errors, and I deleted the original .OUT on the cRIO target and ftp'd the new .OUT to the target (/ni-rt/system).  I expected this to be a simple library replacement, but the new .OUT fails in exactly the same manner - the application terminates without error upon executing the call library function node.

Suggestions?
0 Kudos
Message 1 of 5
(4,570 Views)
I would suggest that your read through the following KnowledgeBase article to make sure that you have followed the correct steps in calling your .OUT file.  Also, take a look at the Developer Zone article which covers LabVIEW 8.5 Known Issues, and navigate to the section titled External Code.  If you select Run in UI thread in the thread control, LabVIEW is expected to hang on the Call Library Function node.  You can solve this issue by configuring the node to call a DLL written in C.  Hope this helps!
 
 

 
Meghan M.
0 Kudos
Message 2 of 5
(4,518 Views)

Hi Sean,

If the .out file is propritary and can not be shared in this forum, you may also consider calling in to speak with an Applications Engineer who can work with you on getting this resolved as well.

Regards,

Bassett

0 Kudos
Message 3 of 5
(4,512 Views)
Calling convention is C, thread control is set to run in any thread.  Source file is C, and this successfully built a .OUT which ran on the VxWorks target under Labview real-time 8.2.  Nothing changed other than recompiling with the VxWorks 6.3 version of the GNU toolchain - same source, same makefile, etc., and running it on an upgraded target.

0 Kudos
Message 4 of 5
(4,433 Views)
I did some research on known issues and fixes for LabVIEW Real-Time 8.5.  In the article below, there is a section specifically on VxWorks.  If you are experiencing a crash when unloading and reloading .OUT files, it suggests that you alter the ni-rt.ini file on the target to include the following token:  InihibitDLLUnload=True.  This will ensure that the shared libraries remain in RAM.  I would go ahead and give this a try, thanks!
 
 
Meghan M.
0 Kudos
Message 5 of 5
(4,407 Views)