Forum: Mikrocontroller und Digitale Elektronik FreeRTOS Idle Task


von Christian (Gast)


Lesenswert?

Hallo,

ich habe mal eine prinzipielle Frage zur Idle Task in FreeRTOS. Diese 
ruft die Funktion ,,vApplicationIdleHook'' auf, wenn keine andere aktive 
höherpriore Task zur Ausführung bereitsteht, wodurch sich eine CPU 
beispielsweise in den Schlafmodus versetzen lässt.
Wird diese Task auch jedes mal aufgerufen, wenn eine andere Task fertig 
ausgeführt wurde, um die Zeit bis zur Ausführung der nächsten Task durch 
den Scheduler nach Ablauf der RTOS-Tick-Rate (z.B. 1ms, also 1000 Ticks) 
zu überbrücken oder wird die Idle Task wirklich nur aufgerufen, wenn 
alle anderen Tasks blockiert sind und nicht zur Ausführung bereitstehen?

von Klaus W. (mfgkw)


Lesenswert?

Um das wirklich zu wissen, müsste man mal den Quelltext vom Scheduler 
anschauen.
Aber wenn ich das hier sehe:
http://www.freertos.org/implementation/a00005.html
sieht es so aus, daß die Zeitscheiben nicht in einem festen Raster 
kommen, sondern z.B. bei (6) bis (7) eine Task ihre Zeitschiebe nicht 
zuende braucht, und dadurch das Raster nach vorne verschoben wird - die 
nächste Zeitscheibe beginnt sofort. Insofern ist es gar nicht nötig, den 
Rest der ungenutzten Zeitscheibe zu überbrücken.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.