17:35 Uhr
C++ (Klassen-) Funktionen im Interrupt-Kontext ausführen
Vom Interrupt Vektor über variante Argumenttypen bis hin zum Objektzugriff
Details anzeigen
Autor:in:
Thomas Batt | MicroConsult Academy GmbH | Germany
Sprache:
Deutsch
Zielgruppe:
Softwareentwickler, Softwaredesigner, Softwarearchitekten
Voraussetzungen:
Programmiererfahrung mit C und C++ im hardwarenahen Umfeld
Überblick und Zusammenfassungen:
Interrupt-Service-Routinen als reine C-Funktion bieten wenig Möglichkeiten der Flexibilität und der Varianz. Im Zusammenspiel mit C++ zeigt dieser Beitrag, wie eine statische Klassenfunktion unabhängig von dem eingesetzten Entwicklung-Environment an den Interrupt-Vektor gelinkt werden kann. Diese einfache Lösung ist einschränkend, besonders bei einem konsequent Objekt-orientieren Design.
Der zweite Vortragsteil zeigt eine fortschrittlichere Lösung mit modernem C++, die es erlaubt, auch im Interrupt-Kontext auf Objektdaten zuzugreifen. Der hohe Abstraktionsgrad des Interrupt-Services macht ihn für alle Interrupts und Plattform unabhängig, universell einsetzbar. Die Möglichkeit unterschiedlichste Argumenttypen, bei gewährleisteter Typsicherheit dem Interrupt-Service zu übergeben, rundet die Lösung ab.
Art der Vermittlung:
Präsentation mit realen Codebeispielen
Nutzen:
Die Teilnehmer sind nach dem Vortrag in der Lage, für ihre Embedded Software zu entscheiden, wie sie im Interrupt-Kontext C++ anwenden und schon vorhandene Lösung zu optimieren. Als Entscheidungsgrundalge dafür dienen zum einen die hier vorgestellten Lösungen zum anderen müssen natürlich immer die Softwareanforderungen damit erfüllt werden.