Abb: Finale Lösung
Software
Für exakte Berechnung der Prozessauslastung für ESP32 haben
wir uns entschieden, dass wir mit FreeRTOS Funktion
"vTaskGetRunTime()" benutzen. Unser Programm kann man
hier herunterladen, das Programm
ist auch für andere Projekte verwendbar(Siehe
Bedienungsanleitung)
- Parameter Beschreibung Task: Name der
Tasks/Threads Total time: Gesamtzeit (in us),
seit der Mikrokontroller gebootet ist Run Time:
Ausführungszeit(in us) der Task seit der Mikrokontroller gebootet ist
Precentage: prozentuale Anteil der Prozessauslast
(Berechnung Siehe: hier)
CPU: CPU ist ein Task zur Berechnung der
Prozessorauslast IDLE1, IDLE0: IDLE ist ein
Task, das nichts macht, z.B. bei Aufruf von "delay(100)" heißt, dass
für 100ms macht das Task nichts. loopTask:
loopTask ist das Task, wo bei Arduino als Hauptschleife dient(void
loop()). Tmr Svc(Timer Service oder Deamon): Tmr
Svc ist ein Task, die eine geordnete Liste von Software-Timer führt.
ipc0, ipc1: sind Zusatztasks, die während
Flash-Vorgängen verwendet werden(Detail:
hier). esp_timer: ist ein
Hardware-Timer für ESP32(Detail:
hier)
|