06-16-2016 01:53 PM
We want to start using the Real Time Execution Trace Toolkit to profile memory allocation on a cRIO 9035 & 9039 target.
The product information page (http://sine.ni.com/nips/cds/view/p/lang/nl/nid/209041) has a note stating that the toolkit has limited functionality on NI-Linux Real Time supported targets.
However, i couldn't find any specific details on what those limitations are.
Can someone clarify which limitations apply?
Are there alternatives (Third party packages) that provide a more complete functionality?
Solved! Go to Solution.
06-17-2016 03:32 AM
Hello Jorn,
Did some digging in here it states the following:
"Each RTOS supports only a subset of LabVIEW features. Refer to the Real-Time Module»Unsupported LabVIEW Features book on the Contents tab of the LabVIEW Help for a list of unsupported LabVIEW features for each RTOS."
According to this statement you can find limitations depending on RTOS you have.
http://digital.ni.com/public.nsf/allkb/567A365574D0080D86257A2A00777D98
Good luck digging,
Kind Regards,
Natalia
06-17-2016 04:15 AM
Hi Natalia,
Thanks for the information!
I found the list regarding Ni-Linux RT here: http://digital.ni.com/public.nsf/allkb/1C16BFEA5262E33E86257A46006FC92B
But the list is limitted to more obvious limitations based on dependencies to .net , ActiveX, or specific DLL calls that are not yet availlable on the Linux RTOS
It doesn't mention the Real Time Trace Execution Toolkit.
Morover, the VI's are availlable for this target, and seem to be functional.
In other words, i'm getting trace information.
However, i have the impression that it doesn't include all information that i'm interested in (memory allocations), and that it presents an incorrect image of the real situation in terms of timing.
My guess is that this is partly due to the fact that Linux has a unique way of allocating and de-allocating memory on the target.
It would be nice to hear from the engineers @ NI exactly which limitation apply, and what causes the limitations.
Maybe then i can interpret some of the results in a different way, or i can start looking for other profiling tools.
06-17-2016 04:24 AM
Hello Jorn,
Did some more digging, the following limitationrs occur on LInux RTOS targets,
- The memory manager when used on Linux targets, only logs data for LabVIEW processes and threads, not the overall systems memory.
- Wait on object events aren't logged
- The trace buffer size can't be changed
- Timed loop pre-emption and ISR wakeup events aren't flagged
Hope this information helps you out further,
Kind Regards,
-Natalia
Applications Engineer