doing non-RT things in a Xenomai tasks leads to primary-to-secondary domains switches which is expensive, so avoid that.

Compilation

Nothing special for LinuxRT

In the case of Xenomai, one usually compiles RTT two times: one time for gnulinux and one time for xenomai, so that it is possible to use both. Autoproj currently does not support this, so you will have do to one of the two compilations manually. The second compilation should be installed in the same prefix as the overall autoproj prefix (i.e. install/)

For which target each oroGen project should be compiled is defined by the #orocos_target attribute on the autobuild tasks. Pick the "default" target using the global autoproj configuration option (the "the target operating system for Orocos/RTT (gnulinux or xenomai)" question) and then override this for the packages that you want to deploy on the other target by adding

Finally, you need to restrict yourself to RT-friendly transports to connect your components (i.e. local connections or Posix message queues). In general, as a starting point, it is advised to use local connections -- i.e. to deploy all RT tasks in the same process.

NOTE It is possible to use CORBA in a mixed RT/non-RT setup. The usage of CORBA will have NO influence on the RT tasks. Obviously, since CORBA is not realtime, you should not use it to connect two RT tasks, that's all.