Call for Papers

Debugging and Diagnosing Hard Faults on ARM Cortex-M ( Vortrag )

My Application Doesn't Run - What Could Be Wrong?

Referent: Jesus Ferreira Torreno, Infineon
Vortragsreihe: Implementierung
Zeit: 29.11.16 16:45-17:25

Zielgruppe

Entwicklung

Themenbereiche

Implementierung

Schwerpunkt

Methode

Voraussetzungen

Grundlagenwissen

Kurzfassung

Jeder Software-Entwickler hat es schon erlebt: Man ist dabei, die erstellte SW mit dem Debugger zu überprüfen, und dann, wie aus dem Nichts, bleibt der Debugger im Default-Exception-Handler stehen. Irgendwo in dem vorher abgearbeiteten Code gab es ein Problem, welches zu einem Fault-Exception geführt hat. In dem Betrag werden die verschieden Fault-Exceptions der Cortex-M Architektur erklärt (Memory-Fault, Bus-Fault, Usage-Fault und Hard-Fault) und die häufigsten Ursachen im Programm genau erläutert (Schreiben oder Lesen auf ein nicht eingeschaltetes oder vorhandenes Peripheral, Stack-Corruption, Function-Pointer mit ungültiger Adresse). Es wird ein Exception-Handler vorgestellt, mit dem es möglich ist den Stack-Inhalt zu dekodieren und erläutert, wie man den Inhalt richtig interpretiert, um die Fault-Ursache zu identifizieren. Konkret wird das am Beispiel einer SW mit einem fehlerhaften Funktions-Pointer auf einer realen HW demonstriert.

Gliederung

Der Vortrag richtet sich an SW-Entwickler für ARM-basierte Mikrocontroller mit noch geringer Erfahrung. Die Teilnehmer lernen die wesentlichen Grundlagen zu Fault-Exceptions der ARM Cortex-M Architektur und die häufigsten Ursachen im Code, die zu einer Fault-Exception führen und erleneren, wie man einen Exception-Handler aufbaut, um mit dessen Hilfe die Fault-Ursache zu identifiziert und zu korrigieren. Mit dem erworbenen Wissen und anhand der Demonstration verlieren Fault-Exceptions ihren Schrecken für den SW-Entwickler. Nach dem Vortrag ist der SW-Entwickler in der Lage, die gängigen Ursachen von Fault-Exceptions schnell und effizient ohne teure Analyse-Tools zu identifizieren und zu beheben.

Nutzen und Besonderheiten

Der Vortag beinhaltete einen Präsentationsteil und einen Demonstrationsteil. Präsentation: - Theorie zu Fault-Exceptiones und deren Ursachen - Fault-Exception bei der ARM Cortex M Architektur - Aufbau ein Fault-Exception-Handlers - Dekodieren und Interpretieren des Stack Demonstration mit einem XMC4700 Entwicklungs-Board und dem Entwicklung-Tool DAVE: Identifizieren des Problems einer fehlerhaften SW in der ein Funktion-Pointer fälschlicherweise überschrieben wird. gesteigert.

Über den Referenten

Software Application Engineer at Infineon Industrial Microncontrollers. Responsible for low level drivers and DAVE Apps with a strong focus on communication, RTOS and system level software.