mikrocontroller.net

Forum: Compiler & IDEs Manual für Debugging


Autor: Peter Leistikow (leistikow)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: 900ss D. (900ss)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: STK500-Besitzer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Peter Leistikow (leistikow)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.