Hallo, ich bin verzweifelt, denn seit vielen Tagen schon versuche ich ein Debugging von Funktionen mit den Komponenten AVR ATmega162, AVR-Dragon (JTAG), avr-gdb und AVaRICE über USB unter Eclipse Juno hin zu bekommen. HINTERGRUND Grundlage für meine bisherige Installation und Konfiguration ist das Tutorial http://avr-eclipse.sourceforge.net/wiki/index.php/Debugging , das leider für eine ältere Version von Eclipse und nicht für Juno erstellt wurde. Einziger Unterschied scheint in den Einstellmöglichkeiten der Debug *Configurations* zu liegen. Dort gibt es z.B. bei Juno weder "Local Application" noch "GDB Hardware Debugging". Die Einstellmöglichkeiten passen grob zu "Application" bzw. "Remote Application" in Juno. Aber eben nicht ganz, so dass ich hier die Quelle für meine Probleme vermute. DIES FUNKTIONIERT SCHON Prinzipiell funktioniert die USB-Verbindung zum AVR-Dragon über den "libusb-win32"-Treiber. Per DOS-Prompt sowie über Eclipse's "Project Properties / AVRDude" lassen sich z.B. die Controllerdaten auslesen (avrdude). Das Kompilieren funktioniert im Eclipse ebenfalls und das erzeugte HEX-File lässt sich über den "AVR-Button" auf das Target laden und ausführen (genutzt wird dazu avrdude). Der AVaRICE-Server lässt sich fehlerfrei über DOS oder über die in den "External Tools Configurations" eingestellten Parametern starten (Port 4242). Per DOS-Prompt kann "avr-gdb" gestartet, händisch die Kommunikation über "target remote localhost:4242" eingerichtet und das programm mit Hilfe der entsprechenden .elf-Datei debuggt werden. PROBLEM Wenn per Eclipse nun der eingerichtete Debugger (avr-gdb) unter Angabe der Projektdateien und der Verbindungs-Konfigurationen gestartet wird, dat die ELF-Datei des Projekts nur noch die Größe von NULL Bytes. Zwar erscheint keine Fehlermeldung in den Eclipse-Konsolen, allerdings wird aber die Debug-Perspektive mit entsprechend reichhaltiger (wie im Tutorial dargestellter) Information nicht sichtbar. Jegliche Aktivität meinerseits führt dazu, dass ich den AVR-Dragon resetten muss und Eclipse neu starten, da die Verbindung zu den Programmen (Server und Debugger) irgendwie korrupt wurden. Gibt es jemanden, der das Debugging unter Eclipse Juno mit dem avr-gdb und AVaRICE bereits erfolgreich durchführen kann und mir entsprechend Hilfestellung für die Konfigurierung leisten könnte? Wenn ich irgendwelche Details ausführen soll, bitte einfach nachfragen. Vielen Dank schonmal. Peter
keiner eine Idee? Ist sicher eine Kleinigkeit für die Experten... Gruß Peter
Hallo, nach mehr als einem halben Jahr Bedenkpause nochmal die Frage nach einer Lösung bzgl. des oben erwähnten Problems, dass sich bei mir der avr-gdb mit der (nun schon fast nicht mehr neuen) Version "Juno" der Eclipse-Umgebung nicht gescheit starten und verwenden lässt. Das Tutorial von damals (s. Link im ersten Posting dieses Threads) enthält immer noch die gleichen Abbildungen und Inhalte wie damals bzgl. der "Debug Configurations". Das Problem ist weiterhin, dass scheinbar in der installierten Kombination von CDT und AVR Plugin keine entsprechende Konfigurierbarkeit für z.B. "localhost" des gdbserver existiert. Nun wäre die Frage (in der Hoffnung, dass in der verstrichenen Zeit Erfahrung zu diesem Thema gewachsen ist): 1. Welche Version der Tools/Plugins könnte mir helfen, eine entsprechende Konfigurierbarkeit herzustellen? 2. Alternativ wäre mir ja auch geholfen, wenn ich wüsste, auf welche Weise ich Eclipse dazu bringen kann, meine eigenen Vorgaben (die ich z.B. über die DOS-Shell eingebe) für den Aufstart von avr-gdb direkt zu verwenden. Und dann Eclipse mit der Debugging-GUI weiter arbeiten zu lassen. Es scheint wirklich nur der Aufstart zu sein. Danke. Peter
Ich kann dich beruhigen. Ich habe es auch selbst nie hinbekommen.
Jörg Esser schrieb: > Ich kann dich beruhigen. Ich habe es auch selbst nie hinbekommen. Na, so richtig beruhigt bin ich noch nicht ;-) Was verwendest Du denn zum Debuggen, Jörg?
UPDATE Mittlerweile habe ich sämtliche sinnvolle Eclipse-Versionen ausprobiert: Kepler, Juno und selbst Indigo (letzteres wird in den Tutorials oft genannt). Für KEINE der Installationen existiert die in den Konfigurations-Anleitungen des AVR-eclipse Plugin erwähnten Einstellungsmöglichkeiten nach dessen Installation. Für mich heißt das, dass es wohl bezüglich der Debugging-Funktionalität zu einem fehlerhaften Update des Plugins gekommen ist. Dadurch, dass man nicht einmal die Plugin-Version zur Installation wählen kann, wird automatisch die neueste (fehlerhafte) Plugin-Version installiert. Einwände von der Community?
Jörg Esser schrieb: > Ich "debugge" über die serielle, LED oder Oszi ;) Bei größeren Projekten kommst Du damit aber schnell an die Grenzen, oder? Debugging mit den verfügbaren freien Tools ist eigentlich genial, wenn es denn funktionieren würde...
Wenn das wörtchen "wenn" nicht wär... Ansonsten is das nur ein Hobby und meine Projekte sind übersichtlich. Echte Kerle brauchen keinen Debugger ;)
Ich hatte GENAU die gleichen Probleme beim Debuggen (Eclipse Kepler, aktuellste Versionen von Eclipse CDT und AVR Eclipse). Habe die Probleme nach einigen Stunden suchen gefunden. Ich teste mit einem AVR Dragon und Programmiere/Debugge einen Atmega1284p über JTAG mit Avarice unter Linux Möglich ist: - Breakpoints setzen - Steppen Habe meine gefundene Problemlösung für die Nachwelt im Wiki abgelegt (http://www.mikrocontroller.net/articles/AVR_Eclipse#Debugging_mit_Eclipse_Kepler) vielleicht kannst Du das mal für Dein Problem testen und ggf. editieren. Viele Grüße Daniel
Hallo Daniel, erstmal super, dass Du Dir mit dem WIKI Mühe gemacht hast. Deine Beschreibung ähnelt den Beschreibungen einiger älterer Tutorials, die nun aber aufgrund des Nicht-Allgemein-Funktionieren-Wollen unter Eclipse wieder verschwunden sind. Das Problem ist allerdings, dass genau das von Dir erwähnte "GDB Hardware Debugging"-Profil bei manchen Eclipse- und CDT-Installationen nicht mehr auffindbar ist. Und nur in diesem Profil (und vielleicht noch einem weiteren Profil, das aber ebenfalls nicht mehr überall vorhanden ist) existieren unter dem Debug-Reiter die gewünschten Einstellmöglichkeiten vollständig. Siehe auch http://www.eclipse.org/forums/index.php/t/458139/ Es hat den Anschein, als wäre dies auch kein AVR-spezifisches, sondern ein generelleres Problem bzgl. des Plugin-Handling innerhalb der IDE. Wie hast Du es denn geschafft, dass bei Dir während der Eclipse-Installation das Profil "GDB Hardware Debugging" nicht verschwunden ist?
So, nun habe ich schonmal das Profil "GDB Hardware Debugging" auftreiben können, das wohl in den aktuellen CDT-Installationen für Eclipse aus den Standard-Paketen herausgeflogen ist. Man muss es also separat nachinstallieren. Dies kann man in Eclipse folgendermaßen finden/installieren: (1) navigieren und auswählen von HELP / InstallNewSoftware... (2) dann "Add..." und im Pfad-Feld dann "http://download.eclipse.org/tools/cdt/releases/kepler" (3) hier findet man es unter "CDT optional features" (4) nun einfach geradeaus installieren... Nach erfolgreicher Installation lassen sich die oben erwähnten Einstellungen im Debug-Profil konfigurieren. Allerdings funktioniert die Nutzung (selbst nach langem hin und her und Herumgeklicke in den Konfigurationen) auf meinem Rechner mit Windows 7 nicht. Aktuell hakt es an folgenden beiden Stellen: -> wenn ich im Startup-Reiter des Debug-Profils "Load image" auswähle, bleibt bei mir der Fortschrittsbalken zur Vorbereitung des Debug bei 93% stehen, nachdem die Verbindung zum AVaRICE-Server erfolgreich war. Ich muss Eclipse irgendwann beenden und neu starten. -> wenn ich OHNE "Load image" debuggen will, lade ich zunächst das HEX (inclusive Debug-Code) auf den Prozessor. Dann starte ich das Debugging, sehe, dass die Verbindung mit AVaRICE klappt und sich sogar die Debug-View öffnet. Aber hier werden die Symbole scheinbar nicht gefunden (obwohl in den Profil-Einstellungen als Ladeanforderung spezifiziert). Vielleicht kommen wir ja Stück für Stück weiter und schaffen eine erfolgreiche Ergänzung des WIKI-Artikels mit vereinten Kräften. Gibt es sonst eine technisch interessierte Gruppe, die sich intensiver um AVR und das Debuging unter Eclipse kümmert? Vielleicht sind dort ja Experten, die das Thema schon durchgekaut haben und wüssten, an welchen Stellen welcher Aufwand zur Stabilisierung des Vorgangs getrieben werden müsste...
Unter Linux habe ich es die letzten Tag zum Laufen gebracht. Ob es mit Windows tut, weiß ich aber nicht. ---------- (Linux) ---------------------------- Eclipse, Version: Kepler Service Release 1, Build id: 20130919-0819 AVR Eclipse Plugin 2.4.1 AVARICE 2.13 AVRDude 6.0.1 AVR-GDB 7.6 AVR8-GNU-TOOLCHAIN 3.4.3 (download von Atmel Seite) ----------------------------------------------- AVRDragon (6.16, Version vom astudio 4.19) ATTiny861A (habe ATTiny861 eingestellt, da der A, wieso auch immer, vom plugin als nicht unterstützt vom avrdude aufgeführt ist.) ----------------------------------------------- AVR-GDB Eclipse Konfiguration: Avarice lässt sich mit dem „C/C++ Remote Application → GDB (DSF) Manual Remote Debugging Launcher“ entsprechend einbinden. Dazu kann man den Default Launcher für C/C++ Remote Application einstellen, oder man kann dies bei der jeweiligen Debug Launcher einstellen. Default unter „Preferences → Run/Debug → Launching → Default Launchers“ dort „C/C++ Remote Application“ auswählen und dann auf „GDB (DSF) Manual Remote Debugging Launcher“ stellen. Soll nur ein spezieller Debug Launcher angepasst werden, dann unter „Debug Configurations“ den entsprechenden „C/C++ Remote Application“ Launcher auswählen oder einen anlegen. Dort in der „Main“ Einstellungsseite zuerst ganz unten dem „Using … Launcher“ mit „Select other ...“ auf „ GDB (DSF) Manual Remote Debugging Launcher“ stellen. Dazu muss auch der Haken bei "Use configuration specific setting" gesetzt sein. (Main Einstellseite verändert sich entsprechend). Unter „C/C++ Application“ die .elf Datei angeben und das Project einstellen. Unter „Debugger“ → „Main“ den avr-gdb als GDB debugger angeben und bei „Debugger“ → „Connection“ dann Type „TCP“, den Host (meist wohl localhost) und die verwendete Port Number eingeben. Beim Compilieren im Debug Modus verwende ich die Einstellung „Operating System Default“ für Debug Info Format“ (Project->Properties->AVR Compiler->Debugging). avarice manuell vor dem Debugger starten.
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.