Raspbian Tuning #2: Realtime

blaggejoe
2015-04-10
2016-03-10
  • blaggejoe - 2015-04-10

    Hi

    Ich komme noch mit einem 2. Optimierungsvorschlag: Statt Standard-Raspbian könnte man ja auch Raspbian mit RT Erweiterung verwenden.
    Die Navio-Jungs haben es scheinbar hingekriegt, die RT-Erweiterung für den Raspberry Pi 1 & 2 fehlerfrei zu integrieren.
    http://www.emlid.com/real-time-linux-fo ... -binaries/
    Eigentlich müsste diese Erweiterung den max. Jitter von < ~400us auf < ~60us runterkriegen.
    Reichts es für die Hart-Echtzeiteigenschaften von CoDeSys einfach dieses Image zu verwenden oder steckt da noch mehr dahinter?
    Bzw. wie wird der max. Jitter von CoDeSys gemessen?

    Gruss
    Ralf

     
  • plcmax - 2015-06-07

    Hallo,

    ja wenn es denn stabil läuft reicht das, man muss sonst nichts tun bei rt_preemt patch.
    Was aber der eigentliche Flaschenhals am Pi ist,
    ist vermutlich eher die Ethernet-USB Anbindung welche auch für das Onboard Ethernet
    verwendet wird.

    Viele Grüße
    plcmax

     
  • Weissnix - 2016-03-10

    Müsste man, um Real-Time-Verhalten zu bekommen, nicht auch noch die Priorität des Codesys-Prozesses auf dem RPi erhöhen?

    Also durch den Befehl "top" erhalte ich die PID des Codesys-Prozesses.
    Anschließend schaue ich mir die Prioritäten an:

    root@navio-rpi:/# chrt -p 2146
    pid 2146's current scheduling policy: SCHED_OTHER
    pid 2146's current scheduling priority: 0
    

    Daraus folgt, dass der Prozess als Standard-Task behandelt wird. Müsste man die Priorität nicht entsprechend ändern, dass Codesys als Realtime-Task fungiert?
    Beispiel:

    root@navio-rpi:/# chrt -f -p 90  2146
    root@navio-rpi:/# chrt -p 2146
    pid 2146's current scheduling policy: SCHED_FIFO
    pid 2146's current scheduling priority: 90
    

    Wird nicht erst damit die Echtzeit garantiert? Ich frage nach, da ich mit dem Thema selbst nicht wirklich vertraut bin.

     

Log in to post a comment.