Neon_Light Posted February 12 Report Posted February 12 Hello I am using h5labview on a windows PC connected to a cRIO. This seems to work fine. I rather would like the file save be running on the cRIO though. Does anyone know if there is a howto on this subject? The most recent link I can find is this one: https://sourceforge.net/p/h5labview/discussion/general/thread/479d0cdf61/?limit=25#c81d the link is a few years old and if I would be able to compile and get a *.o file I would not know howto use it on the cRIO. I have some Linux experience I can setup a VM with Linux. I use Labview 2024. any help is appreciated thank you! Quote
Rolf Kalbermatter Posted February 13 Report Posted February 13 It's a little more complicated than that. You do not just need an *.o file but in fact an *.o file for every c(pp) source file in that library and then link it into a *.so file (the Linux equivalent of a Windows dll). Also there are two different cRIO families the 906x which runs Linux compiled for an ARM CPU and the 903x, 904x, 905x, 908x which all run Linux compiled for a 64-bit Intel x686 CPU. Your *.so needs to be compiled for the one of these two depending on the cRIO chassis you want to run it on. Then you need to install that *.so file onto the cRIO. In addition you would have to review all the VIs to make sure that it still applies to the functions as exported by this *.so file. I haven't checked the h5F library but there is always a change that the library has difference for different platforms because of the available features that the platform provides. The thread you mentioned already showed that alignment was obviously a problem. But if you haven't done any C programming it is not very likely that you get this working in a reasonable time. Quote
Neon_Light Posted 1 hour ago Author Report Posted 1 hour ago On 2/13/2026 at 4:18 PM, Rolf Kalbermatter said: It's a little more complicated than that. You do not just need an *.o file but in fact an *.o file for every c(pp) source file in that library and then link it into a *.so file (the Linux equivalent of a Windows dll). Also there are two different cRIO families the 906x which runs Linux compiled for an ARM CPU and the 903x, 904x, 905x, 908x which all run Linux compiled for a 64-bit Intel x686 CPU. Your *.so needs to be compiled for the one of these two depending on the cRIO chassis you want to run it on. Then you need to install that *.so file onto the cRIO. In addition you would have to review all the VIs to make sure that it still applies to the functions as exported by this *.so file. I haven't checked the h5F library but there is always a change that the library has difference for different platforms because of the available features that the platform provides. The thread you mentioned already showed that alignment was obviously a problem. But if you haven't done any C programming it is not very likely that you get this working in a reasonable time. Hello Rolf, thank you for the help. I did download the source files from HDF5 and HDF5Labview. You're are right it can take some time to get it working. For that reason I'll start with making a datastream from the cRIO to the windowns gui pc and use that for now. At least I'll be able to reduce some risk. Meanwhile I'll try to get a the Cross compiler working I'll should at lease be able to get a "hello world" running on the cRIO and take some steps if I can find some time. I did find the following site: https://nilrt-docs.ni.com/cross_compile/cross_compile_index.html Do you think this site is still up to date or is it a good point to start? I am only targeting a Ni-9056 for now. Thanx! Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.