www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR JTAG Programmierung


Autor: adele (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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)

Autor: Ale (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du schon hier angeschaut ?

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

Autor: adele (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Andreas Weschenfelder (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: adele (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Peter Mahlknecht (pmahlknecht)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: adele (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.