Forum: Compiler & IDEs avarice keine verbindung zu AVR-Dragon (libusb0.dll?)


von KR2 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich bin auf Eclipse umgestiegen und möchte nun damit Debuggen via JTAG 
und AVR-Dragon.

Ich kriege aber jetzt leider keine Kommunikation von avarice mit dem 
AVR- Dragon zustande. avarice gibt immer folgendes aus:
1
C:\Users\XXXXXXXX>C:\WinAVR-20100110\bin\avarice.exe --dragon --ignore-intr --jtag usb :4242
2
AVaRICE version 2.9, Jan  7 2010 22:42:57
3
4
Defaulting JTAG bitrate to 250 kHz.
5
6
found 7 busses
7
did not find any USB device "usb"
8
USB device not found

Ich habe bereits von Problemen mit der libusb0.dll gelesen und auch alle 
außer der unter C:\Windows\System32 umbenannt bzw. gelöscht. Außerdem 
habe ich auch schon neuere heruntergeladen und "installiert", war aber 
auch erfolglos.

Danke im Voraus.

Gruß, KR2

von KR2 (Gast)


Lesenswert?

Nachtrag:
Mit dem AVR Studio funktioniert das AVR-Dragon im selben aufbau ohne 
Probleme

von Willi K. (kucky)


Lesenswert?

Hallo zusammen,
bin hier neu. Habe es auch nach vielen Stunden geschafft, mit Eclipse 
meinen Arduino zu programmieren. Jedoch mit Hilfe des Programmers AVRISP 
MK2 von Reichelt. Nun wollte ich auch debuggen. Bekomme nun dieselbe 
Meldung wie KR2. Meine "Arguments" lt. "-2 --ignore-intr --jtag "usb 
:4242" ". Sind die so richtig? Oder hat jemand ´ne Lösung?
Gruß Kucky

von holger (Gast)


Lesenswert?

>Jedoch mit Hilfe des Programmers AVRISP
>MK2 von Reichelt. Nun wollte ich auch debuggen.

Damit kannst du nicht debuggen.

von Willi K. (kucky)


Lesenswert?

Danke Holger,
hab´ ich nicht gewusst. Danke.

von Thomas H. (innot)


Lesenswert?

Vielleicht hilft ja der folgende Thread: 
Beitrag "avrdude: usbdev_open(): did not find any USB device "usb""

Es dürfte sich um das selbe Treiberproblem handeln.

von Willi K. (kucky)


Lesenswert?

Hallo zusammen,
wollte diesen Beitrag nochmal aufgreifen. Hab nun nach langer Zeit 
endlich den Dragon mit Arduino und Eclipse "zusammengebracht". Aus 
meiner Sicht ist alles OK. Es wird wie gewünscht eine *.hex und/oder 
*.elf-Datei erzeugt. Alles ohne Fehlermeldung. Ist für einen Anfänger 
nicht gerade einfach. Wenn ich nun in die Debug-Perspektive wechsele, 
erscheint aber beim Start des Debuggers folgende Meldung:

"D:\Users\Kucky.ADMIN-PC\Projekts\BotOne"): CreateProcess error=193, %1 
ist keine zulässige Win32-Anwendung"

Damit kann ich nun garnichts anfangen.

Betriebssystem: Windows7 64bit
Eclipse: Helios
Debugger: AVR Dragon
LibUsb-win32-bin-1.2.5.0

Ich weis schon, das hier win32 steht, aber ich hatte bei sourceforge 
gelesen, das dieser Treiber auch für Win64 gilt.

Was mir noch aufgefallen ist, machmal erscheint der Breakpoint als 
blauer Punkt und mal als Warning.

Kann hier einer weiterhelfen?

LW
Willi K.

von kucky (Gast)


Angehängte Dateien:

Lesenswert?

Bin auch nicht untätig gewesen, aber mir gehen die Alternativen aus. Ist 
das nur etwas für die absoluten AVR-Spezialisten? Und sollten sich 
ambitionierte Einsteiger da raus halten?
Nachdem ich glücklich darüber war, dass ich meinen Dragon und 
ArduinoMega im AVR-Studio erkannt wusste, war dies am nächsten Tag, ohne 
erkennbaren Grund nicht mehr Fall. Aber egal, ich versuche es heute 
wieder.

In Eclipse habe ich u.a. folgende Debug-Einstellung.

--dragon --ignore-intr --jtag usb:4242  (oder1212)

Nun lese ich hier:
Beitrag "AVR debuggen mit Eclipse und AVaRICE unter Windows"
diese Konfiguration

avarice --mkI -B4000khz --jtag /dev/com2 -P atmega32

Übersetzt für mich hieße das:
avarice --mkI (oder mkII ? ) -B4000khz --jtag /dev/com2 (oder/usb ? ) -P 
atmega2560

AVaRICE version 2.9, Jan  7 2010 22:42:57 (Die habe ich auch)

In einem Betrag wurde auch die ${project_name}*.hex Datei mit angegeben. 
Ist das so?

Bin ich hier richtig unterwegs? Ich habe übrigens Eclipse Helios ganz 
neu mit über "wascana" installiert, und den Hardwaredebugger. Habe mal 
eine Doku angehangen.

Wäre schön wenn sich einer meiner annimmt.
LG

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

kucky schrieb:

> In Eclipse habe ich u.a. folgende Debug-Einstellung.
>
> --dragon --ignore-intr --jtag usb:4242  (oder1212)

Ich hoffe, du hast zwischen "usb" und ":4242" ein Leerzeichen.

"-j usb:4242" ist etwas ganz anderes als "-j usb :4242".

Das erste verlangt nach einem AVR Dragon, der (logischerweise) über
USB angesprochen wird und dessen Seriennummer mit 4242 endet.  Das
Kommando beendet sich nach getaner (oder auch nicht getaner, falls
kein Dragon mit passender Seriennummer gefunden wird) Arbeit, denn ein
GDB-Server wird nicht verlangt.

Das zweite verlangt nach irgendeinem AVR Dragon am USB (nimmt den
ersten, der beim Abklappern der Bushierarchie gefunden wird, falls
es mehrere gibt), und startet AVaRICE als GDB-Server auf allen
verfügbaren IP-Adressen mit Portnummer (TCP/)4242.

> avarice --mkI -B4000khz --jtag /dev/com2 -P atmega32

Das ist für ein JTAGICEmkI, also ein uraltes Teil, das mit deinem
AVR Dragon nichts gemein hat.  Außerdem traut derjenige offenbar
dem automatischen Auslesen der Device-ID nicht übern Weg, sondern
gibt explizit einen ATmega32 als target AVR vor.

> AVaRICE version 2.9, Jan  7 2010 22:42:57 (Die habe ich auch)

Aktuell ist 2.11.

> In einem Betrag wurde auch die ${project_name}*.hex Datei mit angegeben.
> Ist das so?

Ich empfehle ausdrücklich nicht mehr, AVaRICE zum Download des
Programms auf den Controller zu nutzen, und ich pflege diese
Funktionalität auch nicht mehr.  Dafür ist AVRDUDE da, ich mag
die Arbeit einfach nicht doppelt machen (und AVRDUDE kann ohnehin
in dieser Richtung viel mehr).

von Willi K. (kucky)


Lesenswert?

Lieber Jörg,
vielen Dank für die schnelle Antwort. Sitze gerade an der Sache, und 
überprüfe die Angaben.
Es beginnt schon bei der Seriennummer
Bei mir Dragon SN200006754. Habe ich geändert.
AVaRICE  2-12 habe ich genommen, wird aber beim Start als 2.9 angezeigt.
Den Rest den Du mir geschrieben hast, ist aber viel interessanter.
Wie gesagt, ich bin hier alles andere als Sattelfest, und nehme Hinweise 
von Experten gerne an. Für uns Anfänger ist es aber sehr demotivierend, 
wenn man sich in den Foren einen Wolf sucht, glaubt etwas gefunden zu 
haben, und bekommt dann gesagt, dass dem nicht so ist. Das ist bei Leibe 
kein Vorwurf.  Hier z.B. auf AVaRICE verzichten und AVRDUDE nehmen, habe 
ich nirgends gelesen. Nehme das aber sehr gerne an. Habe mir gerade auch 
eine aktuelle Version von AVRDUDE 0.2.0  bei souceforge heruntergeladen. 
Habe dort Deinen Namen gelesen. Bin wohl an den richtigen geraten. Wenn 
ich das richtig verstanden habe, ohne umzubenennen ins bin Verzeichnis 
kopieren
Wäre es zu viel verlangt, mir einen Link zu zeigen, wo mir erklärt wird, 
was ich genau wo tuen muss.
Ich bin bestimmt nicht suchfaul, aber hier könntest du mir einen echten 
Gefallen tun.
Warum sich plötzlich mein Dragon nicht mehr mit AVR Studio connected, 
ist aber immer noch ein Rätsel. Ich kann aber weiter meinen Arduino 
(inkl.  JTAG Verbindung) mit Eclipse flashen.
Liebe Grüße aus Leverkusen
Willi K.

von Willi K. (kucky)


Lesenswert?

Nachtrag.
Habe soeben den Dragon mit Arduino Mega mittels JTAG auf meinem Laptop 
verbunden. Und siehe da, alles OK inkl. Upgrade. Der einzige Unterschied 
ist, das auf dem Laptop Windows 32bit und auf dem Desctop Windows 64bit.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Willi K. schrieb:

> Es beginnt schon bei der Seriennummer
> Bei mir Dragon SN200006754. Habe ich geändert.

Die Seriennummer musst du nicht angeben, man kann sie nur angeben.
Damit kann man mehrere gleichartige Geräte an einem Computer dann
unterscheiden.

> AVaRICE  2-12 habe ich genommen, wird aber beim Start als 2.9 angezeigt.

Dann ist was foul.
1
$ avarice -v
2
AVaRICE version 2.12, Dec 17 2011 23:55:33
3
4
Defaulting JTAG bitrate to 250 kHz.
5
6
Failed to open /dev/avrjtag: No such file or directory

Wenn das bei dir nicht angezeigt wird (das Datum ist dabei Datum und
Uhrzeit des Compilierens), dann hast du vielleicht zwei verschiedene
installiert und nimmst das falsche.

> Hier z.B. auf AVaRICE verzichten und AVRDUDE nehmen, habe
> ich nirgends gelesen.

Es geht da rein um den Download der Firmware — nicht, dass wir uns
missverstehen.  AVaRICE ist das Bindeglied zwischen GDB und JTAG ICE
bzw. AVR Dragon.

> Habe mir gerade auch
> eine aktuelle Version von AVRDUDE 0.2.0  bei souceforge heruntergeladen.

Aktuelles AVRDUDE ist 5.11, und das gibt's bei savannah.nongnu.org.
Das ist allerdings nur der Sourcecode, aber ich glaube, du kannst hier
im Forum suchen, ein netter Spanier hat davon auch eine Binärversion
für Windows gebaut.

Was du hast, wird irgendein GUI-Wrapper dafür sein (vermutlich hast du
bereits ein AVRDUDE via WinAVR oder dergleichen bei dir).

> Wäre es zu viel verlangt, mir einen Link zu zeigen, wo mir erklärt wird,
> was ich genau wo tuen muss.

Ja, ist es.  Erstens habe ich kein Windows, kann dir also nicht
lückenlos alle Schritte zu einem funktionierenden Windows-Toolchain-
Setup nennen, zweitens kenne ich Eclipse nur aus der Ferne, mit dem
AVR-Plugin dort habe ich noch nie was zu tun gehabt.

von Willi K. (kucky)


Lesenswert?

Schade, ist aber nachvollziehbar. Trotzdem vielen Dank, habe was dazu 
gelernt. Werde mal nachschauen was bei mir faul ist. Eine Frage aber 
noch. Ist es richtig, dass der libusb-win32 auch für ein 64bit System 
geht?
Kucky.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Willi K. schrieb:
> Ist es richtig, dass der libusb-win32 auch für ein 64bit System
> geht?

Das kann ich dir leider auch nicht sagen.  Schau mal, ob die Doku
bei libusb-win32 dazu etwas sagt, oder frage hier im Unterforum
"PC Hard- und Software" nach.  Dort lesen das vielleicht mehr Leute
mit, die sich damit auskennen.

von Willi K. (kucky)


Lesenswert?

mach ich, und vielen Dank nochmal.

von Willi K. (kucky)


Angehängte Dateien:

Lesenswert?

Habe die Hoffnung noch nicht aufgegeben.

Bekomme nun diese Ausgabe: Siehe Anhang
Die aus meiner Sicht interessanten Zeilen habe ich hervor gehoben.

Interessant ist auch, dass die beiden Breakpoint erkannt werden.

Punkt 14-gdb-exit habe ich manuell ausgelöst.

Sollte ich es tatsächlich schaffen, diese Sache ans Laufen zu bekommen, 
werde ich eine Anleitung für Leute wie mich schreiben, und hier 
einstellen.

Gruß
Willi

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Willi K. schrieb:
> Bekomme nun diese Ausgabe: Siehe Anhang

Ja, dein AVaRICE läuft ja offensichtlich immer noch nicht, da ist
es auch kein Wunder, dass der GDB sich nicht zu diesem verbinden
kann.

Hast du denn nun mal geklärt, ob die libusb-win32 überhaupt unter
deinem 64-bit-System läuft?  Das sollte sich doch eigentlich schon
anhand der kleinen Testapplikation zeigen, die bei libusb-win32
mit dabei ist: wenn diese deinen Dragon nicht sieht, dann wird
AVaRICE ihn auch nicht finden können.

Kannst du nicht einfach erstmal die Tools von Hand starten und
dir die Meldungen ansehen, die sie ggf. im Terminal ausspucken?
Den Aufruf des AVaRICE hast du ja schon da oben stehen.  Solange
das nicht erzählt, dass es auf Port 1212 (oder so) auf eine
GDB-Verbindung wartet, brauchst du auch keinen AVR-GDB aufzurufen.

von Willi K. (kucky)


Lesenswert?

Vielen Dank für das Interesse.
Der LibUsb ist 64bit tauglich.
--dragon  --jtag-igint  -- usb :4242  (alles aus dem Kopf, bin im Büro)
Habe damit tatsächlich schon angefangen um den "Fehler" einzugrenzen. Es 
erscheint aber immer wieder die Meldung, dass USB nicht gefunden wird. 
Werde ich ab heute Abend weiter verfolgen und posten.
Habe mich gestern mal durch diesen Beitrag gelesen:
Beitrag "ATMEGA mit Eclipse debuggen?"
Daraufhin glaube ich fast, dass alles mit meiner Version von AVaRICE 
zusammenhängt. Habe auch gelesen, das Du eine neue Version 2.12 zu Test 
freigeben hast. Aber was macht ein armes Schw... wie ich, mit einer 
nicht windowsfähigen Version. Habe zwar den freundlichen Spanier 
gefunden, aber was mache ich nun mit AVaRice? Ich möchte doch nur 
mittels Dragon debuggen. Ich meine Markus hätte mal erwähnt, das er mit 
Eclipse editiert und mit AVR Studio debugt (-gstabs). Geht das 
tatsächlich?
Willi

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Willi K. schrieb:
> Habe auch gelesen, das Du eine neue Version 2.12 zu Test
> freigeben hast. Aber was macht ein armes Schw... wie ich, mit einer
> nicht windowsfähigen Version.

. selbst compilieren; wenn du einmal ein Cygwin-Setup hast, ist das
  gar nicht so sehr problematisch

. die Windows-Version installieren

von Willi K. (kucky)


Angehängte Dateien:

Lesenswert?

Wollte eben anfangen den Fehler einzugrenzen. Was kann ich gegen diese 
Meldung tun? Ohne dies komme ich eh´ nicht weiter.
Ist noch die alte AVaRICE. Bin noch auf der Suche nach einer Anleitung 
zum Compilieren.
Willi

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Willi K. schrieb:
> Wollte eben anfangen den Fehler einzugrenzen. Was kann ich gegen diese
> Meldung tun?

Das heißt, dass die libusb den Dragon nicht findet.

> Ohne dies komme ich eh´ nicht weiter.

Ja.

> Ist noch die alte AVaRICE. Bin noch auf der Suche nach einer Anleitung
> zum Compilieren.

Standard:
1
./configure && make all install clean

Ist bei so ziemlich jeder Software mittlerweile die Grundannahme.

Aber solange deine libusb-Probleme nicht gelöst sind, brauchst du
das nicht.

Fehlermeldungen leitet man in eine Textdatei um:
1
avarice --dragon --jtag usb > log.txt 2>&1

(Ja, das geht auch in einem cmd.exe, auch wenn's nach Bourne-Shell
aussieht. ;-)

von Willi K. (kucky)


Lesenswert?

Jetzt verstehe ich gar nichts mehr. Ich habe lediglich in der 
Eclipse-Debug Einstellung "usb" gegen "com4" ausgetauscht. Dann Debug 
gestartet. Es wird zwar nicht automatisch in die Debugperspektive 
umgeschaltet, aber wenn ich manuell umschalte, ist hier zwar ein Warning 
"unresolved breakpoint", aber das Ding läuft erst mal ohne Meldung. 
"Step into" ist zwar disabled und das Programm steht auf "suspend", aber 
für mich sieht das aus wie ein Fortschritt. Wenn ich den Käfer drücke, 
kommt gelegentlich die Meldung "Don't know how to run.  Try "help 
target".
In der Consolenausgabe ist nur noch dies markiert:

No symbol table is loaded.  Use the "file" command.
localhost:4242: Es konnte keine Verbindung hergestellt werden, da der 
Zielcomputer die Verbindung verweigerte.

load 
D:\\Users\\Kucky.ADMIN-PC\\Entwicklung\\Eclipse\\workspace\\BotTwo\\Debu 
g\\BotTwo.elf
You can't do that when your target is `None'

LG
Willi

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Lös' dich doch bitte erstmal vom Eclipse.  Das versteckt dir nur alles
und gaukelt dir etwas vor.  Ich wette, dass da rein gar nichts läuft
mit dem AVaRICE, denn der Dragon hat keine serielle Schnittstelle,
über die man ihn als COM4 ansprechen könnte.

von Willi K. (kucky)


Angehängte Dateien:

Lesenswert?

Ja, mach´ ich. War mir auch suspect. Habe mich noch einmal intensive mit 
den LibUSB beschäftigt. Aber der scheint richtig zu funktionieren. Es 
lag wohl an dem Leerzeichen "usb:4242". Nun habe ich diese Ausgabe. 
Sieht doch gut aus, oder?
Cygwin istalliert sich sich seit 30min und ist auf 63% gähn.

> die Windows-Version installieren

Habe, in Ermangelung weitere Kenntnisse, alles angewählt.
Stand hier:

http://www.tanmar.info/content/view/24/47/

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Willi K. schrieb:
> Sieht doch gut aus, oder?

Nein.  "Unknown host usb".  Ja, es stimmt, der Dragon wird offenbar
standardmäßig auf USB gesucht und nicht auf /dev/avrjtag (das wusste
ich gar nicht mehr), aber dann brauchst du das "usb" auch gar nicht
angeben.  Jetzt versuchst du, es als Hostnamen anzugeben.

Das korrekte Kommando habe ich dir schon weiter oben geschrieben.

von Willi K. (kucky)


Angehängte Dateien:

Lesenswert?

Hallo Jörg,
ich kann mich gar nicht oft genug bedanken. Ich habe mich halt vor 1 1/2 
Jahren zu diesem Hobby entschieden. Hat mich fasziniert, bin aber sicher 
mit 55 einer von den wenigen, die sich an ein solch Komplexes Thema 
heran wagen. Meine „Erfolge“ lagen bisher darin, dass ich einen 
Experimentier -Bot gebaut habe, der mittels einer C# Anwendung und 
Bluetooth fern bedient werden kann. Das nur zur Erklärung:
Nun wieder zum Projekt. Habe natürlich Deine Kommandozeile gesehen. Wenn 
ich aber zwischen „usb“ und „:4242“ ein Leerzeichen setzte, kommt 
„unknown usb hub“. Auf Grund Deiner letzten Antwort habe nun aber „usb“ 
weggelassen. Ergebnis, siehe oben. Sieht das nun gut aus?
Gruß
aus Leverkusen
Willi

von Willi K. (kucky)


Angehängte Dateien:

Lesenswert?

so, habe mich weiter mit Consolen Eingaben versucht. Habe das bei 
Sebastian gefunden.
> Waiting for connection on port 2424.
> ist zu sehen.
> dann mal schnell in der zweiten Konsole avr-gdb (version 6.4) angeworfen
> file main.elf
> target remove :2424
> load
> b main
> c

Den Schreibfehler "remote" habe ich gesehen, und Deinen Hinweis mit dem 
"load" habe ich auch befolgt.
Ich denke, das hier gesamten Path angeben muss.
Die Ausgaben s.o. Bin ich einen Schritt weiter?
LGW

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Bitte!, ich habe dich oben gebeten, die Logfiles als Textdateien zu
erstellen, damit du nicht jedesmal ein Bild posten musst.

Ich denke, jetzt kannst du dein Eclipse mal wieder bemühen, ab hier
findet es dir den Weg schneller, als wenn du den GDB zu Fuß
bedienst.  Der nächste Schritt wäre es, dem GDB mitzuteilen, in
welchen Verzeichnissen er den Sourcecode findet.  Standardmäßig
sucht er nur in dem Verzeichnis, in dem die ELF-Datei liegt (bzw.
relativ zu diesen).

von Willi K. (kucky)


Lesenswert?

Sorry, hatte ich falsch verstanden.

von Willi K. (kucky)


Lesenswert?

so, habe es nun endlich geschafft, AVaRICE in der Version 2.12 zu 
verwenden.  Nach dem Start aus der Kommandoebene (--dragon –ignore-int 
_B4000khz –jtag usb : 4242) meldet AVaRICE , und wartet auf eine 
Verbindung an Port 4242.
Wenn ich nun aus Eclipse heraus den Debugger startet, erscheint im 
CMD-Fenster…
Connection opened by host 127.0.0.1, port 1231.
Aus meiner Sicht alles OK, oder? Geflasht habe ich vorher mit AVRDUDE .
Der Debugger schnarchte aber vor sich hin. Dann habe ich diesen Beitrag 
gefunden..
Beitrag "AVR Debugging mit eclipse"
Hier riet 900ss, dass man in der Debug- Konfiguration das “ Load Image“ 
nicht zu verwenden. Habe ich gemacht, stattdessen Load Symbols. Nun 
geht´s wirklich ratz fatz. Er werden alle 4 Breakpoints inkl. an main 
gefunden…
1
145-break-list
2
145^done,BreakpointTable={nr_rows="4",nr_cols="6",hdr=[{width="7",alignment="-1",col_name="number",colhdr="Num"},{width="14",alignment="-1",col_name="type",colhdr="Type"},{width="4",alignment="-1",col_name="disp",colhdr="Disp"},{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},{width="10",alignment="-1",col_name="addr",colhdr="Address"},{width="40",alignment="2",col_name="what",colhdr="What"}],body=[bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x00001728",func="ConsolTask()",file="../RemoteControl.cpp",fullname="D:/workspace/BotTwo/.settings/../RemoteControl.cpp",line="104",times="0"},bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x000015aa",func="ReadMessage()",file="../RemoteControl.cpp",fullname="D:/workspace/BotTwo/.settings/../RemoteControl.cpp",line="120",times="0"},bkpt={number="3",type="breakpoint",disp="keep",enabled="y",addr="0x00000606",func="loop",file="../BotTwo.cpp",fullname="D:/workspace/BotTwo/.settings/../BotTwo.cpp",line="65",times="0"},bkpt={number="4",type="breakpoint",disp="del",enabled="y",addr="0x000006fe",func="main",file="../BotTwo.cpp",fullname="D:/workspace/BotTwo/.settings/../BotTwo.cpp",line="74",times="0"}]}
3
(gdb) 
4
146-exec-run
5
146^running
6
(gdb) 
7
&"Don't know how to run.  Try \"help target\".\n"
8
146^error,msg="Don't know how to run.  Try \"help target\"."
9
147 info proc
10
(gdb) 
11
Don't know how to run.  Try "help target".
12
&"info proc\n"
13
&"Undefined info command: \"proc\".  Try \"help info\".\n"
14
147^error,msg="Undefined info command: \"proc\".  Try \"help info\"."
15
(gdb) 
16
148 info program
17
&"info program\n"
18
~"The program being debugged is not being run.\n"
19
148^done
20
149 info threads
21
(gdb) 
22
&"info threads\n"
23
&"No registers.\n"
24
149^error,msg="No registers."
25
(gdb) 
26
150 info threads
27
&"info threads\n"
28
&"No registers.\n"
29
150^error,msg="No registers."
30
(gdb) 
31
151 info threads
32
&"info threads\n"
33
&"No registers.\n"
34
151^error,msg="No registers."
35
(gdb)

Nun hatte ich damit gerechnet, dass nun in der Debug-Perspektive die 
Buttons „Step into“ und „Step over“  enabled sind. Dem ist aber nicht 
so. Was mich wundert ist diese Meldung :
Don't know how to run.  Try "help target".
Wo liegt mein Fehler?

Wenn ich den avr-gdb auch auf der Kommandozeile ausführe, ist das 
Ergebnis wie folgt:
1
D:\workspace\BotTwo\Debug>avr-gdb
2
GNU gdb 6.8
3
Copyright (C) 2008 Free Software Foundation, Inc
4
License GPLv3+: GNU GPL version 3 or later <http
5
This is free software: you are free to change an
6
There is NO WARRANTY, to the extent permitted by
7
and "show warranty" for details.
8
This GDB was configured as "--host=i686-pc-mingw
9
(gdb) file bottwo.elf
10
Reading symbols from D:\workspace\BotTwo\Debug/b
11
(gdb) target remote :4242
12
Remote debugging using :4242
13
0x0003e000 in ?? ()
14
(gdb) b main
15
Breakpoint 1 at 0x6fe: file ../BotTwo.cpp, line
16
(gdb) b 1

LGW

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Willi K. schrieb:

> Hier riet 900ss, dass man in der Debug- Konfiguration das “ Load Image“
> nicht zu verwenden.

Ja, das würde versuchen, die Flash-Daten über den Debugger zu
laden, was AVaRICE mit einem JTAGICEmkII oder AVR Dragon derzeit
nicht unterstützt.

> &"Don't know how to run.  Try \"help target\".\n"

Hier müsstest du ggf. mal im Helpthread zum AVR-Eclipse-Plugin
fragen.  Ein "run" funktioniert naturgemäß nicht, weil dein
Host-Prozessor natürlich keinen AVR-Code abarbeiten kann.

Möglicherweise ist deine GDB-Version zu neu für das Plugin?  Hin
und wieder werden an den GDB-Kommandos auch mal kleinere Änderungen
vorgenommen.

von Willi K. (kucky)


Lesenswert?

Sorry, war gestern zu müde.
Werde ich kontrollieren. Habe mir die GDB 7.3 besorgt und in MinGW 
eingebunden. Hier wird dann aber 7.2 angezeigt. In der Debug-Perspektive 
sehe ich nun Step in und Step over aktiv. Ich glaube ich nähere mich.
LGW

von Willi K. (kucky)


Angehängte Dateien:

Lesenswert?

Hallo,
ich habs gefunden. Werde mir eine bessere Brille kaufen. Es war das 
Häkchen bei "Resume". Das mit dem herbeten, muss ich wohl zurücknehmen.
Nichts desto trotz habe ich eine Menge gelernt. Nicht zuletzt mit eurer 
Hilfe. Vielen Dank für die Geduld.
Ich bin zwar noch etwas wackelig in Bezug auf richtiges Debuggen, aber 
das werde ich auch lernen. Ein Tutorial for Runaways werde ich dennoch 
bei Gelegenheit hier einstellen.

Eine Frage habe ich aber noch an die Eclipse Experten.

Warum erscheinen NUR bei INDIGO diese Käfer? Habe ich wieder ein Häkchen 
übersehen? :-( Das Programm wird sauber geflasht und ausgeführt.

LGW

von Willi K. (kucky)


Lesenswert?

Hallo,
Nun ist alles richtig eingestellt. Es funktioniert einwandfrei. Debuggen 
und keine Käfer mehr.
Nochmals herzlichen Dank an Jörg, Thomas und 900ss D. Ich hoffe die 
beiden lesen hier mit.

LG
Willi

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
Noch kein Account? Hier anmelden.