Versand in 24h ✔
Kostenloser Versand innerhalb Deutschlands ab 59€ ✔
Abholung in Saarbrücken ✔     

Debugger und Programmer

Was ist ein Debugger ? Ein Debugger ist ein Werkzeug zum Diagnostizieren und finden von Fehlern in Computersystemen. Dabei überprüft der Debugger vor allem Programme aber auch die zur Ausführung... mehr erfahren »
Fenster schließen
Debugger und Programmer

Was ist ein Debugger ?

Ein Debugger ist ein Werkzeug zum Diagnostizieren und finden von Fehlern in Computersystemen. Dabei überprüft der Debugger vor allem Programme aber auch die zur Ausführung vorhandene Hardware. Eine weitere Funktion von Debuggern ist das Steuern des Programmablaufs. Bevor das Debugging beginnt, kann man Stellen im Code definieren, an denen die Ausführung der Software pausieren soll, sogenannte Breakpoints. Damit kann man den genauen Zustand der Software zu diesem Zeitpunkt untersuchen. man erhält zum Beispiel Einblick in alle Variablen und kann so prüfen, ob die erwarteten Werte vorliegen. Andererseits lässt sich das Programm ab dem Haltepunkt Schritt für Schritt abspielen und somit genau beobachten, was geschieht. Es wird ersichtlich, wie und wann sich die Werte einzelner Variablen verändern.Darüber hinaus lässt sich live mitverfolgen, wie genau der Code durchlaufen wird, also in welcher Reihenfolge die einzelnen Anweisungen aufgerufen und verarbeitet werden. Diese detaillierte Analyse trägt dazu bei, Vorgänge besser zu verstehen und so auch komplexe Fehler zu lösen. Teils ist es auch möglich, zu vorherigen Schritten zurückzuspringen und das Programm von dort aus erneut ablaufen zu lassen.

Was ist ein Programmer ?

Ein Programmer ist eine Hardwarekomponente, mit der ein ausführbares Programm auf einen Microcontroller übertragen werden kann. Dabei gibt es unterschiedliche Konzepte wie das des Bootloader, der Parallelprogrammierung oder des JTAG-Interfaces. Zudem spielt bei Atmel-Microcontrollern der “Serial Download eine relevante Rolle, besser bekannt als “ISP“ (In System Programming). Dabei wird das “Serial Processor Interface“ genutzt, welches bei den meisten AVR-Controllern zu finden ist. ISP-Programmer zeichnen sich meist vor allem durch den geringen Hardwareaufwand aus. Bei solchen “Billigprogrammern“ werden die Protokolle mit Hilfe eines entsprechenden Programms am Computer generiert und die Programmierhardware dient lediglich zur Pegelanpassung. Einige einfache Programmer sind derart aufgebaut, dass sie nur aus drei Schutzwiderständen und einem kleinen Treiberbaustein bestehen, der für eine sichere Übertragung bei längeren Kabeln sorgt. Damit ist ein sehr günstiger Einstieg in die Programmierung von Atmel AVR-Controllern möglich. Daneben gibt es Programmer die über eine eigene “Intelligenz“ verfügen, sogenannte “Serial-Programmer“. Bei diesen erfolgt die Datenübertragung am Programmer über eine serielle Schnittstelle oder per USB. Der Programmer selbst verfügt über einen Controller, der die Daten empfängt und das Programmierprotokoll ausführt. Der weit verbreitete SI-Prog wird zwar ebenfalls über eine serielle Schnittstelle angeschlossen ist aber äquivalent zu Parallelprogrammern und verfügt über keine eigene Intelligenz. Deshalb ist es auch nicht möglich den SI-Prog mit einem handelsüblichen USB-Serial-Adapter laufen zu lassen.

Parallelport ISP Programmer

STK 200 kompatible Programmer

Bei Parallelportprogrammern handelt es sich oft um Nachbauten von Programmierinterfaces der ersten Starterkits von ATMEL dem STK200 oder STK300. Beworben werden diese oft als STK200 kompatibel oder als sogenannte Standard-ISP-Programmer. Der Vorteil dieser Programmer liegt darin, dass so ziemlich jede Programmersoftware diese unterstützt. Die Kompatibilität bezieht sich hier auf die Belegung der Leitungen am LPT-Port und hat nichts mit der Verwendung eines Treiberschaltkreises dieser Programmer zu tun.

LTP-Pinning des STK200

SCK = 6;

MOSI = 7;

RESET = 9;

MISO = 10;

SP12 kompatible Programmer

Bei dem SP12 Programmer handelt es sich ursprünglich um eine sehr einfache Lösung, bei der nur drei Schutzwiderstände und keine weitere Pegelanpassung benutzt wurde. Dieser sehr günstige Programmer erfreut sich großer Beliebtheit. Der Hauptgrund hierfür liegt aber in seiner Schaltungslösung, die es erlaubt, das Zielsystem über den LPT-Port mit Spannung zu versorgen. Bei der STK200 Schaltung muss der Programmer vom Zielsystem versorgt werden. Es wird beim SP12 also zum Programmieren keine zusätzliche Spannungsversorgung benötigt.

LPT-Pinning des SP12:

VCC = 4,5,6,7,8;

RESET = 3;

SCK = 2;

MOSI = 9;

MISO = 11;

Pseudo serielle Programmer

Der wegen seiner guten Unterstützung des beliebten PonyProg bekannte SI-Prog wird oft als serieller Programmer bezeichnet. Seine Schaltung verrät jedoch, dass die Steuerleitungen DTR, RTS und CTS des COM-Ports verwendet werden um ein SPI-Protokoll laufen zu lassen. Dabei werden TxD und RxD, die eigentlichen Steruerleitungen gar nicht angeschlossen, was dazu führt, dass dieser Programmer nicht über USB betrieben werden werden kann und somit PonyProg nicht als Programmiertool zum Einsatz kommen kann.

Echte serielle Programmer

Echte serielle Programmer basieren oft auf dem Atmel Application-Note AN910 oder sind STK500 kompatibel. Ihnen ist dabei gemeinsam, dass ein Controller mit entsprechender AVR910 oder STK500 kompatibler Firmware vorhanden ist, die meist über den Bootloader geupdated werden kann. Parallelprogrammer werden durch die meisten Flash-Tools unterstützt und können auch mit handelsüblichen USB-Serial-Adaptern betrieben werden.

Das alte Protokoll nach AN910 ist problematisch bei der Unterstützung neuer Controller, denn hier muß der Programmer die ID des Controllers kennen. Für neue Controller braucht man also ein Update der Software im Programmer. Wichtige Weiterentwicklungen bei den Serialprogrammern ist das AVR911 und das STK500v2 Protokoll.

USB-Programmer

Die Besonderheit dieser Programmer besteht darin, dass der Programmer selbst über eine USB-Schnittstelle verfügt und somit problemlos an den Computer angeschlossen werden kann. Es handelt sich hierbei in der Regel um AVR910 oder STK500-kompatible Lösungen, für die unter Windows ein Treiber installiert werden muss, der im System einen virtuellen COM-Port simuliert.

Ein AVR-Microcontroller kann für langsame USB-Geschwindigkeiten das USB-Interface emulieren. Das USB-Protokoll selbst ist meist nur minimalistisch wodurch es zu Inkompatibilitäten kommen kann. Der größte Vorteil für die Nutzung der AVR als virtueller USB-Controller ist , dass sich damit auch ohne SMD-Bauteile USB-Programmer bauen lassen, die ohne serielle Schnittstelle funktionieren.

JTAG& PDI Programmer

Mit der Veröffentlichung des XMEGA hat sich ATMEL vom ISP Standard getrennt und an dessen Stelle kommt nun PDI oder JTAG zum Einsatz.

Für Mikrocontroller-Boards schlägt Atmel einen 6-Pin Header, 2,54 mm Raster, mit folgender Pinbelegung vor (Ansicht von Oben):

DATA 1 2 VCC

N.C. 3 4 N.C.

C L K 5 6 GND

Arduino als ISP-Programmer

Auch ein Arduino kann recht einfach als ISP-Programmer für andere Microcontroller eingesetzt werden. Dabei kommt die serielle SPI-Schnittstelle zum Einsatz. Mit Hilfe eines ISP-Programmers ist es möglich diverse Mikrocontrollertypen zu programmieren. ISP steht dabei für In-System-Programming, was so viel bedeutet, wie dass der Controller direkt im Einsatzsystem programmiert werden kann. Damit der Arduino als ISP-Programmer eingesetzt werden kann, muss dieser erst selbst entsprechend programmiert werden. Hierfür ist in der Arduino IDE bereits das Beispiel “ArduinoISP” enthalten, welches lediglich geöffnet und über USB auf den Arduino geladen werden muss. In der Arduino IDE muss dann über das Menü Werkzeuge ? Programmer ? Arduino as ISP ausgewählt werden.

Nachdem alles entsprechend verkabelt wurde kann dann der Sketch entweder durch klicken des Hochladen-Buttons bei gedrückter Umschalttaste, oder über das Menü Sketch ? Hochladen mit Programmer auf den Ziel-Mikrocontroller geladen werden.

Wozu verwendet man welchen Programmer / Debugger ?

Mit dem USB ISP ASP AVR Programmer lassen sich beispielsweise per USB wieder Bootloader auf defekte Arduinos oder alte 8Bit 3D-Druckermainboards flashen.

Der PL2303HXD Serielle Konverter 6Pin USB TTL zu RS232 ermöglicht es eine Verbindung zwischen einem seriellen RS32 Gerät auf einen USB-fähigen Host aufzubauen und eignet sich somit perfekt für Arduino Boards.

Der ST-Link V2 Schaltungsinterne Debugger und Programmer kann direkt auf den Arduino aufgesteckt werden und kann über die SwlM und JTAG/SWWD-Schnittstellen direkt mit den STM8 oder STM32 Microcontrollern des Anwendungsboards kommunizieren

 

Für die Filterung wurden keine Ergebnisse gefunden!
Verfügbar
USBASP AVR Programmer
USBASP AVR Programmer
Beschreibung: USBASP AVR Programmer Mit diesem kostengünstigen USBASP AVR Programmer können über eine ISP Schnittstelle Atmel Mikrocontroller programmiert werden. Der Programmer wird via USB Anschluss an den PC angeschlossen. Die 10...
ab 4,65 €
Verfügbar
PL2303HXD Serieller Konverter 6Pin USB TTL zu RS232
PL2303HXD Serieller Konverter 6Pin USB TTL zu...
Beschreibung: Low-cost/high-performance USB zu Seriell Controller. Der PL2303HXD von Profilic ermöglicht es eine Verbindung zwischen einem Seriellen RS232 Gerät auf einen USB-fähigen Host aufzubauen. Ideal für Arduino Boards. Die...
ab 2,21 € 2,45 €
Verfügbar
FTDI Basic Program Downloader - USB zu TTL FT232 - Breakout Modul 3.3V 5V
FTDI Basic Program Downloader - USB zu TTL...
Beschreibung: Standard-Interface kompatibel mit allen offiziellen Arduino-Controllern. Kann benutzt werden um gewöhnlichen USB mit TTL serial Port Modulen zu verbinden und STC Microcontroller zu downloaden. Details: Original FT232 Chip...
ab 3,74 €
Verfügbar
USBasp Programmer Adapter 6pin auf 10pin
USBasp Programmer Adapter 6pin auf 10pin
Beschreibung: USBasp Adapter 6pin auf 10pin Dieser Adapter erlaubt es eine Verbindung von einem USBasp Programmers an eine Zielplattform mit 6 poligem ISP-Stecker herzustellen. Die Leiterplatte ist doppelseitig mit den jeweiligen...
ab 1,35 €
Verfügbar
USB Tiny ISP Programmer mit Kabel 6/10pin für AVR
USB Tiny ISP Programmer mit Kabel 6/10pin für AVR
Beschreibung: USB ISP ASP Programmer im, um Atmel Mikrocontroller über die ISP-Schnisttelle zu programmieren. Anschluss an den PC über die USB-Schnittstelle. Gut geeignet um viele verschiedene Mikrocontroller der Atmel AVR-Serie zu...
ab 6,79 €
Verfügbar
USB ISP ASP AVR Programmer
USB ISP ASP AVR Programmer
Beschreibung: USB ISP ASP Programmer im stabilen Metallgehäuse, um Atmel Mikrocontroller über die ISP-Schnisttelle zu programmieren. Anschluss an den PC über die USB-Schnittstelle. Gut geeignet um viele verschiedene Mikrocontroller zu...
ab 5,35 €
Verfügbar
ST-Link V2 Schaltungsinterner Debugger und Programmer
ST-Link V2 Schaltungsinterner Debugger und...
Beschreibung: ST-Link V2in stabilem Alu-Gehäuse mit Anschlusskabel Der ST-Link V2 ist ein schaltungsinterner Debugger und Programmer für STM8 und STM32 Microcontroller. Die SWIM und JTAG/SWD Schnittstellen werden dazu benutzt mit den...
ab 9,45 €
Verfügbar
CH340 USB-to-TTL Modul (alternative zum PL2303)
CH340 USB-to-TTL Modul (alternative zum PL2303)
Beschreibung: USB-to-TTL Wandler mit CH340 Chip Mit diesem USB nach Seriell Wandler wird der Anschluss eines Entwicklungsboards, z.B. Arduino, an einen PC ein Kinderspiel. Das Wandler Modul ist kaum größer als ein handelsüblicher USB...
ab 3,43 €
Verfügbar
PICKit3 Universal Adapter
PICKit3 Universal Adapter
Beschreibung: PICKit3 Universal Adapter Details: Dieser Adapter unterstützt die folgenden Programmierungs-Mikrocontroller: PIC16/18XX 40PIN Serie geräte (außer 16F59) PIC16/18XX 28PIN Serie geräte (außer 16F57) PIC16/18XX 18-PIN Serie...
ab 3,11 € 3,45 €
Nicht verfügbar
PICKit 3 kompatibler Programmer/Debugger
PICKit 3 kompatibler Programmer/Debugger
Beschreibung: Ermöglicht das Debuggen und Programmieren von PIC (R) und dsPIC (R) Flash-Mikrocontrollern mit der leistungsstarken, grafischen Benutzeroberfläche des MPLAB Integrated Development Environment (IDE). Bitte beachten Sie: Ein...
ab 42,95 €
Zuletzt angesehen