Hallo,

Ich kenne zwar den RP6 nicht, möchte aber ein paar Worte zu einem (RT)OS loswerden:
ein HAL wird hier sogar in den meisten Fällen eher unnötig und verschwenderisch sein, den direkten Hardwarezugriff über einen eigenen Task zu kapseln bringt nur Vorteile wenn mehrere Tasks diese Resource benötigen und die Anzahl der darauf zugreifenden Tasks beim kompilieren nicht bekannt ist bzw. nicht gesteuert werden kann wann welcher Task darauf zugreift.

In der Regel wird nur ein Task auf eine Resource zugreifen (zb. Akkuspannung über einen ADC-Port messen etc), in diesem Fall ist keine gesonderte Behandlung nötig.
Sollten mehrere Tasks diese Ressource zeitweise benötigen, lässt sich das auch noch mit Critical Sections regeln (Gloable Interrupts im kritischen Abschnitt abschalten - kein Taskwechsel).
Ein eigener Treibertask wird vllt höchstens für die Kommunikation nötig sein - hier teilen sich viele Tasks asynchron die Resource.

Über den Sinn oder Unsinn eines (RT)OS bei einer bestimmten Zielsetzung lässt sich streiten - dass aber ein OS ab einer gewissen Anwendungskomplexität sowohl die Entwurfsphase beschleunigen und vereinfachen sowie die Systemstabilität steigern kann ist glaube ich nicht abzustreiten.

mfg