Debugging von Echtzeit-Systemen (Deutsch)/(English)

Kursbeschreibung

Dieser Kurs befasst sich mit dem Identifizieren und Korrigieren von Fehlerquellen und Fehlern in Software für Echtzeit- und Embedded-Systeme. Die Schulung beginnt mit einer Darstellung der wichtigsten Schritte und Richtlinien zum Identifizieren und Beheben von Situationen, in denen Software für Echtzeit- und Embedded-Systeme nicht richtig läuft.

Anschließend erhalten die Teilnehmer einen Überblick über die weitreichenden Fehlerkategorien, die sich negativ auf die Software auswirken können. In einem weiteren Schwerpunkt des Kurses wird eine Diskussion über die „Top 5“ der Fehler geführt, die zu echten „Projekt-Killern“ oder „Produkt-Killern“ werden können. Dazu zählen stack overflows, race conditions, Deadlocks, Timing-Probleme und re-entrancy conditions. Der Schwerpunkt wird eher auf Multitasking- und Timing-Verhalten, als auf allgemeine Datenverarbeitungsthemen gelegt.

Im nächsten Themenpunkt werden nützliche Debugging-Werkzeuge wie low-level monitors und high-level RTOS-aware System-Debugger vorgestellt und erläutert. Liveness-Themen wie Deadly Embrace, Lockout, Knappheit von Speicher und CPU werden detailliert behandelt. Auch die verschiedenen Fehlerarten, die Probleme in Interrupt Service Routines ("ISRs") verursachen, werden detailliert beschrieben. Ebenso lernen die Kursteilnehmer, wie man die Anforderungen an die Konfigurierung und Leistungsfähigkeit richtig einschätzt, und wie man Designprobleme wie Interrupt Overflow lösen kann. Anschließend werden Techniken für die quantitative Evaluierung von Timing-Performance-Bugs in Echtzeit-Software dargestellt.

Dieser Kurs ist kein allgemeiner Kurs über das Debugging von Software. Vielmehr liegt der Schwerpunkt im Debugging von Embedded, Timing-abhängiger, Ressourcen-abhängiger Multitasking-Software, die auf einem modernen Echtzeit-Betriebssystem ("RTOS") läuft.

Voraussetzungen

Kursteilnehmer sollten über praktisches Programmierwissen im Bereich Echtzeit- und Embedded-Systeme verfügen. Darüber hinaus sind Kenntnisse mindestens eines Echtzeit-Betriebssystems erforderlich. Zusätzliches Wissen für diesen Kurs kann in unserem Kurs “Entwurf von Echtzeit-Systemen und Software“ erworben werden.

Zielgruppe

Dieser Kurs richtet sich an Software-Entwickler im Bereich Echtzeit- und Embedded Systeme, Projekt-Manager und Qualitäts-Ingenieure, die verantwortlich für die Planung, Implementierung und das Debugging von Software für Echtzeit- und Embedded-Systeme sind.

Begleitendes Kursmaterial

  • Kursordner (deutsch)

FlexyTrain: Unsere Flexibilität – Ihr Plus

Keinen passenden Termin gefunden? Kein Problem: Bei der Planung unserer Kurstermine bieten wir Ihnen ein Höchstmaß an Flexibilität. Im Klartext: Gemeinsam mit Ihnen finden wir einen geeigneten Termin. Sprechen Sie uns an!