Beschleunigung des Prototyping und der Code-Aktualisierung mit einem modernen In-Circuit Debugger
Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey
2024-05-29
Entwicklungsteams stehen unter dem Druck, die Produktauslieferung zu beschleunigen, auch wenn die Komplexität eingebetteter Systeme zunimmt. In-Circuit-Debugger (ICDs) spielen hier eine entscheidende Rolle, da sie helfen, Fehler schnell zu erkennen und zu beheben. Herkömmliche Debugger sind jedoch sperrig, unflexibel und schwer zu verwenden, was sie für die heutigen Entwicklungsanforderungen ungeeignet macht.
Stattdessen kann eine modernere Lösung verwendet werden, die kompakt ist, einen größeren Funktionsumfang hat und über entwicklerfreundlichere Toolsets verfügt. Insbesondere sollten eine Unterstützung für eine schnelle Entwicklung und Produktaktualisierung im Labor und im Feld gefunden werden.
Dieser Artikel beschreibt kurz die Rolle und die Anforderungen von ICDs. Anschließend wird eine Lösung von Microchip Technology als Beispiel dafür vorgestellt, worauf bei einem modernen ICD geachtet werden sollte. Ebenfalls enthalten sind kompatible Entwicklungstools, Tipps für den Einstieg und eine Kurzanleitung für die Verwendung eines ICD in Produktionsumgebungen.
Vorteile und Herausforderungen von ICDs
Ein ICD ist ein Werkzeug, das eine Verbindung zu einem in der Zielhardware installierten Prozessor herstellt. Diese Verbindung ermöglicht den Echtzeitzugriff auf den Prozessor, während das System arbeitet, und erlaubt Aufgaben wie die schrittweise Ausführung und die Überprüfung des Speichers. Ein In-Circuit-Programmierer (ICP) baut auf diesen Fähigkeiten auf, indem er das Schreiben von Code und Daten in den Prozessorspeicher ermöglicht. Zusammengenommen sind diese Funktionen entscheidend für den eingebetteten Entwicklungsprozess.
Herkömmliche Debugger erfordern jedoch spezielle Kenntnisse und Entwicklungsumgebungen, die ihren Nutzen einschränken können. Diese Debugger können auch bei der Fehlersuche in der Produktionshardware an ihre Grenzen stoßen, und sie benötigen oft JTAG-Verbindungen, die aus Kosten- und Platzgründen auf der Produktionshardware nicht implementiert werden können. Außerdem könnte die für die Fehlersuche benötigte Spezialsoftware und -hardware umständlich sein, wenn sie vor Ort eingesetzt wird.
Der ICD/ICP „MPLAB PICkit 5“ (PG164150) von Microchip Technology überwindet diese Beschränkungen. Er kann unter anderem über eine Smartphone-Anwendung mit Bluetooth Low Energy (BLE) verwendet werden. Dadurch können Code-Images vor Ort bereitgestellt werden, was die Möglichkeiten für Fehlerbehebungen und Software-Updates erheblich erweitert.
Die wichtigsten Merkmale des MPLAB PICkit 5
Das MPLAB PICkit 5 ist ein vielseitiges Gerät, das fast alle Mikrocontroller (MCUs) und digitale Signalcontroller (DSCs) von Microchip Technology unterstützt, einschließlich PIC, dsPIC, AVR und SAM (Arm®-Cortex®-basierte) Geräte. Wie in Abbildung 1 zu sehen ist, verfügt es über einen microSDHC-Kartensteckplatz, der es ermöglicht, mehrere Gerätespeicherbilder zu speichern.
Abbildung 1: Die Abbildung zeigt eine Übersicht über das MPLAB PICkit 5 mit den wichtigsten Funktionen. (Bildquelle: Microchip Technology)
Das MPLAB PICkit 5 wird über ein Kabel vom USB-Typ-C mit dem Host verbunden und kann entweder über dieses Kabel oder über das Ziel mit Strom versorgt werden. Der Debugger verfügt außerdem über eine BLE-Vernetzung, die es den Benutzern ermöglicht, über ein Smartphone auf das Tool zuzugreifen.
Der Debugger verfügt über einen 8-poligen Programmieranschluss auf der Zielseite, der verschiedene Schnittstellen unterstützt. Dazu gehören 4-Draht-JTAG, Serial Wire Debug (SWD), Ethernet, rückwärtskompatibles 2-Draht-JTAG und In-Circuit Serial Programming (ICSP). Microchip Technology bietet die Adapterkarte AC102015 (Abbildung 2) an, die alle diese Schnittstellen unterstützt.
Abbildung 2: Die Adapterplatine AC102015 bietet Platz für eine breite Palette von Schnittstellen. (Bildquelle: Microchip Technology)
Der Debugger unterstützt Zielgerät-Versorgungsspannungen von 1,2 V bis 5,0 V für den Einstieg in den Niederspannungs-Programmiermodus und von 1,8 V bis 5,0 V für den Einstieg in den Hochspannungs-Programmiermodus. Er kann das Zielgerät auch direkt mit 150 Milliampere (mA) versorgen.
Weitere Funktionen sind ein Virtual Comm Port (VCOM), mehrere Hardware- und Software-Breakpoints, eine Stoppuhr für die Zeitmessung und die Möglichkeit, Quellcode-Dateien direkt zu debuggen. Der Debugger wird von einer MCU ATSAME70N2 mit 300 Megahertz (MHz) betrieben, auf der ein Echtzeitbetriebssystem (RTOS) läuft, so dass beim Umschalten zwischen den Geräten keine Verzögerungen beim Herunterladen der Firmware auftreten. Diese integrierte Intelligenz ermöglicht es dem Debugger auch, neue Zielgeräte und Funktionen zu unterstützen.
Wesentliche Verbesserungen im Vergleich zu MPLAB PICkit 4 und MPLAB PICkit 3
Die MPLAB PICkit Serie wurde kontinuierlich weiterentwickelt und bietet mit jeder neuen Version Verbesserungen in Bezug auf Flexibilität, Geschwindigkeit und Gerätekompatibilität. Tabelle 1 fasst die wichtigsten Neuerungen des MPLAB PICkit 5 im Vergleich zu seinen Vorgängern zusammen.
|
Tabelle 1: Das MPLAB PICkit 5 bietet viele Vorteile gegenüber seinen Vorgängern. (Quelle der Tabelle: Kenton Williston)
Vom MPLAB PICkit 5 unterstützte Entwicklungsumgebungen
Das MPLAB PICkit 5 unterstützt mehrere Entwicklungsumgebungen, darunter:
- Die integrierte Entwicklungsumgebung (IDE) MPLAB X, ein umfassendes Softwarepaket für die Entwicklung eingebetteter Systeme.
- Die integrierte Programmierumgebung (IPE) MPLAB, eine vereinfachte Anwendung, die einen Produktionsmodus für diejenigen enthält, die Produkte auf der Basis von Prozessoren von Microchip Technology entwickeln.
- Die Funktionalität MPLAB Programmer-To-Go (PTG), die in MPLAB X enthalten ist und mit der Smartphone-App MPLAB X für iOS und Android funktioniert.
Besonders hervorzuheben ist die Smartphone-App (Abbildung 3), die es ermöglicht, die Zielhardware in einem einfachen Verfahren aus der Ferne zu programmieren:
- Der Code wird mit MPLAB X entwickelt und in eine .ptg-Hex-Datei kompiliert, in der Code, Daten und Konfigurationsinformationen enthalten sind.
- Die Hex-Datei wird auf eine im MPLAB PICkit 5 eingelegte microSDHC-Karte heruntergeladen.
- Auf der microSDHC-Karte können mehrere Hex-Dateien gespeichert werden, so dass der Benutzer bei der Programmierung der Zielgeräte flexibel ist.
- Das MPLAB PICkit 5 wird in die Zielhardware eingesteckt.
- Mit der Smartphone-App wählt der Benutzer ein gespeichertes Programm-Image auf der Speicherkarte aus, um das Ziel zu programmieren.
Abbildung 3: Die Smartphone-App MPLAB PTG bietet eine übersichtliche Oberfläche. (Bildquelle: Mikrochip-Technologie)
MPLAB PTG ist besonders nützlich in abgelegenen oder mobilen Umgebungen, in denen zusätzliche Geräte unpraktisch sind. Es kann Geräte direkt im Feld ohne einen Computer programmieren, was das MPLAB PICkit 5 in ein eigenständiges Programmierwerkzeug verwandelt.
Dies erleichtert schnelle Firmware-Updates vor Ort, beschleunigt die Entwicklungszyklen und verkürzt die Markteinführungszeit. Danach kann MPLAB PTG verwendet werden, um andere Feldgeräte zu aktualisieren, was eine schnelle Einführung von Produkt-Upgrades ermöglicht. Das Tool eignet sich auch für Notfallszenarien, in denen eine schnelle Neuprogrammierung zur Wiederherstellung der Gerätefunktionalität erforderlich ist.
Erste Schritte mit dem MPLAB PICkit 5
Die Verwendung des MPLAB PICkit 5 mit der MPLAB X IDE ist ein Prozess, der allen in der Embedded-Entwicklung Beschäftigten vertraut sein sollte. Die grundlegenden Schritte sind:
- Installation: Die neueste Version der MPLAB X IDE muss installiert sein. Das MPLAB PICkit 5 wird in der Regel ohne zusätzliche Treiber unterstützt, aber man sollte sich auf der Website von Microchip Technology über die aktuellsten Informationen informieren.
- Projekt einrichten: Beim Erstellen eines neuen Projekts kann das PICkit 5 als Hardware-Tool für die Programmierung und das Debugging ausgewählt werden. Diese Auswahl wird in den Projekteigenschaften unter der Kategorie „Hardware Tool“ getroffen.
- Programmieren: Nachdem ein Projekt konfiguriert und der Code vorbereitet wurde, kann die MCU durch Betätigen der Schaltfläche „Make and Program Device“ programmiert werden.
Die MPLAB IPE bietet einen einfacheren Prozess in einer Produktionsumgebung. Die wichtigsten Schritte bei der Verwendung dieses Tools sind die folgenden:
- Konfiguration: Das MPLAB PICkit 5 sollte aus den verfügbaren Tools ausgewählt werden. Anschließend müssen das Zielgerät (MCU-Modell) und die für die Programmierung vorgesehene Hex-Datei ausgewählt werden.
- Programmieren: Wenn das Gerät und die Hex-Datei ausgewählt sind, kann die MCU durch Drücken der Taste „Program“ programmiert werden. Falls erforderlich, löscht die MPLAB IPE das Zielgerät, programmiert es und verifiziert die Programmierung.
In beiden Umgebungen wird es wahrscheinlich zu technischen Schwierigkeiten kommen. Oft sind diese Probleme auf einfache Ursachen zurückzuführen, die wie folgt angegangen werden können:
- Überprüfen der Verbindungen: Die Verbindungen mit dem Host und dem Zielgerät sollten überprüft werden. Bei Verwendung einer ICSP-Schnittstelle sollte auf die Ausrichtung des Steckers geachtet werden.
- Leistungseinstellungen: Die Einstellungen für die Stromversorgung sollten überprüft werden. Einige Geräte können direkt über das MPLAB PICkit 5 mit Strom versorgt werden, während andere eine externe Stromversorgung benötigen.
- Firmware aktualisieren: Firmware-Updates für das MPLAB PICkit 5 werden in regelmäßigen Abständen von Microchip Technology veröffentlicht. Stellen Sie sicher, dass die neueste Version installiert ist.
Entwicklungskits kompatibel mit dem MPLAB PICkit 5
Das MPLAB PICkit 5 ist mit verschiedenen Entwicklungskits kompatibel, die für das Lernen, Prototyping und die Entwicklung von Anwendungen konzipiert sind. Zum Beispiel sind Curiosity-LPC-Entwicklungsboards (Low Pin Count) wie das DM164137, die 8, 14 oder 20 Pins unterstützen, für Experimente mit PIC-MCUs konzipiert. Diese Boards enthalten oft einen integrierten Programmierer und Debugger, aber ein externes Tool wie das MPLAB PICkit 5 kann zusätzliche Funktionen bieten. Es sollte geprüft werden, ob der Onboard-Programmer über eine Brücke abgeschaltet werden kann.
Xpress-Evaluierungsboards wie das DM164140 für den PIC16F18855 sind ein weiteres Beispiel. Diese Boards sind für das Rapid Prototyping mit bestimmten PIC-MCUs konzipiert. Sie werden mit einem eingebauten Programmierer und Debugger geliefert. Es kann aber das MPLAB PICkit 5 verwendet werden, um die Konsistenz zwischen den Projekten zu gewährleisten oder um spezielle Funktionen dieses Debuggers zu nutzen.
Microchip Technology bietet auch Starterkits an, wie das PIC32MX-XLP-Evaluierungsboard DM320105, das die notwendige Hardware und Software für einen schnellen Entwicklungsstart bietet. Das MPLAB PICkit 5 ist für die Programmierung und das Debugging der in diesen Kits enthaltenen MCUs nützlich und bietet eine nahtlose Erfahrung.
Fazit
Moderne ICDs können helfen, Entwicklungszyklen zu beschleunigen und Produktaktualisierungen im Feld einzuführen. Das MPLAB PICkit 5 unterstützt ein breiteres Spektrum an Zielgeräten, Verbindungsoptionen und Softwaretools als ältere Debugger, was ihm ein hohes Maß an Flexibilität und Nutzen verleiht. Besonders hervorzuheben ist die Smartphone-App, die den Einsatz des MPLAB PICkit 5 in Umgebungen ermöglicht, die mit herkömmlichen Debuggern nur schwer zugänglich sind.
Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.




