Forum: Mikrocontroller und Digitale Elektronik Arduino mit JTAGICE verbinden


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Harper B. (harper)


Lesenswert?

Ich möchte einen Arduino über die ICSP Schnittstelle programmieren. Dazu 
habe ich mir ein Billigangebot gekauft. 
(https://de.aliexpress.com/item/623898152.html?spm=a2g0s.9042311.0.0.78334c4dxMZ7fO)
Dieser kommt nun mit einer Anschlussbelegung wie folgt:
1
1 - TCK
2
2 - GND
3
3 - TDO
4
4 - VCC
5
5 - TMS
6
9 - TDI
7
10 - GND
Der Rest ist Not Connected.

Die ICSP Schnittstelle sieht nun etwas anders aus:
1
1 - MISO
2
2 - VCC
3
3 - SCK
4
4 - MOSI
5
5 - RESET
6
6 - GND

Mein dreister Versuch diese beiden zu verbinden bringt leider keinen 
Erfolg mit avrdude:
1
GND - GND
2
TCK - SCK
3
TDO - MOSI
4
TDI - MISO
5
TMS - RESET

GND-GND TCK-SCK
1
avrdude -p m328 -P com7 -c avrisp
2
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe0
Ich weiß, der Adapter hat nichts mit dem ATMEL ICE3 zu tun, der eine 
richtige ISP Schnittstelle hat. Habe ich eine Chance mit dem 
Billig-JTAGICE einen Arduino zu flashen oder muss ich mich nach einem 
anderen Adapter umsehen? Sind Verdrahtung und Kommandozeilenparameter 
korrekt?

von Walter T. (nicolas)


Lesenswert?

Da steht:

 1, durch die JTAG mund MCU software und hardware der simulation, auch 
durch die mund von single-chip-prozessor JTAG download ein programm oder 
ändern ein geschmolzenen seide.

Leider hilft das niemandem weiter, aber immerhin finde ich den Thread 
später wieder, weil mich das Ergebnis interessiert. Der klassische 
"Punkt" ist ja hier verpönt.

: Bearbeitet durch User
von beo bachta (Gast)


Lesenswert?

Harper B. schrieb:
> Die ICSP Schnittstelle sieht nun etwas anders aus:

Welche bitte, die deines Controllers oder die deines
(zweifelhaften) Programmiergerätes?

von beo bachta (Gast)


Lesenswert?

Wenn dein Programmiergerät keine Pinbelegung für SPI ausweist
kann es sein dass es sich nicht auf SPI Mode umschalten lässt.
Dann wird es auch vermutlich nichts mit AVRDude, du brauchst
ein AVR Studio (4.xx) um mit der JTAG-Schnittstelle arbeiten
zu können. Dann aber geht nicht jeder Arduino, denn z.B. beim
Arduino Uno fehlt die JTAG-Schnittstelle.

Alles in allem eine sehr kuriose Geschichte, allein das (aus
dem Chinesisch?) übersetzte Englisch lässt keinen Optimismus
aufkommen.

von Axel S. (a-za-z0-9)


Lesenswert?

Harper B. schrieb:

Der Arduino hat eine ISP Schnittstelle, dein Adapter hingegen JTAG.
Äpfel und Birnen.

> avrdude -p m328 -P com7 -c avrisp
> avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe0

Und so schon gar nicht. Ein JTAG-ICE ist kein AVRISP.

von beo bachta (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch die Pin Zuordnung aus dem Atmel JTAG ICE. Man
beachte dass die Spalte "SPI Pinout" sich auf die Original
Atmel 6-polige Steckverbindung bezieht wie sie auch auf den
Arduinos vorhanden ist.

Es gab auch schon Leute die haben die Numerierung der ISP-
Pins nicht gewusst bzw. Oben/Unten-Ansicht verwechselt.

von beo bachta (Gast)


Lesenswert?

Axel S. schrieb:
> ..... dein Adapter hingegen JTAG.

Wissen wir noch nicht so genau ....

Axel S. schrieb:
> Ein JTAG-ICE ist kein AVRISP.

Aber ein echter JTAG-ICE kann auch AVRISP.

von Axel S. (a-za-z0-9)


Lesenswert?

beo bachta schrieb:
> Axel S. schrieb:
>> Ein JTAG-ICE ist kein AVRISP.
>
> Aber ein echter JTAG-ICE kann auch AVRISP.

Ein echter JTAG-ICE kann ISP. Sein Klon eher nicht.

Aber der -c Parameter von avrdude erwartet den Namen des 
Programmier-Adapters. Und avrisp meint den Atmel AVR ISP (ohne mkII). 
Das JTAG ICE gibt es in 3 Varianten. Und nur 2 und 3 können ISP.
1
~ $avrdude -c help
2
3
Valid programmers are:
4
...
5
  avrisp           = Atmel AVR ISP
6
...
7
  jtag1            = Atmel JTAG ICE (mkI)
8
  jtag1slow        = Atmel JTAG ICE (mkI)
9
  jtag2            = Atmel JTAG ICE mkII
10
  jtag2avr32       = Atmel JTAG ICE mkII im AVR32 mode
11
  jtag2dw          = Atmel JTAG ICE mkII in debugWire mode
12
  jtag2fast        = Atmel JTAG ICE mkII
13
  jtag2isp         = Atmel JTAG ICE mkII in ISP mode
14
  jtag2pdi         = Atmel JTAG ICE mkII PDI mode
15
  jtag2slow        = Atmel JTAG ICE mkII
16
  jtag3            = Atmel AVR JTAGICE3 in JTAG mode
17
  jtag3dw          = Atmel AVR JTAGICE3 in debugWIRE mode
18
  jtag3isp         = Atmel AVR JTAGICE3 in ISP mode
19
  jtag3pdi         = Atmel AVR JTAGICE3 in PDI mode

von Harper B. (harper)


Lesenswert?

beo bachta schrieb:
> Harper B. schrieb:
>> Die ICSP Schnittstelle sieht nun etwas anders aus:
>
> Welche bitte, die deines Controllers oder die deines
> (zweifelhaften) Programmiergerätes?

Ich hatte zuvor die Anschlüsse des Programmers beschrieben. Danach die 
das Controllers. Da sehe ich also ein "anders". Womit soll ich denn noch 
vergleichen?

von Harper B. (harper)


Lesenswert?

Ich hatte inzwischen die Möglichkeit, mit einem Original ATMEL ICE 3 zu 
leihen. Mit dem Teil kann ich erstmal meinen UNO bespielen. Ich werde 
vielleicht noch mit dem China-Clone ein paar Experimente machen. 
Immerhin habe ich auch noch Arduino Mega mit einem 2560. Da ist eine 
JTAG Schnittstelle vorhanden. Allerdings meldet sich dieser 
Programmierer im Gerätemanager als COM-Port. Wenn es wirklich als JTAG 
Interface arbeiten soll, muss ich vielleicht noch mal probieren, einen 
passenden Treiber zu beschaffen.

Vielleicht spare ich mir aber auch die Zeit und gebe etwas mehr Geld für 
ein mkII oder vergleichbares aus.

: Bearbeitet durch User
von Harper B. (harper)


Lesenswert?

Der ATMEL ICE hat mehr Möglichkeiten. Ich habe mir inzwischen einen 
preiswerten (nicht billigen) Adapter 
Ebay-Artikel Nr. 203504830479 angeschafft. Der erledigt seinen 
Job klaglos.
1
avrdude -c usbasp -p m328p -V -U flash:w:target.hex
Weiterhin bietet der Adapter auf 6-poligen ISP Anschluss kaum eine 
Möglichkeit, die Pins zu verwechseln.

Der eingangs genannte ATMEL-ICE Klon sollte vom AVR Studio unterstützt 
werden. Ich habe ihn auf der Geräteseite mit einem ATmega256 verbunden 
und auf dem PC das (alte) Studio installiert. Der Adapter wurde nicht 
erkannt. Schade um die Zeit, die wir damit vertrödelt haben.

: Bearbeitet durch User
von Axel S. (a-za-z0-9)


Lesenswert?

Harper B. schrieb:
> vielleicht noch mit dem China-Clone ein paar Experimente machen

Hast du denn inzwischen wenigstens mal herausgefunden, ob es ein Atmel 
JTAG 1 oder 2 ist?

> Ich habe mir inzwischen einen preiswerten (nicht billigen) Adapter
> Ebay-Artikel Nr. 203504830479 angeschafft

Mit dem AVRUSB macht man nichts falsch. Abgesehen davon vielleicht, daß 
es die Chinesen nicht hinbekommen, den sauber mit 3.3V Pegeln zu bauen. 
Und daß da oft eine ur-ur-uralte Firmware drauf ist.

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]
  • [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.

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