Hallo, kann jemand eine verständliche Einführung in die Möglichkeiten des Debuggings empfehlen? Ich hatte mir gewünscht, man könne Schritt für Schritt nachvollziehen, am liebsten im Sourcecode eines C-Programmes, wo das Programm hinspringt, wie die Ports an gewissen Programmstellen stehen usw. In AVR4.13 sehe ich einen Menuepunkt "Trace"; ich glaube das ist das, was ich gebrauchen könnte, aber leider ist er deaktiviert. Es wird ICE50 verlangt, ich habe aber einen AVR über JTAG angeschlossen. Daneben gibt es noch run debug, aber das eilt durch das Programm und damit basta. Dann habe ich mir avr-gdb angesehen, habe aber schon mit den anfänglichen Script m4 Schwierigkeiten und das dazu aufgerufene simulavr meldet "device not supported" (was ich bei einem ATmega16 nicht erwartet hätte). Gibt es verständliche Manuals bzw. Programme (für XP, ggf auch für Linux)? Vielen Dank schon mal mfg Peter
Peter Leistikow wrote: > Hallo, > kann jemand eine verständliche Einführung in die Möglichkeiten des > Debuggings empfehlen? Ich gebe mal ein paar grundsätzliche Hinweise. > > Ich hatte mir gewünscht, man könne Schritt für Schritt nachvollziehen, > am liebsten im Sourcecode eines C-Programmes, wo das Programm > hinspringt, wie die Ports an gewissen Programmstellen stehen usw. Genauso ist das auch möglich. Dein Wunsch kann erfüllt werden :-) > > In AVR4.13 sehe ich einen Menuepunkt "Trace"; ich glaube das ist das, > was ich gebrauchen könnte, aber leider ist er deaktiviert. Es wird ICE50 > verlangt, ich habe aber einen AVR über JTAG angeschlossen. Wenn Du direkt auf Deiner Hardware debuggen willst, geht das nicht mit einem JTAG Programmer. Du brauchst einen JTAG Debugger. Da wären: 1) Nachbauten des ATMEL JTAG ICE (nicht zu verwechseln mit ATMEL JTAG ICE MkII): Evertool Light (Forumsuche, Google) Es gibt auch andere Nachbauten. Kann aber nur nicht alle AVR debuggen/programmieren, auf jedenfall aber bis ATMEGA32. Aber die ganz kleinen mit DebugWire kann er nicht. Kosten: Arbeit und ca. 20-30 Euro. 2) ATMEL Dragon, kann programmieren, debuggen (über JTAG und auch über DebugWire). Programmieren kann er AVRs > 32kB, debuggen ist aber begrenzt auf AVRs <= 32kB (bis ATMEGA32). Kosten ca. 60 Euro. 3) ATMEL JTAG ICE MkII: Das Flagschiff, kann alles und auch die "großen" 32-Bit CPUs von ATMEL, also AVR32. Kosten ca. 280 Euro. > Daneben gibt es noch run debug, aber das eilt durch das Programm und > damit basta. Im Studio brauchst Du die Kommandos Debug-StepInto bzw. Debug-StepOver. Debug-Run, läßt, wie der Name schon sagt, das Programm rennen, nicht schrittweise ausführen ;-) Wenn Du mit Deiner Hardware debuggen willst, brauchst Du einen der oben erwähnten JTAG Debugger (nicht reine Programmer). Mit einem reinen JTAG Programmer kannst Du garnicht debuggen. Wenn Du das mal ausprobieren möchstest mit dem Studio, kannst Du den Simulator (im Studio integriert) nehmen. Siehe Hilfe. Die Hilfe gibt auch Hinweise und die Möglichkeiten (welche Devices unterstützt werden) auf die oben erwähnten Debugger. > > Dann habe ich mir avr-gdb angesehen, habe aber schon mit den > anfänglichen Script m4 Schwierigkeiten und das dazu aufgerufene simulavr > meldet "device not supported" (was ich bei einem ATmega16 nicht erwartet > hätte). AVR-GDB brauchst Du nicht, wenn Du über das Studio arbeitest. Simulavr ist der Simulator aus dem WINAVR Paket. Brauchst Du auch nur, wenn Du simulieren willst und kein Studio verwendest- > > Gibt es verständliche Manuals bzw. Programme (für XP, ggf auch für > Linux)? Siehe mal in die Hilfe vom Studio. Im Moment habe ich keinen Link parat. Wenn Du gerne ohne Studio arbeiten möchstest, gibt es diesen Artikel für Simulavr: http://www.mikrocontroller.net/articles/AVR-Simulation Viel Glück.
Wenn man ein neues Projekt im AVR-Studio startet, kann man die Simulator-Plattform auswählen. Da muß man dann das JTAG ICE auswählen. Nachträglich geht das über das Menu "Debug" Menüpunkt "Select Platform and Device". Dann muß man nur das Projekt compilieren ("Build and run") und dann den Simulator/Emulator/Debugger starten.
Hallo, vielen Dank für Eure Ratschläge. Ich abe mich gestern nochmals an AVRStudio4.13 versucht. Ich benutze als Programmieradapter eine Platine "Dragon" (USB u. JTAG). Eigentlich kommt es mir - bisher wenigstens - nicht auf Hardwaredebugging an, aber wenn ich bei AVRStudio die .elf-Datei angebe, werde ich sofort nach Platform und Device gefragt und lande dann gleich auf der Hardwaredebuggingsschiene. Mit Trace funktioniert es nicht (vielleicht bei Simulation?); die Buttons Step into, step over lotsen auch tatsächlich durch das Programm, einschließlich der Sprünge, aber sie sind nach wenigen Betätigungen deaktiviert, dann hilft nur noch Reset. Und wenn auf irgendein Ereignis gewartet werden soll, dann ist ohnehin Schluß. Bisher ist die "Reset"-Funktion für mich am wichtigsten. Vielleicht gewöhne ich mich an die Handhabung des Programms. Auf jeden Fall macht es einen ganz guten Eindruck. mfg Peter
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.