Forum: Mikrocontroller und Digitale Elektronik Programmstruktur RTOS


von An (Gast)


Lesenswert?

Wie strukturiere ich den Programmablauf bei dem Einsatz eines RTOS?

Bisher habe ich immer eine table-driven State Machine benutzt, die 
relativ flexibel war. Nun möchte ich mich mehr mit Echtzeit 
Betriebssystemen wie z.B FreeRTOS beschäftigen und überlege wie das 
Konzept dahinter aussieht. Mir ist klar das die Tasks quasi parallel 
abgearbeitet werden und das in festen Intervallen.

Wie würde ich jetzt den eigentlichen Programmablauf realisieren? So das 
die Werte die in den einzelnen Tasks gepollt werden überprüft werden und 
ich entsprechend in einen anderen "State" übergehe.

Gibt es da ein Design Pattern an dem man sich orientieren kann?

von piere (Gast)


Lesenswert?

>und das in festen Intervallen

Nein.

von Klaus (Gast)


Lesenswert?

An schrieb:
> [...]
> Bisher habe ich immer eine table-driven State Machine benutzt, ...

Dann beschäftige Dich erstmal mit weiteren Design-Patterns. Denn 
https://de.wikipedia.org/wiki/Entwurfsmuster#Nachteile

und lies bitte auch die englischen Einträge.

Ich weiss: wenn man einmal hämmern gelernt hat, sieht alles wie ein 
herausstehender Nagel aus, aber das ist ein Wahrnehmungsproblem.

von An (Gast)


Lesenswert?

Okay.

Ich formuliere die Frage anders:

Wie strukturiert ihr euer Programm bei dem Einsatz eines RTOS.

von Klaus (Gast)


Lesenswert?

An schrieb:
> Okay.
>
> Ich formuliere die Frage anders:
>
> Wie strukturiert ihr euer Programm bei dem Einsatz eines RTOS.

:-) Dann formuliere ich die Antwort mal anders: So, dass es die Probleme 
löst.

Bei allem menschlichen Respekt vor Deiner Person: Das ist eine typische 
(Wochenend-) Rundumschlags-Frage. Lerne die Grundlagen und dann 
diskutieren wir Details.

von Pascal (Gast)


Lesenswert?

In der Dokumentation von FreeRTOS sind mehrere 
Realisierungsmöglichkeiten für ein hypothetisches Szenario drin.

Z.B. hier als PDF: 
http://thetoolchain.com/datasheets/FreeRTOS_manual.pdf. Ist 
wahrscheinlich als HTML auch auf freertos.org drauf, hab's aber auf die 
Schnelle nicht gefunden.

von eagle user (Gast)


Lesenswert?

An schrieb:

> Wie strukturiert ihr euer Programm bei dem Einsatz eines RTOS.

Mit möglichst wenig Tasks, z.B. eine für die eigentliche 
Steuerung/Regelung mit einer State Machine innendrin, eine für die 
Benutzerschnittstelle mit Warteschleifen für Tastatur und Bildschirm und 
eine für den Rest, z.B. Blinken Lights oder Logging. Dazu ein paar eher 
fette Interrupt-Routinen. Die müssen nicht so kurz wie möglich sein, sie 
dürfen sich nur nicht selbst überholen und die Hardware hat gefälligst 
vernünftige Interrupt-Frequenzen sicher zu stellen.

von An (Gast)


Lesenswert?

Super. Dank euch beiden.

Für alle die es interessiert: In dem Manual von Pascal geht es ab Seite 
91 los. (Nicht die Seitenzahl der Abschnitte beachten, sondern global).

Falls andere noch Input haben, gerne her damit.

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.