http://www.mikrocontroller.net/articles/JTAG
Hallo, ich würde später gerne über JTAG meinen Atmega1284P debuggen. Nun
möchte ich eine Schnittstelle dem Board verpassen. PortC wird bis auf
PC0 und PC1 (I2C) nicht gebraucht und somit sind keine Pins doppelt
belegt mit dem JTAG Interface.
Nun gibt das Handbuch nicht die meisten Infos darüber hinaus. Angeben
wird nur IEEE 1149.1. Damit wäre die Belegung aber immer noch etwas
ungeklärt.
Geroutet habe ich bislang
1
Signal Pin Pin Signal
2
TCK 1 2 GND
3
TDO 3 4 VCC
4
TMS 5 6 RESET
5
VCC 7 8 N.C.
6
TDI 9 10 GND
Da bin ich mir aber nicht so ganz schlüssig. Zum einen was geschieht mit
Pin 7 (Vcc). Beim JTAG mkII ist er unbelegt, beim ICE hingegen ist er
blegt mit Vcc. Wie handhaben die Debugger das normalerweise? Sollte ich
diesen Pin am besten unbeschaltet lassen oder ggf. ein trennbaren Jumper
einsetzen?
Ich habe mich noch auf keinen JTAG festgelegt. Er sollte erschwinglich
sein, da das ganze nur reines Hobby ist. Habe einen AVRISP mkii von
Atmel, aber damit wollte ich das auch belassen. Da die anderen Geräte
doch sehr stark an den Geldbeutel gehen und ich nicht den Vorteil im
Hobbybereich sehe.
Wie sieht der heutige JTAG Header aus? In dem Artikel wird noch 2.54mm
RM genannt. Habe aber den JTAG auf anderen Geräten auch schon nur noch
als 1.27mm gefunden. Wozu würdet ihr raten? Platz ist auf der PCB, aber
muss ja nicht unnötig mit einem großen 5x2 Header belegt werden.
Danke schon mal für Anregungen und Tipps.
Hi
> Zum einen was geschieht mit>Pin 7 (Vcc). Beim JTAG mkII ist er unbelegt, beim ICE hingegen ist er>blegt mit Vcc.
Welchen ICE meinst du? Beim aktuellen ATMEL-ICE
http://www.farnell.com/datasheets/1836583.pdf
ist Pin7 unbelegt.
MfG Spess
> Da bin ich mir aber nicht so ganz schlüssig. Zum einen was geschieht mit> Pin 7 (Vcc). Beim JTAG mkII ist er unbelegt, beim ICE hingegen ist er> blegt mit Vcc.
Du meinst das allererste JTAGICE von Atmel?
Dort war Pin 7 für die Versorgung des Targets aus dem JTAGICE selbst
vorgesehen (welches man damals ausschließlich mit externer Versorgung
betreiben konnte, daher hatte es die nötige Reserve).
Lass es offen, wird heute nicht mehr benutzt.
Pin 4 dagegen ist die Referenzspannung für die Pegelwandler im ICE,
daher muss man dort Vcc seines Targets anlegen. Falls du mal
Schlafströme messen willst: JTAGICE abziehen, die Pegelwandler ziehen
dort ein paar 100 µA.
> Wie handhaben die Debugger das normalerweise?
„Die Debugger“ gibt's hier nicht, das ist ja ein reiner Atmel-Standard.
> Ich habe mich noch auf keinen JTAG festgelegt. Er sollte erschwinglich> sein, da das ganze nur reines Hobby ist.
Heutzutage würde ich dir zum Atmel-ICE raten. Wenn du billig sein
willst, bekommst du es sogar als nackte Platine, allerdings musst du
dich dann um sämtliche Kabel und Stecker selbst kümmern.
> Wie sieht der heutige JTAG Header aus? In dem Artikel wird noch 2.54mm> RM genannt. Habe aber den JTAG auf anderen Geräten auch schon nur noch> als 1.27mm gefunden.
Seit dem JTAGICE3 ist Atmel selbst auf 1,27 mm gegangen. Die größeren
Stecker sind natürlich etwas „bastlerfreundlicher“, Aufpressbuchsen
dafür bekommst du an jedem Kiosk, bei 1,27 mm ist das nicht ganz so
einfach.
Stefan S. schrieb:> Wie handhaben die Debugger das normalerweise?
Es gibt kein "normalerweise", jeder Hersteller hat seinen eigenen
"Standard", wie er JTAG nach außen führt. Manche nutzen 10-polige,
andere 20-polige, wieder andere 14-polige Stecker. Letztenendes besagt
IEEE 1149.1 nur, dass TCK, TMS, TDI, TDO und ggf. TRST zur Verfügung
gestellt werden müssen. Natürlich braucht man mindestens noch einen PIN
um einen gemeinsamen Bezug für die Signalpegel herzustellen
(üblicherweise GND). Wie man die Signale anordnet und was man zusätzlich
noch auf den Stecker legt ist aber einem selber überlassen, idealerweise
orientiert man sich aber an irgendeinem etablierten Layout (wie du es
getan hast).
Um dann zwischen verschiedenen Pinouts zu "übersetzen" kann man
Adapterplatinen anfertigen.
Ich würde dir als Debugger übrigens den Atmel-ICE empfehlen, der ist
vergleichsweise günstig und bietet eigentlich alles, was man als
Hobbyist benötigt.
http://www.atmel.com/tools/atatmel-ice.aspx
Viele Grüße
Daniel
Im Artikel: JTAG
Abschnitt:
"Der 10-polige JTAG Stecker von mmvisual (ARM, Cortex, Seriell
kombiniert)"
Lese Dir das mal durch. Der Stecker ist nahezu perfekt angeordnet und
sollte auch für Dein Problem eine gute Lösung sein.
- SWD
- JATG
- UART
- Stromversorgung
RM2,54mm ist schon besser, weil einfacher zu Löten und Tauglich für
Lochrasterplatinen oder einen schnellen Aufbau.
Nur in absoluten Platzmangelfällen würde ich was anderes machen, z.B.
nur 5 Pins für SWD verwenden.
Markus Müller schrieb:> Der Stecker ist nahezu perfekt angeordnet und sollte auch für Dein> Problem eine gute Lösung sein.
Außer dass man halt einen Adapter braucht, wenn man nicht die
Belegung von Atmel benutzen will.
Wenn man JTAG wirklich als JTAG nehmen will, ist das was anderes, aber
wenn man damit AVRs debuggen will, hat es nicht viel Sinn, das Pinout
von ARM, mmvisual oder sonstwem zu benutzen. AVR-JTAG ist bezüglich
des Debugprotokolls proprietär, man kann es also nur mit den Tools
von Atmel bedienen. (Programmieren könnte man auch mit anderen, macht
aber kaum einer.)
Stefan S. schrieb:> Wie sieht der heutige JTAG Header aus?
Das liegt eigentlich ganz bei dir. Mir war auch 1,27 noch zu gross, ich
habe daher einen 6pol. Miniaturstecker vorgesehen, der unter einer
IC-Fassung Platz findet, das einzige was man dann dazu braucht, ist ein
Adapterkabel auf den verbreiteten 10poligen Flachkabelstecker, siehe
Bilder.
Manche Entwickler sehen garkeinen Stecker vor, sondern nur Testpads, die
mit Federstifften kontaktiert werden. Das ergibt maximale Layoutfreiheit
und verursacht in der Serienfertigung keine Kosten für Stecker.
Georg
Jörg Wunsch schrieb:> Außer dass man halt einen Adapter braucht, wenn man nicht die> Belegung von Atmel benutzen will.
Wenn er die Atmel Belegung will, dann hätte er sicher hier nicht gefragt
;-)
Markus Müller schrieb:> Wenn er die Atmel Belegung will, dann hätte er sicher hier nicht gefragt> ;-)
Wenn du dir seinen Beitrag durchgelesen hättest, wäre dir aber schon
klar geworden, dass er der Atmel-Belegung haben will und lediglich
zu dieser noch Detailfragen hat.
Georg schrieb:> siehe Bilder.
Sehr Servicefreundlich :/
Erinnert mich an Autos bei denen man die komplette Front demontieren
muss um die Fahrlichtbirne zu wechseln.