Hallo Leute,
ich sitze schon sein ein paar Tagen dran und kriege das on device
debugging einfach nicht hin.
Zum Einrichten von Eclipse hab ich folgende Anleitungen benutzt.
http://www.mikrocontroller.net/articles/AVR_Eclipsehttp://avr-eclipse.sourceforge.net/wiki/index.php/Debugging
Meine Hardware ist das Atmel Evaluationboard v2.01, AVR-JTAG-USB von
Olimex und das SYSBAS Multi-2U/RS232.
Software: win7 64bit, Eclipse Helios (Wascana 1.0), WinAVR-20100110 und
AVR Plugin V2.3.4.
Jetzt zum den Problemen.
Wenn ich das AVR-JTAG einstecke und avarice starte
(avarice --mkI --ignore-intr --jtag /dev/com8 :4242)
bekomme ich folgende Fehlermeldung.
1
AVaRICE version 2.9, Jan 7 2010 22:42:57
2
3
Defaulting JTAG bitrate to 250 kHz.
4
5
JTAG config starting.
6
JTAG ICE communication failed: Permission denied
Wenn genau die gleiche Eingabe gleich darauf wiederholt wird, startet es
anscheinend ohne Probleme.
1
AVaRICE version 2.9, Jan 7 2010 22:42:57
2
3
Defaulting JTAG bitrate to 250 kHz.
4
5
JTAG config starting.
6
Hardware Version: 0xce
7
Software Version: 0x80
8
Reported JTAG device ID: 0x9502
9
Configured for device ID: 0x9502 atmega32
10
JTAG config complete.
11
Preparing the target device for On Chip Debugging.
12
13
Disabling lock bits:
14
LockBits -> 0xff
15
16
Enabling on-chip debugging:
17
Extended Fuse byte -> 0xe1
18
High Fuse byte -> 0x19
19
Low Fuse byte -> 0xe1
20
Waiting for connection on port 4242.
Berechtigung: avarice hat vollen Zugriff unter allen Gruppen und
Benutzern.
Das geschieht immer beim eisten Aufruf wenn der AVR-JTAG eingesteckt und
das avarice gestartet wird.
Erste Frage: Ist das normal?
Zweites Problem:
Unter Run->Debug Configuration->GDB Hardware Debugging habe ich folgende
Einstellungen. (siehe Bilder)
Wenn ich dann den Server und den Debugger Starte wechselt das Eclipse in
die Debugger Perspektive, wartet bei main() und unter avr-gbt hab ich
dieses Logfile.
Als Testprogram benutze ich das Blink LED aus der ersten Anleitung.
Logfile:
1
3-gdb-set confirm off
2
23^done
3
(gdb)
4
24-gdb-set width 0
5
24^done
6
(gdb)
7
25-gdb-set height 0
8
25^done
9
(gdb)
10
26-interpreter-exec console echo
11
26^done
12
(gdb)
13
27-gdb-show prompt
14
27^done,value="(gdb) "
15
(gdb)
16
28-gdb-set new-console on
17
&"No symbol table is loaded. Use the \"file\" command.\n"
18
28^error,msg="No symbol table is loaded. Use the \"file\" command."
19
(gdb)
20
No symbol table is loaded. Use the "file" command.
Wenn ich jetzt den Step in Pfeil anklicke passiert folgendes.
Der Zeilenzeiger verschwindet.
Die LED am AVR-JTAG-USB fängt an zu blinken.
Die LED auf dem Atmel Evalutionsboard bleibt aus.
Die Step in & Step over buttens werden grau.
Setze ich einen breack point innerhalb der while() Schleife arbeitet es
anscheinend einmal die Schleife bis zum breack point ab. Aber die Led
auf dem Atmel board bleibt trotzdem aus.
Log einer Schleife:
Ich hab schon google befragt doch nichts gefunden.
Selbst einiges ausprobiert doch nichts Klappt.
Was muss noch gemacht werden damit es funktioniert?
Danke im Voraus!
Ich glaube schon.
Du meinst bei den Debugger Einstellungen müsste noch das stehen
|C/C++ Remote Application|
Gehört das aber nicht zu etwas Anderem? Da es in den Tut. Bildern auch
nicht vorkommt hab ich mich darum nicht gekümmert.
Ich glaub nicht das dir jemand helfen kann ohne dein Projekt vor sich zu
haben, daher musst du dich wohl selbst mit dem Compiler/Linker Optionen
und dem Debugger Einstellungen quälen.
Ich hatte ein ähnliches Problem, das ich durch den code nicht springen
konnte im Debugger, da er die C-Files nicht mit dem Disassembly
verknüpfen konnte. Nach langem Suchen hab ich gemerkt das ich in den
Compile Optionen ein Debug flag nicht aktiviert hatte.
Tag,
hilft es wenn ich das Projekt hier hochlande?
Ich hab nämlich keinen Anhaltspunkt mehr was ich in den Einstellungen
alles ändern oder erweitern sollte.
Und nach fünf Tagen ohne Erfolg wird es langsam deprimierend. :(