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.
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.
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?
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)
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).
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.