Forum: Mikrocontroller und Digitale Elektronik AVR JTAG Programmierung


von adele (Gast)


Angehängte Dateien:

Lesenswert?

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)

von Ale (Gast)


Lesenswert?

Hast du schon hier angeschaut ?

http://www.mikrocontroller.net/articles/JTAG

von adele (Gast)


Lesenswert?

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?

von Andreas Weschenfelder (Gast)


Lesenswert?

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

von adele (Gast)


Lesenswert?

Hallo Andreas,
 danke für den Tipp, morgen werde ich mal nachsehen. ATmel hat glaub ich 
auch so was im Programm – gute Idee, danke!

von Peter M. (pmahlknecht)


Lesenswert?

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

von adele (Gast)


Angehängte Dateien:

Lesenswert?

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
Noch kein Account? Hier anmelden.