Forum: Mikrocontroller und Digitale Elektronik Suche Tutorial für Hard- und Softwaredebugging


von Philipp H. (phil_phil)


Lesenswert?

Hallo,

ich glaube der Titel erklärt relativ exakt was ich suche :-)

Ich bin momentan bei einem etwas größeren Projekt (AT90) ein wenig ins 
straucheln geraten und der Software Debugger im AVR Studio macht ja eh 
nie was er sollte (?!).

Deshalb. Wie debuggt man womit?! Es geht um Taster <-> Timer <-> LEDs 
und ein Haufen Sensoren; falls das von Bedeutung sein sollte.

Es gibt ein JTAGICE MKII und nen DRAGON.. Schön, aber wie geht man damit 
um und wie benutzt man die?! Lohnt es sich soetwas zu kaufen? Ist das 
debuggen VIEL besser als im AVR Studio?! (Was meiner Erfahrung nach 
GROTTENschlecht ist; v.a. bei großeren Projekten)

von AVRli (Gast)


Lesenswert?

Hi,

Philipp Horenz. schrieb:
> ...der Software Debugger im AVR Studio macht ja eh
> nie was er sollte (?!).

Ja ein Simulator ist ein Simulator ich glaube nicht das der den 
eigentlichen Chip wirklich abbilden kann... ;-) Taster, Timer usw. 
sollte schon gehen!

Philipp Horenz. schrieb:
> Es gibt ein JTAGICE MKII und nen DRAGON.. Schön, aber wie geht man damit
> um und wie benutzt man die?! Lohnt es sich soetwas zu kaufen?

Hmm kommt nen bischen darauf an wie viel man macht und was man sich 
"leisten" möchte. Ganz billig ist das JTAGICE MKII nicht, möchte aber 
nicht wissen wie viel Zeit einigen Programmierern damit schon erspart 
wurde. Du kannst mit dem Ding die Codeausführung an beliebiger Stelle 
unterbrechen und sozusagen "in den Chip" gucken. SRAM, Register, EEPROM, 
Variablen usw...

Wenn Du nun vlt. 2 Sachen im Jahr am Wickel hast geht's für den Anfang 
auch günstiger...

Entweder eine LCD-Displayausgabe integrieren damit man sich bestimmte 
Werte darauf anzeigen lassen kann oder was auch noch geht, UART nutzen 
und sich das ganze auf den PC schicken lassen.



Gruß AVRli...

von Philipp H. (phil_phil)


Lesenswert?

AVRli schrieb:
> Du kannst mit dem Ding die Codeausführung an beliebiger Stelle
> unterbrechen und sozusagen "in den Chip" gucken. SRAM, Register, EEPROM,
> Variablen usw...

Und wie GENAU mache ich sowas? Gibt es da kein Tutorial?

von Falk B. (falk)


Lesenswert?

Die Welt hat nicht für alles ein Tutorial.

von spess53 (Gast)


Lesenswert?

Hi

>Und wie GENAU mache ich sowas? Gibt es da kein Tutorial?

Wenn du ein JTAGICE MKII oder einen DRAGON zum debuggen benutzt hast du 
die gleiche Oberfläche wie im Simulator. Die Bedienung ist ebenfalls 
identisch.

>Was meiner Erfahrung nach GROTTENschlecht ist; v.a. bei großeren Projekten)

vielleicht ist das etwas für dich:

http://www.labcenter.co.uk/index.cfm

MfG Spess

von Philipp H. (phil_phil)


Lesenswert?

Falk Brunner schrieb:
> Die Welt hat nicht für alles ein Tutorial.

...aber offensichtlich auf alles eine Antwort.

Ich gehe mal nicht davon aus, dass man als Anfänger die C. Norris 
Mehtode mit "anstarrenunddusagstmirwasichwissenwill" verwendet. Also wie 
kann man sowas lernen? Muß man tatsächlich genetisch fürs debuggen 
vorbestimmt sein?

von Falk B. (falk)


Lesenswert?

@  Philipp Horenz. (phil_phil)

>Ich gehe mal nicht davon aus, dass man als Anfänger die C. Norris
>Mehtode mit "anstarrenunddusagstmirwasichwissenwill" verwendet.

;-)

> Also wie
>kann man sowas lernen?

Hmmm.

> Muß man tatsächlich genetisch fürs debuggen vorbestimmt sein?

Nein, das kann man lernen. Ich habs in jahrelangem Selbststudium + ein 
wenig im richtigen Stdium + viel in der Praxis danach gelernt. Und lerne 
immer noch, wenn gleich weniger.

Ich werd vielleicht mal in den nächsten Tagen ein Tutorial anfangen.

MfG
Falk

von AVRli (Gast)


Lesenswert?

Philipp Horenz. schrieb:
> Und wie GENAU mache ich sowas? Gibt es da kein Tutorial?

Hmm, wie man das nun in ein Tutorial verpacken will weiß ich nun auch 
nicht. Im Prinzip ist es doch aber so das man von dem Programmablauf 
eben was ganz bestimmtes erwartet oder?

Will ich einen Timmer schreiben dann setze ich die entsprechenden 
Register und kann dann Schritt für Schritt Zeile für Zeile gucken ob das 
mit den Registern passiert was ich erwarte. Ist nen bischen "learning by 
doing" denk ich mal. Will man nun wissen ob der Timer in der gewünschten 
Frequenz arbeitet dann kann man sich im INTERRUPT ein PIN toggeln 
lassen. Frequenzmesser oder Ozzi ran und staunen ob's klappt.

Kommt da nichts raus ist wohl ein Fehler drin... -> Suchen...

Also Schritt für Schritt Timer richtig geladen? Im INTERRUPT alles 
richtig gemacht?

Fehler suchen beschreiben ist aber auch schwer, man weiß ja im Prinzip 
nicht was falsch ist, also die alte Ausschlussmethode das bestimmte 
Programmteile funktionieren sollte den Fehler einkreisen. Am besten 
"debugt sich das im Schlaf... ;-)" wenn die Gedanken durch den Quelltext 
kreisen und man am nächsten Tag die "Zündung" im Kopf hat warum 
irgendwas vlt. nicht funktioniert.

Gruß AVRli...

von Meister E. (edson)


Lesenswert?

Philipp Horenz. schrieb:
> Und wie GENAU mache ich sowas? Gibt es da kein Tutorial?

>> Die Welt hat nicht für alles ein Tutorial.
>
> ...aber offensichtlich auf alles eine Antwort.

Falk Brunner schrieb:
> Ich werd vielleicht mal in den nächsten Tagen ein Tutorial anfangen.

Ihr macht die Sache aber kompliziert ;)
Am einfachsten ist es doch, das zum Debugger gehörende Manual zu lesen. 
Zumindest eine Art "Quick-Start-Guide" oder Ähnliches findet sich doch 
direkt beim Hersteller zum Download. Der Rest ist "Learning by Doing".

Grüße,
Edson

P.S. Entschuldigt bitte die angeführten Anglizismen, manchmal komme ich 
nicht ohne aus...

von Philipp H. (phil_phil)


Lesenswert?

Falk Brunner schrieb:
> Ich werd vielleicht mal in den nächsten Tagen ein Tutorial anfangen

brauchst du nicht mehr. Ich hab gerade DAS gefunden:

http://www.avrtv.com/2008/09/25/debugging-with-jtagicemkii/

:-)

diese Atmel TV Seite is total dufte. Sollte man mal mit in die 
Linksammlung aufnehmen denke ich.

Fürs AVR Studio gibt es auch ein Video:
http://www.avrtv.com/2008/09/01/in-depth-avr-studio/

und fürs STK-500 och:
http://www.avrtv.com/2008/08/25/in-depth-stk500/

Hab zwar noch nicht alle gesehen, aber ich denke mal, dass die gut sind. 
Ist ja direkt von Atmel und sowas kann, wie wir alle wissen, nur gut 
sein :-P

von spess53 (Gast)


Lesenswert?

Hi

>brauchst du nicht mehr. Ich hab gerade DAS gefunden:

Die Bedienung sollte das kleinste Übel sein. Aber auch ein JTAGICE MKII 
oder ein DRAGON findet keine logischen Fehler in deinem Programm. Du 
musst schon selber wissen, was an einer bestimmten Programmstelle Fakt 
sein muss.

Wenn man das nicht kannst, ist sogar eine 'Debug-Led' sinnlos und heraus 
geschmissenes Geld.

MfG Spess

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.