Hallo, ich habe heute mal einen ATmega128 mit dem AVR Dragon programmiert. Über ISP funktioniert alles einwandfrei. Ich wollte trotzdem nochmal die programmierung über JTAG testen. JTAG ist schön, weil deutlich schneller. Ich habe den JTAG Header auf der Platine nach der Belegung von Atmel ausgeführt. Ich habe allerdings die Reset Leitung mit draufgeführt. Der Dragon programmiert auch schön brav den Mega128. Allerdings bleibt die Resetleitung auf low nach abgeschlossener programmierung. Nach Disconnect und Reconnect aus dem AVR Studio läuft der AVR dann auch los. Ich habe gelesen das es auch ohne Anschluss der Reset Leitung funktioniert, aber warum lässt der Dragon die Leitung nicht wieder los? Pull Up ist natürlich auf der Platine, es kommt also wirklich vom Dragon aus. mfg Stefan
Hallo Stefan, inzwischen hast Du sicher eine Lösung gefunden (?). Ich entwickle gerade eine Platine mit einem JTAG-Adapter zur Programmierung des Prozessors mit dem Dragon und habe zudem vor, das JTD-Bit zu verändern, da ich die JTAG I/O-Pins auch für andere Zwecke benötige. Beim Suchen im Inet bin ich auf http://ltc.cit.cornell.edu/courses/ee476/AtmelStuff/dragon.pdf gestoßen, wo in der Tabelle auf S. 8 zum nSRST Pin steht: "This pin is also an input to the adapter so that the reset initiated on the target may be reported to the AVR Dragon". Ein einfaches RESET Deines Prozessors bringt also vielleicht den Dragon dazu, die (open collector) Line freizugeben (hoffe ich...). Viele Grüße Fred
Da bin ich vor einiger Zeit schon drüber gestolpert, das ist wahrscheinlich ein Fehler im AVR-Studio. Einfach den Reset am JTAG nicht anschliessen und es funktioniert wie es soll. Denn JTAG braucht den Reset überhaupt nicht. Im Zweifel kann man im Layout den Reset ja auch über einen Konfigurations-Null-Ohm führen. @Fred S Wie soll der Dragon denn merken, dass man versucht, einen Reset auszulösen? Ist der Pegel bei Null kannst Du solange Deinen Taster Reset-gegen-GND betätigen wie Du willst, da gibt es nichts zu detektieren. Hochohmig mit VCC zu verbinden bringt auch nichts ausser Stromfluss.
Hallo Rudolph R., > @Fred S > Wie soll der Dragon denn merken, dass man versucht, einen Reset > auszulösen? Ich gehe davon aus, dass die nSRST-Leitung nach Beenden des Programmiervorgangs abwechselnd als Ein-und Ausgang geschaltet wird, um genau das festzustellen. Habe die Info, dass es funktionieren soll, auch nur aus dem zitierten Dokument und nirgendwo behauptet, mehr Wissen dazu zu besitzen. Ich werde, da ich das JTD-Bit setzen muss, auf jeden Fall eine volle Funktionalität der nSRST-Leitung benötigen, denn sonst kann ich meinen Prozessor nicht mehr programmieren, wenn ich JTD-gesetzt habe (siehe ATmega329P Datenblatt Version 8021C–AVR–08/07, Seite 315). Laut Dokumentation zum Dragon im AVR STudio geht das auch. Aber Dokumente sind bekanntlich geduldig... Viele Grüße Fred
Hier noch das Originaldokument von Atmel: http://www.atmel.com/dyn/resources/prod_documents/doc2562.pdf (Seite 4). Gruß Fred
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.