events

DESIGN&ELEKTRONIK-Entwicklerforum HMI – Komponenten & Lösungen
DESIGN&ELEKTRONIK-Entwicklerforum HMI – Komponenten & Lösungen

Am 24. Mai 2012 findet das DESIGN&ELEKTRONIK-Entwicklerforum »HMI – Komponenten & Lösungen« mit begleitender Fachausstellung statt. Die Themen: »Bedienen und Beobachten: Technik, Know-how und Tools für das Design moderner Benutzerschnittstellen«.

Melden Sie sich jetzt an…

DESIGN&ELEKTRONIK-Entwicklerforum »Embedded-System-Entwicklung«
DESIGN&ELEKTRONIK-Entwicklerforum »Embedded-System-Entwicklung«

Auch in diesem Jahr veranstaltet die DESIGN&ELEKTRONIK wieder das Entwicklerforum »Embedded-System-Entwicklung« am 11. und 12. Juli 2012 in München. Neben einem technisch anspruchsvollen Vortragsprogramm ermöglichen verschiedene Workshops den Teilnehmern einen differenzierten Einblick in die Thematik.

Ausführliche Informationen:
www.embedded-entwicklerforum.de

Produkte des Jahres 2012

Linux /ARM

Linux: Embedded für alle
Linux: Embedded für alle

Linux ist heute erste Wahl geworden, wenn es um die Entscheidung für ein Betriebssystem in einem leistungsfähigen Embedded-System geht. Wie kann es sein, dass eine Open-Source-Software gerade bei Embedded-Systemen so erfolgreich ist?

Konferenz für ARM-Systementwicklung
Konferenz für ARM-Systementwicklung

Die große Konferenz für ARM-Systementwicklung am 11. und 12. Juli 2012 in München bietet Entwicklern die Gelegenheit, sich detailliertes Wissen über die aktuellen Cortex-Architekturen anzueignen, die mittlerweile zum Industriestandard avanciert sind.

Ausführliche Informationen:
www.arm-entwicklerkonferenz.de

embedded world Technology Report

Android & Embedded
embedded world Technology Report

Welche Embedded-Trends zeichnen sich ab? Im »embedded world Technology Report« gibt ein unabhängiger Expertenrat einen exklusiven Einblick in aktuelle Entwicklungen und zukünftige Trends im Embedded-Bereich.

Interessiert? Hier geht es zum kostenlosen Download

embedded world special

embedded world 2012
embedded world 2012

Wir haben aktuell von der weltgrößten Messe für die Embedded-Branche mit News, Videobeiträgen und Produktneuheiten berichtet.

Windows Embedded Standard 7

Windows Embedded Standard 7
Windows Embedded Standard 7

Was ist neu in Windows Embedded Standard 7? Lesen Sie alles rund um das neue Microsoft-Embedded-Betriebssystem Embedded Standard 7 in unserem Spezial.


Windows 7 - Special zum Download

Windows 7 -Special zum Download
Windows 7 -Special zum Download

20 Seiten Fachwissen – Das Windows-Embedded-Special als PDF-Download.


Marktübersichten Embedded

Marktübersichten aus dem Bereich Embedded

Software im sicherheitskritischen Bereich

Entwicklungssoftware
Entwicklungssoftware

Um die »Worst-Case Execution Time« zu erhalten, gibt es verschiedene Herangehensweisen – bequeme und weniger bequeme.


25. Mai 2011
PLS Programmierbare Logik & Systeme

Zehn Tipps für das Debugging

Mit zunehmender Komplexität der Mikrocontroller und Schaltungen gewinnt das Debuggen eine immer größere Bedeutung. Doch welche Diagnose- und Debug-Funktionen braucht man wirklich und was ist unnötig?

Anzeige

Heiko Riessland, PLS
PLS 
zoom
Heiko Riessland, PLS: »Moderne Debugger sind heutzutage oft weit mehr als nur ein interaktives Werkzeug zur Fehlersuche.«

Diesen Fragen sind wir nachgegangen und haben zusammen mit Heiko Riessland, Produktmanager von PLS Programmierbare Logik & Systeme zusammengestellt, worauf Anwender bei der Auswahl des passenden Debug-Tools achten sollten.

Tipp Nr. 1: Sparen Sie nicht bei der Debug-Schnittstelle

Die Debug-Schnittstelle erlaubt die Beobachtung von Hard- und Software sowie deren Zusammenspiel. Sie ist eine der wichtigsten Möglichkeiten, ein Mikrocontrollersystem nicht nur als Black Box zu testen. »Wann immer möglich, sollte ein System-on-Chip mit einer leistungsfähigen Diagnose-Schnittstelle ausgewählt und diese dann auch in der leistungsfähigsten Ausbaustufe auf der Hardware implementiert werden«, erklärt Heiko Riessland, Produktmanager von PLS. »Moderne Debug-Interfaces sind ebenso komplexe Baugruppen wie die funktionalen Peripherals, und sie verlangen die gleiche Aufmerksamkeit in der Leitungsführung bezüglich Stromversorgung, Taktfrequenz etc. Zur Kostenersparnis können Steckverbinder in der Serienhardware unbestückt bleiben. Im Platinenlayout sollte man sie aber möglichst immer vorsehen.«

Tipp Nr. 2: Brauche ich Trace?

»Zwingend ist ein Trace immer dann, wenn der Programmfluss oder die Änderung von Programmdaten lückenlos rekonstruiert werden muss, um die Ursache eines Problems zu finden«, so Riessland. »Aber auch sonst ist eine zusätzliche leistungsstarke Schnittstelle für Code- und/oder Daten-Trace absolut empfehlenswert, weil die Ergebnisse eines Trace nicht nur - wie fälschlicherweise oft angenommen - allein der Fehlersuche dienen, sondern auch eine solide Basis für das Debuggen auf Systemebene mit Funktionen wie Profiling, Code Coverage und Execution Sequence Diagram darstellen.« So ließen sich beispielsweise Performance-Engpässe in der Applikation aufspüren oder die Software nach bestimmten Normen zertifizieren. Ein entsprechend leistungsfähiges Debug-Werkzeug kann heutzutage auf Basis eines Code-Trace beispielsweise auch zuverlässige Statistiken über C0- und C1-Code-Coverage erstellen. C0 bewertet die Ausführungsabdeckung jeder Maschineninstruktion, C1 die jedes Entscheidungszweiges im Programmfluss.

Tipp Nr. 3: Nutzen Sie spezielle Emulation Devices

Für einige besonders leistungsfähige 16- und 32-Bit-Mikrocontroller wie die Automotive-SoCs der Familien XC2000 und TriCore von Infineon gibt es seit längerem spezielle, zum Serienchip 100-prozentig footprint-kompatible Emulation Devices, die neben dem Serienchip auch eine zusätzliche Debug- und Trace-Logik implementiert haben. »Nach heutigem Stand der Technik und aus eigener Erfahrung ist dies wohl der effizienteste Diagnose- und Debug-Ansatz, weil es de facto technisch immer schwieriger und aufwendiger wird, die in einem komplexen SoC intern anfallenden Datenmengen für Diagnosezwecke nach außen zu transportieren«, verdeutlicht Riessland. »Inzwischen zeichnet sich ab, dass wohl auch andere Hersteller diesem Ansatz folgen werden.« Steht ein entsprechendes Emulation Device zur Verfügung, sollten nach Überzeugung des Experten einige Prototypen einer neuen Hardware damit bestückt werden. Der überschaubare zusätzliche Aufwand in Hardware und unterstützende Tools mache sich meist schon bei der ersten Suche nach der Ursache eines komplexeren Fehlers bezahlt.

Tipp Nr. 4: Ein Bild sagt mehr als 1000 Zahlen

Um bei einer modernen SoC-Applikation den Überblick zu behalten, sollte das Debug-Tool eine Sicht auf das System in unterschiedlichen Abstraktionsstufen beinhalten. Dazu gehört auch die grafische Darstellung komplexer Zusammenhänge. Typische Beispiele hierfür sind die grafische Darstellung von Daten und Prozessgrößen im zeitlichen Verlauf und in Relation zueinander, Funktionslaufzeiten und Programmfluss. Dazu Riessland: »Gesetzt den Fall, es liegen von vier Prozessgrößen je 1000 Messwerte vor: Grafisch ist in der Regel schon auf den ersten Blick zumindest tendenziell eine Verlaufsbewertung möglich. Das reicht für eine erste schnelle Einschätzung der Situation, und für eine detaillierte Auswertung stehen dann immer noch die Messwerte parallel zur Grafik zur Verfügung.«

Tipp Nr. 5: Debugger - nur für die Fehlersuche viel zu schade

Ein bewährter Programmiergrundsatz lautet: Arbeite jeden neu geschriebenen Source-Code mindestens einmal im Debugger im Einzelschritt durch. »Nicht, dass dieser Leitsatz an Aktualität oder Sinn verloren hätte«, merkt Riessland an. »Aber moderne Debugger sind heutzutage oft weit mehr als nur ein interaktives Werkzeug zur Fehlersuche. Bei kleineren Projekten beispielsweise lassen sich mit einem skriptfähigen Debugger sogar Tests selber erstellen und automatisiert ausführen. Bei größeren Projekten kann der Debugger den Zugang zum und die Ablaufsteuerung auf dem Target bereitstellen und mit einem entsprechenden Tool zur Arbeit mit den Testfällen gekoppelt werden.« Wichtig sei nur, dass entsprechend leistungsfähige, idealerweise standardisierte nicht-proprietäre Schnittstellen zur Verfügung stünden, die es dem Entwickler erlauben, mit seinen Werkzeugen eigene optimierte Workflows zusammenzustellen oder die Tools in Frameworks wie Eclipse nahtlos einzubinden.

1. Teil: Zehn Tipps für das Debugging
2. Teil: Zehn Tipps für das Debugging