Hallo Zusammen, ich bin auf der Suche nach einer Beschreibung um die großen Atmegas über JTag zu beschreiben. Es geht nicht um „man nehme einen mega16“ und Studio schaufelt die Software in das Ding rein, sondern um die reine Programmierung über das JTag-Interface. Ich hab’ mal einen m168 als Ziel vorgesehen. Dies ist aber völlig egal. In den Zeilen 21-31 kann man die UART anpassen. Über den COM-Port meldet sich dann der Mega als JTagICE am Studio betriebsbereit. Jetzt mein Problem: Ich habe keine Ahnung, wie ich den ATmega(Ziel) per JTag ansprechen kann. Nochmal: NICHT per ISP sondern per JTag! Kann mir da jemand helfen? (in Main -> Read Signature -> gebe ich mal den Atmega32 zurück)
Ja, Ja habe ich schon. Es geht nicht um das Prinzip, sondern wie mache(im Sinne von wirklich TUN) ich es. Ich kann auch meiner Software sagen: „siehe du hast einen ATMEGA32 vor dir“ und sie wird alles an das AVR-Studio weitergeben (AVR060). Aber über den JTAG-Teil schweigen sich alle aus. Also – Wie lese ich z.B. lFuse über JTAG aus? Oder andere Frage: WIE LÖSCHE ICH ÜBER JTAG das ganze Device?
Hi adele, schönes Thema... Als JTAG-Library kann ich dir die XSVF-Sourcen von Xilinx empfehlen (einfach die Shift-Kommandos extrahieren). Schau mal ins DB der Derivate, die ein JTAG-Interface haben. Dort wird beschrieben, welche Bits du beispielsweise zum Programmieren über die Kette schieben musst. Ein weiterer Ansatz-Punkt ist vielleicht AVR2SVF (ein Atmel-Tool um aus HEX-Files SVF-Files zu erstellen). Die SVF-Ergebnisse sollten sich ja mit den DB-Infos decken. Eine ausführliche Bechreibung des Interfaces (vor allem zum Debuggen) ist nicht so einfach zu finden ;-( Gruß Andreas
Hallo Andreas, danke für den Tipp, morgen werde ich mal nachsehen. ATmel hat glaub ich auch so was im Programm – gute Idee, danke!
Hallo, sieh dir doch mal den Quellcode vom JTAG-ICE Modul für den USB-Prog an, soweit ich das mitbekommen habe ist die Programmierung über JTAG schon komplett implementiert. Grüße Peter
Hallo Peter Ich habe schon vor einiger Zeit mal in die Quelle geschaut und mich schon damals gefragt, wie die Befehle aus dem AVR060-Datenblatt in die 15 Teile in der Quelle übersetzt werden. Also ich werde daraus nicht so richtig schlau. Mein Problem ist nach wie vor, wie schreibe oder lese ich einen Speicherbereich aus oder in den AVR per JTAG. Funktioniert das (im Prinzip) wie bei ISP? Wozu braucht man die Device Descriptoren aus dem AVR060 – was steht in den Dingern drin oder sind die Dinger vielleicht zur Grundinitialisierung nach einem ERASE zu gebrauchen? Es wäre schön, wenn ich ein paar Antworten bekommen würde Danke Adele Ich habe mein „Progrämmchen“ mal ein bisschen ausgedehnt. Einfach an den AVR eine serielle Schnittstelle dran, den Seriel-Monitor angeworfen und aus dem Studio mal den JTAGICE als Brenner oder Debugger gewählt – Man kommt damit schon ziemlich weit. Nur eben es fehlt das Schreiben und Lesen des Speichers.
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.