Forum: Mikrocontroller und Digitale Elektronik HW-Funktionen kapseln durch RTOS


von Hans P. (Gast)


Lesenswert?

In meinem Unternehmen wird derzeit ein Sensormodul mit Messaufnehmern 
verwendet. Die Messaufnehmer basieren funktional auf ein MCU von 
TexasInstruments und arbeiten unter sehr hohen Echtzeitanforderungen.

Das Problem ist, dass bei einem Wechsel der MCU die komplette Software 
neu überarbeitet werden muss, da sehr viele hardwarenahe Funktionen 
verwendet werden.

Deswegen ist meine Frage ob sich durch ein RTOS solche Funktionen derart 
kapseln lassen, sodass die komplette Software ohne viel Aufwand auf eine 
neue Hardware portiert werden kann?

Ein Beispiel einer solchen Funktion ist die Wandlung eines Signals im 
integrierten ADC der MCU.

von Peter II (Gast)


Lesenswert?

Hans P. schrieb:
> Deswegen ist meine Frage ob sich durch ein RTOS solche Funktionen derart
> kapseln lassen, sodass die komplette Software ohne viel Aufwand auf eine
> neue Hardware portiert werden kann?

das hat doch nicht mit einem RTOS zu tun.

Was du vermutlich meinst ist eine HAL (Hardware Abstraction Layer). 
Damit kann man sie Software unabhängig von der Hardware machen.

RTOS hat damit wenig zu tun. Aber beides HAL und RTOS kosten auch 
Rechenzeit - umsonst bekommt man nichts.

von Hans P. (Gast)


Lesenswert?

Peter II schrieb:
> Was du vermutlich meinst ist eine HAL (Hardware Abstraction Layer).
> Damit kann man sie Software unabhängig von der Hardware machen.

Ist die HAL nicht im Normalfall ein Teil eines Betriebssystems?

von Peter II (Gast)


Lesenswert?

Hans P. schrieb:
> Ist die HAL nicht im Normalfall ein Teil eines Betriebssystems?

die Meisten BS haben wohl ein HAL, aber man kann sich auch für keine µC 
eine HAL schreiben. (macht vermutlich kaum jemand)

von Nop (Gast)


Lesenswert?

Hans P. schrieb:
> Das Problem ist, dass bei einem Wechsel der MCU die komplette Software
> neu überarbeitet werden muss, da sehr viele hardwarenahe Funktionen
> verwendet werden.

Das Problem dürfte eher sein, daß da keine Schichten-Architektur 
verwendet worden ist. Wenn man das macht, hat man die eigentlichen 
HW-Abhängigkeiten in einer Schicht konzentriert, und der Rest der 
Applikation bekommt gar nicht mit, auf was für einer Hardware er läuft.

Das geht auch dann, wenn man bare metal völlig ohne OS programmiert.

Ein RTOS würde ich nur nehmen, wenn Du wirklich mehrere Tasks brauchst, 
weil das als Singlethread zu unübersichtlich würde (und weil die 
Simpelvariante mit sequentiellem Aufrufen aller Taskfunktionen aus der 
Mainloop keine blockierenden Operationen zuläßt).

von Nop (Gast)


Lesenswert?

Peter II schrieb:
> Aber beides HAL und RTOS kosten auch
> Rechenzeit - umsonst bekommt man nichts.

HAL? Jein. Man kann ja rausbekommen, welche Dinge wirklich im 
zeitkritischen Pfad liegen, oder welche extrem oft aufgerufen werden, 
und die kann die HAL dann ja auch als Makro exportieren. Auch dann, wenn 
es mehrzeilige Abläufe sind.

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.