FreeRTOS Idle Task

Gast #3625337
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?
#3625938
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren