Der Blätterkatalog benötigt Javascript.
Bitte aktivieren Sie Javascript in Ihren Browser-Einstellungen.
The Blätterkatalog requires Javascript.
Please activate Javascript in your browser settings.
DESIGN ELEKTRONIK 08-09 2021 11 www designelektronik de MU-Thermocouple1 CAN FD Konfi gurierbare Messeinheit mit Anschlüssen für 8 Thermoelemente Erhältlich für verschiedene Messbereiche CAN-FD-Interface zur Übertragung der Messdaten PCAN-Router Pro FD Frei programmierbarer 6-Kanal-Router und Datenlogger für CAN FD und CAN 2 0 Auslieferung mit einsatzbereiter Datenlogger-Firmware und Entwicklungspaket Optional mit Ethernet PCAN-MiniDiag FD Handheld zur grundlegenden Diagnose von CANund CAN-FD - Bussen Messung der Bitrate Terminierung Buslast und Pegel am D-Sub-Anschluss www peaksystem com Otto-Röhm-Str 69 64293 Darmstadt Germany Tel +49 6151 8173-20 Fax +49 6151 8173-29 info@peaksystem com You CAN get it Hardware und Software für CAN-Bus-Anwendungen… Ir rt ü m er u n d t ec h n is ch e Än d er u n g en v o rb eh al te n Nach dem Datei-Download erstellt der Anwender in der Funktion winIDEA-Analyzer eine neue Trace-Konfiguration Unter anderem ist im Menüpunkt »Hardware« die Trace-Einheit und der Rekorder innerhalb des Debuggers konfigurierbar einschließlich der Komparatoren zur Auswahl der Ressourcen die aufzuzeichnen sind Im »Profiler« legt der Anwender fest wie die Trace-Rohdaten vom Zielprozessor zu interpretieren und visualisieren sind Ein besonderes Interesse gilt hier den Tasks und ISRs deshalb wählt der Anwender für die Datenverfolgung Betriebssystemobjekte aus aktiviert entsprechende Datenbereiche und fügt gegebenenfalls eine aussagekräftige Variable hinzu Startet der Anwender die Aufzeichnung zeigt die Profiler-Zeitleiste innerhalb weniger Sekunden Tasks ISRs und die Zählervariablen an Bild 3 Graue Bereiche deuten darauf hin dass ein Objekt im Leerlauf ist während die roten Abschnitte anzeigen dass eine Aufgabe oder ISR aktiv ist Blau weist auf eine hohe Aktivität hin – für eine Detailansicht muss der Nutzer näher heranzoomen Alternativ zur Zeitleistenansicht ist die Trace-Ansicht wählbar Sie zeigt die bereits decodierten Trace-Nachrichten an die vom Ziel übermittelt wurden Oder eine Statistikansicht die neben vielen anderen Metriken die CPU-Auslastung anzeigt die von bestimmten Betriebssystemobjekten verursacht wird ■ ■ Resets auf der Spur Das zweite Beispiel macht die Vorteile von Trace deutlich Das Debuggen eines Embedded-Systems ist besonders schwierig wenn dem Entwickler der Kontext fehlt was die Anwendung vor dem Fehler getan hat Passieren kann das wenn der Stack beschädigt ist oder wenn wie in diesem Beispiel die Anwendung aus unbekannten Gründen neu startet Auf den ersten Blick läuft die Anwendung – Vector MICROSAR – mit einem Infineon Aurix-TC399XE-Mikrocontroller auf einem iSystem Evaluierungsboard – einwandfrei jedoch vermutet der Entwickler dass es sporadische Resets gibt Um den Verdacht zu bestätigen setzt der Anwender einen Haltepunkt am Startsymbol innerhalb von winIDEA Tatsächlich bleibt die Anwendung nach ein paar Augenblicken an der Reset-Vektor-Adresse stehen Der Call-Stack ist nach einem Reset leer und deshalb nicht hilfreich für die Ursachensuche Wie ebenfalls das Register der Reset Control Unit RCU bestätigen würde han - delt es sich um einen Applikations-Reset dessen Ursache mit interaktivem Debugging lediglich schwer zu finden wäre Hier hilft wiederum Tracing Auf dem Aurix-MCU ist es möglich eine Technik namens »Post-Mortem-Debugging« zu verwenden Hier wird die Trace-Einheit angewiesen im Emulationsspeicher im Rundlaufverfahren aufzuzeichnen Erst wenn die Anwendung einen bestimmten Trigger erreicht stoppt das Aufzeichnen und der Debugger liest die Daten aus Es ist sogar möglich die Konfiguration so zu gestalten dass Anwender die Daten sowohl vor als auch nach dem betreffenden Ereignis aufzeichnen können Bild 4 Standardmäßig sortiert der Profiler die Codeund Task-Objekte in alphabetischer Reihenfolge jedoch erlaubt eine nützliche Funktion innerhalb von winIDEA ein Sortieren der Objekte nach Eintrittsoder Austrittszeiten und macht somit das Verhalten nach dem Reset sichtbar Mit Hilfe des Cursors kann der Anwender die ausgeführten Anweisungen im Trace-Fenster synchron mit der Profiler-Zeitleiste und den Trace-Ereignisse anzeigen lassen In dem beschriebenen Beispiel löst wie erwartet die Anwendung selbst den Reset aus Mit einem Zurückgehen in der Zeit kann der Entwickler sehen dass der Reset entweder auftritt wenn ein bestimmtes Signal auf Eins gesetzt wird oder wenn eine CAN-Nachricht mit einer bestimmten Nutzlast eintrifft In dem konkreten Fall scheint letzteres der Fall zu sein was die Funktion »CAN Receive Signal« anzeigt die vor dem Runnable lief Mithilfe von Hardware-Tracing konnte der Anwender hier also die Fehlersuche für ein Problem das sonst sehr schwierig zu finden gewesen wäre in kurzer Zeit abschließen ■ ■ Fehler schnell finden Das Debuggen einer Embedded-Anwendung ist nicht nur zeitaufwendig sondern mit Standardmethoden die beim Testen das Echtzeitverhalten stören auch oftmals sehr schwer Hardware-Tracing unterstützt den Entwickler beim Auffinden von Fehlern deren Ursachenklärung mit anderen Techniken sehr herausfordernd gewesen wäre Speziell für das Hardware-Tracing sind zwar zusätzliche Hardware und entsprechende Tools erforderlich – das zahlt sich jedoch durch schnelle Debugging-Ergebnisse vollkommen aus Möglich ist das dank tiefgreifender Erkenntnisse über die Anwendungsausführung ts