Changes between Initial Version and Version 1 of WikiStart/Toolchain/RTPlatforms

11/08/12 15:58:43 (7 years ago)



  • WikiStart/Toolchain/RTPlatforms

    v1 v1  
     1For Linux with the RT patchset, nothing special is required 
     3For Xenomai, you have to realize that: 
     4 * gdb is not accessible to the Xenomai tasks 
     5 * doing non-RT things in a Xenomai tasks leads to primary-to-secondary domains switches which is expensive, so avoid that. 
     7== Compilation == 
     8Nothing special for LinuxRT 
     10In 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/) 
     12Which target each task should be compiled on 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 
     15setup_package("my/orogen/package") do |pkg| 
     16  pkg.orocos_target = "xenomai" 
     20to autoproj/overrides.rb 
     22== Deployment == 
     24There is the need for two things to run as a RT-task: 
     26  * to be compiled for the RT OS that you chose 
     27  * to be deployed as a realtime task 
     29The second point requires you to create a manual deployment (automatic deployments always deploy as non-RT). Each RT task needs to be deployed with a priority and on the realtime scheduler with 
     32deployment "controller" do 
     33  task("can0", "canbus::Task"). 
     34    priority(80). 
     35    realtime