Softwareentwicklung

Debuggen von MCU Anwendungen

Nachdem eine Mikrocontroller Anwendung spezifiziert und der Code geschrieben wurde, ist der nächste Schritt den Code im Zielsystem zu Testen. Eine gute Umgebung für Entwicklungstools ist wichtig, um die Gesamtentwicklungszeit sowie -kosten zu reduzieren. Benutzer möchten ihr Anwendungsprogramm unter Bedingungen debuggen, die der tatsächlichen Einrichtung ihres Systems entsprechen. Aus diesem Grund ist die Möglichkeit zum Debuggen eines Benutzerprogramms in einem realen Zielsystem erforderlich.

Viele Mikrocontroller Hersteller wie Freescale implementieren hierfür einen sogenannten Background Debug Modus (BDM), auf den über eine einfache Schnittstelle (meist JTAG) zugegriffen werden kann und In-Circuit-Debugging- Funktionen in Mikrocontrollern ermöglicht.

Im Debug-Modus wird die vollständige Steuerung des Prozessorbetriebs ermöglicht, unabhängig davon, ob der Prozessor bereits programmiert wurde. So kann z.B. eine steuernde Anwendung aus der Sicht der CPU auf den Speicher zugreifen. Ein solches Programm kann z.B. Code laden und ausführen sowie Ergebnisse zurück an den PC senden. Der BDM-Host kann Befehle mit Parametern an das Ziel ausgeben. Einige Befehle ermöglichen das Lesen oder Schreiben von Blöcken des Zielspeichers, einzelner Register in der CPU oder von Registern, die dem Ziel nicht zur Verfügung stehen. Testroutinen können den Debugmodus verwenden, um Tests auf der Zielhardware durchzuführen.

Die zunehmende Komplexität der heutigen Software- und Hardware-Designs führt zu neuen Anforderungen für das Debuggen. Siliziumhersteller bieten daher immer mehr On-Chip-Debugging-Funktionen für die Fehlerbehebung neuer Prozessoren an. Um auf diese Funktion, die in verschiedenen Prozessoren Familien unter den Namen Hintergrund-Debug-Modus (BDM) oder On-Chip- In-Circuit-Debugging implementiert ist zuzugreifen, wird eine Hardwarekomponente benötigt, die eine Verbindung zwischen PC und Mikrocontroller herstellen kann. eVision Systems bietet hierfür die Multilink Serie an, welche das Debuggen über den BDM ermöglicht.

Wieso sollte man Anwendungscode testen?

Durch die Verwendung von Debug-Funktionen kann die Testanwendung On-Chip- und Off-Chip-Schaltungen steuern und dann die Betriebsergebnisse dieser Funktionen beobachten. Das Produkt selbst kann mit anderen elektronischen Geräten verbunden werden, um einen vollständigen Funktionstest zu ermöglichen, während es über den Debug-Modus gesteuert/beobachtet wird. Das primäre Ziel ist ein umfangreiches Testen auf dem realen Prozessor mit möglichst höher Testabdeckung. Weiterhin soll es im Falle eines Ausfalls einfach möglich sein, den Fehler mit so schnell wie möglich zu identifizieren. Der Vorteil des Debugmodus besteht darin, dass der Prozessor keinen Anwendungscode ausführen muss, damit der Test ausgeführt werden kann. Dadurch wird der Test nicht durch einen Fehler verhindert, der die Ausführung der endgültigen Anwendung im Produkt behindern kann (z. B. ein Adressierungs-/Datenleitungsfehler). Darüber hinaus ist es wesentlich einfacher, eine Testanwendung auf dem PC im Debugmodus zu entwerfen, als einen Test zu erstellen, der im Produkt ausgeführt wird. Eine PC-Testanwendung kann auch Testergebnisse aufzeichnen und anzeigen und in andere Test- und Steuerungsanwendungen integriert werden.

Multilink Serie

Der USB Multilink Universal FX von PEmicro ist eine High Speed All-in-One-Entwicklungsschnittstelle, die einem PC den Zugriff auf den Background Debug Mode (BDM-) über die JTAG-Schnittstelle ermöglicht und mit allen Geräten mit ARM Architektur kompatibel ist. Darüber hinaus unterstützt der Debugger und Programmer NXP, Renesas, STMicro, Infineon (Tricore) und viele weitere Micro-controller Familine.

Cyclone Serie

Bei den Modellen der Cyclone Serie handelt es sich um einen Standalone Programmierer für die Klein- bis Mittelserien Produktion. Dabei unterstützten die Geräte ebenso wie die Multilink Serie eine Vielzahl von Microcontroller Architekturen. 

Software für MCU Anwendungen

Unser Partner P&E Microcomputer Systems Inc. Stellt ein kostenloses Softwarepaket für das Erstellen von benutzerdefinierten Anwendungen zu Verfügung, die über die Multilink Serie mit einem ARM® Cortex™-M-basierten System (ACMP) interagieren und dieses debuggen kann. Das Softwarepaket besteht aus einer Schnittstellenbibliothek (Windows DLL und Linux .SO) und Beispielcode und enthält sowohl C/C++- als auch Delphi-Beispielroutinen sowie detaillierte Aufrufinformationen für die DLL/SO. Die C- und Delphi-Module in den ACMP Hardware Interface Library Routines werden als Quellcode verwendet, der mit einer DLL/SO zur Schnittstelle zur Hardware übergeht. Die ACMP Hardware Interface Library Routines-Bibliothek ist sehr nützlich, um Ihre eigene benutzerdefinierte Anwendung zu erstellen, um Funktionen wie Produkttest, Kalibrierung und Aktualisierung zu übernehmen. Die im Paket enthaltenen Demoprogramme zeigen Ihnen, wie Sie die Schnittstelle, Programmregister, Download-Code in den RAM und Schritt-durch-Code initialisieren. Beginnend mit diesen Programmen ist es einfach, sie an Ihre spezifischen Anforderungen anzupassen. Anwendungen, die mit dem mitgelieferten 32-Bit erstellt wurden. DLL wird auch auf den unten unter Systemanforderungen aufgeführten 64-Bit-Betriebssystemen ausgeführt.

Die hier von eVision Systems bereitgestellten Tools und Methoden helfen Ihnen, die Komplexität von Produkttests zu reduzieren. Die Nutzung der erweiterten Funktionen führt zu einem effektiveren Testprozess, der Ihnen eine höhere Zuverlässigkeit bietet, eine schnellere Markteinführung ermöglicht und durch verkürzen der Fehlerfindung auch die Entwicklungskosten reduziert. Wir bieten für weitere Anwendungsfälle zuverlässige Lösungen an.