NI Linux Real-Time Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Application cross-compatibility

Based on the answers I've gotten on this question about general cross-compatibility of applications built for different cRIOP targets, it seems that it is not possible to copy an executable built for one Linux RT ARM target (like cRIO-9063) to another (like cRIO-9064) and get it running.

This seems strange; It's the same OS and processor architecture after all. I'm not even using any hardware specific functionality (no expansion modules, no FPGA code etc...if that is the show stopper(?)). Ae the RTE's that target specific, or..So I'm turning to the Linux RT experts here just to confirm and/or elaborate on the issue: If you cannot copy even the simplest LabVIEW-based executable between these targets(?), what is the issue, and is there any chance this will change at any time?

 

It would have been so much easier to be able to use one hardware to develop applications for multiple other targets (again, assuming they have the same OS/architecture). Having each model available is a big cost and practicality issue. Being able to work on virtual hardware instead would be even better, but that's probably asking too much Smiley Wink

0 Kudos
Message 1 of 2
(2,472 Views)

"OS architecture" doesn't necessarily mean it's compatible.

At least *all* the libraries linked in by your application must fit on binary level. And there're a lot of things that could differ (eg libc and compiler versions, etc).

 

Embedded systems are usually heavily tailored and optimized, so it's not unusual that binaries wont fit between separate product lines.

 

Even on a desktop or server system, you cant expect binaries to be compatible between various releases of the same distro. 

Linux Embedded / Kernel Hacker / BSP / Driver development / Systems engineering
0 Kudos
Message 2 of 2
(2,393 Views)