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
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.
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?
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.
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?
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.
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.