AVR Programmer Verständnnissfrage

Gast #3143457
Lesenswert?

Hallo,

kurze Einstiegsbeschreibung:

Angefangen hab ich mit dem STK500. Damit programmiere ich meine Atmels 
Tinys und Megas. Zum Test erst DILs auf dem STK500. Mit den Tastern und 
LEs simuliere ich mir die IOs. Dann wenn ich mir eine Prototyp Platine 
gemacht habe verwende ich das ISP Interface des STK50 um meine Platine 
zu programmieren.
Ich habe mir jetzt zusätzlich das AVRISP MKII besorgt, das ist doch das 
gleiche wie schon auf dem STK500 ist? oder kann das mehr? Ich wollte 
eigentlich nur mit einem Laptop meine Platinen Programmieren können das 
klappt auch.

Wenn ich debugge gebe ich mir die Variablen oder das was mich 
intressiert mit printf seriell aus. Die debugzeilen kommen dann später 
wenn es läuft wieder raus.

Nun gibt es ja z.b. das AVR ISP MKII welches jtag unterstützt.
JTAG sagt mir das ich zur laufzeit den Prozessor anschauen kann oder? 
Was bringt mir ein JTAG interface?

Michi
#3143465
Lesenswert?

Michi schrieb:
> Ich habe mir jetzt zusätzlich das AVRISP MKII besorgt, das ist doch das
> gleiche wie schon auf dem STK500 ist? oder kann das mehr?
Ist nicht das gleiche. Der AVR ISP MKII kann z.B. auchg PDI, das kann 
der STK500 nicht.


> Nun gibt es ja z.b. das AVR ISP MKII welches jtag unterstützt.
Nein. Der AVR ISP MKII kann nur Programmieren via ISP oder PDI. Der AVR 
JTAGICE mkII kann JTAG, wie man ja schon am Namen erkennt.

> JTAG sagt mir das ich zur laufzeit den Prozessor anschauen kann oder?
> Was bringt mir ein JTAG interface?
Ja die Debug-Fähigkeit. Damit kannst du in Echtzeit Debuggen, also 
Breakpoints setzen, Register etc anschauen. Du kannst aber auch den 
Dragon nehmen, der ist etwas günstiger und kann auch JTAG und eben auch 
ISP und PDI.
Gast #3143474
Lesenswert?

Ja sorry ich meinte den JTAGICE für Jtag.

Was ist PDI, bzw. was kann ich damit anfangen? Wo ist der Unterschied zu 
ISP?

Register anschauen kann man auch z.b. mit dem Simulator. ber was bringt 
mir z.b. ein Brakepoint auf einem Mega auf der Platine? Das kommt ja 
warscheinlich auf das Programm an ob ich zu diesem Zeitpunkt die 
Register anschauen will, was könnte so ein Beispiel sein?
#3143496
Lesenswert?

Michi schrieb:
> Was ist PDI, bzw. was kann ich damit anfangen? Wo ist der Unterschied zu
> ISP?
PDI braucht man für die neuren Xmegas, wenn du nie vor hast diese zu 
verwenden kannst du also auch darauf verzichten

> Register anschauen kann man auch z.b. mit dem Simulator. ber was bringt
> mir z.b. ein Brakepoint auf einem Mega auf der Platine? Das kommt ja
> warscheinlich auf das Programm an ob ich zu diesem Zeitpunkt die
> Register anschauen will, was könnte so ein Beispiel sein?
Klar mit dem Simulator kannst du das auch machen, aber damit simulierst 
du eben nur den µC selbst. Wenn du richtig auf den AVR debuggst kannst 
du z.B. sehen was der AVR von einem I2C-Baustein empfangen hat, oder 
welches Zeichen er wirklich über UART empfangen hat, oder welche 
Spannung der ADC wirklich ermittelt hat etc.
Gast #3143500
Lesenswert?

Timmo H. schrieb:
> sehen was der AVR von einem I2C-Baustein empfangen hat, oder
>
> welches Zeichen er wirklich über UART empfangen hat, oder welche
>
> Spannung der ADC wirklich ermittelt

Ok, schonmal verstanden, Danke.

Also sogar noch das bevor ich es per printf ausgebe, oder was meinst du 
mit z.b. welche Spannung er wirklich gemesen hat? Kann ich damit die 
Bits im ADC anschauen? Bzw. Was ist dann der Unterschied wenn ich den 
Wert des ACDs an eine Variable gebe und dann mit printf Ausgebe? Bis auf 
das das man mit printf zusätzlich code benötigt?
#3143510
Lesenswert?

Michi schrieb:
> Also sogar noch das bevor ich es per printf ausgebe, oder was meinst du
> mit z.b. welche Spannung er wirklich gemesen hat?
Du kannst dir zu jedem zeitpunkt die Register und Speicherinhalte 
anschauen.

> Kann ich damit die Bits im ADC anschauen? Bzw. Was ist dann der
> Unterschied wenn ich den Wert des ACDs an eine Variable gebe und
> dann mit printf Ausgebe? Bis auf  das das man mit printf zusätzlich
> code benötigt?
Naja manchmal verhält sich das Programm ja anders als man eigentlich 
will. Hängt sich auf, gibt komische Sachen aus etc. Dann kommt man mit 
printf debugging auch manchmal nicht weiter, da kann das Echtzeit 
debugging schon hilfreich sein (auch wenn ich bisher auch immer gut ohne 
klar gekommen bin). Man kann sich ja auch mit Port-Wackeln etc. 
behelfen. Aber bei sehr komplexen Sachen ist das debugging auf dem µC 
schon sehr hilfreich.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren