NEU: WHITE PAPER
NEU: WHITE PAPER
NEU: WHITE PAPER
NEU: WHITE PAPER
NEU: WHITE PAPER

Neue Anforderungen aus dem "Consumer Umfeld" steigern die Komplexität von eingebetteten Systemen immer weiter, hinzu kommt ein überhitzter Bauteilemarkt.

In diesem White Paper stellen wir Ihnen drei Wege vor, die zu einer erfolgreichen und robusten Embedded-Plattform führen.

>> zum White Paper

04.11.2016 | Fachthema

Debugging ohne schädliche Einflüsse

Verwendete Tags:
Debugging
Elektronik
Embedded
Embedded System
Software

Debugging ohne schädliche Einflüsse

"Wer misst misst Mist"

„Wer misst, misst Mist“ ist eine Erkenntnis, mit der man schon bald als Techniker in seiner Ausbildung konfrontiert wird. Jede Messung, jede Untersuchung an einem System beeinflusst das System selbst. Beim Debuggen von Embedded Systemen ist das nicht anders. Wie Sie im Artikel "Debugging aus der Ferne" erfahren haben, beeinflusst der Remote-Debugger das Laufzeitverhalten der Software. Normalerweise können diese Abweichungen toleriert werden, vor allem wenn man das System mit Reserven entwickelt hat. Bei einem Embedded System mit eingeschränkten Ressourcen und knallharten Echtzeitanforderungen, kann der Einfluss der wenn auch schlanken Debugging Software am Target das System unbrauchbar machen. Die Hersteller von Debugging Software und Prozessoren haben sich Gedanken gemacht, wie man diesen Einfluss möglichst gering halten kann und bieten folgende Lösungen an:

Spezielle Debugging Schnittstellen

Der Debugging Server am Target benötigt Zeit und Ressourcen für die Kommunikation mit der Debugging Software am Host-PC. Auch andere Debugging Mechanismen wie Breakpoints oder Registerüberwachung benötigt zusätzliche Software und Rechenleistung. Viele Prozessorhersteller haben daher ihre Prozessoren und Controller mit speziellen Debugging Schnittstellen ausgestattet, die es erlauben direkt in den Prozessor hineinzuschauen und ohne Overhead mit dem Host-PC zu kommunizieren. Diese Schnittstellen sind u.a. als BDM oder JTAG Schnittstellen bekannt.

Debugging Emulator | Bild: Wikipedia

Debugging Emulator | Bild: Wikipedia

Emulatoren

Auch die o.g. Debugging Schnittstellen bieten nur eingeschränkte Debugging Möglichkeiten ohne Seiteneffekte. Um sämtliche, auch zeitliche Feinheiten im System zu analysieren, bieten einige Prozessorhersteller ganz spezielle (teure) Varianten ihrer Chips an (bond-out-chips), die in Emulatoren eingesetzt werden. Ein Emulator ist ein Hardwaresystem, das anstatt des Prozessors in das Embedded System gesteckt wird. Der Debugger kann zumeist ohne Einschränkungen auf alle Innereien des emulierten Prozessors zugreifen. Emulatoren waren früher richtig große und teure Kisten, die speziell vom Prozessorhersteller für neue Chips entwickelt wurden. Heute sind Größe und Preis dieser Tools schon etwas erträglicher.

Simulatoren

Für die eingeschränkte Fehlersuche in einem Embedded System bieten sich auch Simulatoren an. Diese Simulieren das Targetsystem samt Prozessorverhalten komplett auf dem Host-PC.

 

 

Bild: © faithie | Fotolia

 

 

Kontakt

Sie haben Fragen

oder möchten Kontakt aufnehmen?