Forum: Mikrocontroller und Digitale Elektronik Arduino mega2560


von Peter T. (p-ummel)


Lesenswert?

Hallo,

nun hab ich den Salat und brauche eine helfende Sortierung:

Was ich möchte:
Ich möchte den Arduino mega2560 beackern.
Dazu brauche ich für mich dringend eine Debug-Funktion (JTAG ICE), ohne 
mache ich sonst auf Volltrottel.

Was ich habe:
- linux und winxp
- Das Programm "arduino" auf winxp bekommt Kontakt zum mega2560 (via 
Arduino ISP?)
- AVR Studio4 bekommt keinen Kontakt zum Arduino ISP
- Ponyprog bekommt ebenso keinen Kontakt
- AVR Studio4 bekommt keinen Kontakt zum USB/JTAG-Stick aus China
- winavr irgendwo auf einem PC, bisher ungenutzt aufgrund fehlender 
Ahnung

Was sonst noch in der Luft schwebt:
- Fusebit JTAGEN
Da muß ich wohl ran, um JTAG u aktivieren, aber wie?

Und jetzt sitze ich vor den Trümmern und weiß ich nicht mehr gezielt 
weiter, außer auf Hilfe zu hoffen.


Peter

von Bernd M. (bernd_m)


Lesenswert?

Wenn ich mich recht erinnere geht debuggen nur über jtag. Wenn du den 
arduino bootloader nicht brauchst, wirf ihn raus und setzt den 
bootvector auf deine applikation. Über isp geht wohl nur fuses und 
programming.

Cu, bernd

von Falk B. (falk)


Lesenswert?

@Peter Thoms (p-ummel)

>Ich möchte den Arduino mega2560 beackern.

OK.

>Dazu brauche ich für mich dringend eine Debug-Funktion (JTAG ICE), ohne
>mache ich sonst auf Volltrottel.

Warum? Was willst du denn debuggen?

>- linux und winxp
>- Das Programm "arduino" auf winxp bekommt Kontakt zum mega2560 (via
>Arduino ISP?)

Nein, via Arduino Bootloader

>- AVR Studio4 bekommt keinen Kontakt zum Arduino ISP

Normal, AVR Studio kennt das System Arduino nicht.

>- Ponyprog bekommt ebenso keinen Kontakt

Dito.

>- AVR Studio4 bekommt keinen Kontakt zum USB/JTAG-Stick aus China

Mal wieder gespart.

>Was sonst noch in der Luft schwebt:
>- Fusebit JTAGEN
>Da muß ich wohl ran, um JTAG u aktivieren, aber wie?

Warum? Die kann man auch per Software im Programm ausschalten. 
Wahrscheinlich ist sie aber schon bei der Auslieferung des Aruinos 
deaktiviert.

>Und jetzt sitze ich vor den Trümmern und weiß ich nicht mehr gezielt
>weiter, außer auf Hilfe zu hoffen.

Komisch. Andere Leute nutzen einfach die Arduino Software und legen los. 
Und das funktioniert auch. Debuggen kann man mit serial.print im 
Arduino. Ist brauchbar.

von Joachim B. (jar)


Lesenswert?

Falk Brunner schrieb:
> Debuggen kann man mit serial.print im
> Arduino. Ist brauchbar.

sagen wir bedingt brauchbar, manchmal stoppt "serial.print" in der 
Arduino IDE einfach und ich weiss nicht warum, kann natürlich eine 
Interaktion sein das ich schon prints haben will wo der ADC oder TFT 
noch nicht fertig ist, also immer vor serial.print, fürchterliche delays 
einbauen zum Testen.

Die Arduino IDE kann einem das Leben erleichtern aber auch ganz schön 
nerven, schlisslich läuft im Hintergund einiges was man duch Nutzung von 
Libs nicht mehr weiss.

: Bearbeitet durch User
von Arduinoquäler (Gast)


Lesenswert?

Falk Brunner schrieb:
> Debuggen kann man mit serial.print im
> Arduino. Ist brauchbar.

Von Debuggen kann keine Rede sein.
Man kann Ausgaben damit machen, Zustände anzeigen, mehr nicht.

von Karl H. (kbuchegg)


Lesenswert?

Arduinoquäler schrieb:
> Falk Brunner schrieb:
>> Debuggen kann man mit serial.print im
>> Arduino. Ist brauchbar.
>
> Von Debuggen kann keine Rede sein.
> Man kann Ausgaben damit machen, Zustände anzeigen, mehr nicht

Ist ein wenig mühsam. Geht aber.
Fürs Debuggen ist das schon mal mindestens die halbe Miete.

von Peter T. (p-ummel)


Lesenswert?

Hallo,

vielen Dank erst einmal

Bei mir ist wirklich alles am quietschen, es geht wohl gar nix.
winxp/arduino 1.6.0/Datei/Hochladen:
------------------------------------
avrdude: Version 6.0.1, compiled on Apr  3 2014 at 23:12:16
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is 
"C:\Programme\Arduino/hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : COM4
         Using Programmer              : wiring
         Overriding Baud Rate          : 115200
         AVR Part                      : ATmega2560
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :
[...]

Aber,
winxp/arduino 1.6.0/Datei/Hochladen mit Programmer:
---------------------------------------------------
[...]
avrdude: Error: Could not find USBtiny device (0x2341/0x49)
[...]

Abfrage von winxp/Gerätemanager/COM4:
-------------------------------------
usbser
usb\vid_2341&pid_0042


Also, ich bin komplett hilflos. Selbst das Programm Arduino geht wohl 
anscheinend nicht und ich stehe vor einem Haufen von Trümmern.
- Und nun?

Bevor ich überhaupt nichts schaffe,
- soll ich den JTAG-China-Programmer in einer Schaffenspause 
zurückgeben?


Peter

von Arduinoquäler (Gast)


Lesenswert?

Karl Heinz schrieb:
> Ist ein wenig mühsam. Geht aber.

Das geht fast überhaupt nicht.

Da man für jeden einzelnen Debug-Fall zehn (Phantasiezahl,
können auch 50 sein) verschiedene Print-Konstellationen
braucht um einigermassen das zu sehen wo es gerade drauf
ankommt. Und für jede Print-Konstellation muss man den
Kontroller neu Flashen. Die Pint-Anweisungen wollen auch
noch formuliert werden, schreiben sich also nicht alleine .....

Das ist nicht "ein wenig mühsam" sondern äusserst mühsam.

von Peter T. (p-ummel)


Lesenswert?

Hallo,

oder mal ganz abgedreht:
Was nehme ich sonst, um einen mega2560 am Steckbrett durchzuprobieren?
Auf einen Arduino kam ich nur durch den mega2560.


Peter

von Oliver S. (oliverso)


Lesenswert?

Arduino Mega geht mit avrdude problemlos...

wenn man den Resetbutton im richtigen Moment loslässt, so daß der 
Bootloader sich im richigen Moment bei avrdude meldet und (zumindest bei 
meinem) kein Flash erase macht.

Oliver

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Debuggen:
=========
Im Auslieferungszustand ist JTAG deaktiviert. Also per ISP die Fuses 
aendern. kein JTAG == kein Debugging

"Debuggen" mit printf ist Gruetze, von Vorne bis Hinten, gerade bei 
Arduino. Zusaetzlicher Code bedeutet zusaetzliche Laufzeit. Und da 
gerade bei Arduino gerne mal mit Delays gearbeitet wird, funktioniert 
der Code vielleicht sollange die printf drin sind. Nimmt man die printf 
raus, hat man schon wieder andere Laufzeiten, und der geneigte Arduino 
User wundert sich, warum nichts mehr geht... Oder es ist genau anders 
rum.

Flashen:
========
Welche Version der Arduino IDE hast du genommen? Das Zip-Archiv oder den 
Installer? Ich empfehle das Zip-Archiv.
Hast du in der Arduino IDE alles richtig Eingestellt?
Richtiger Com-Port?
Richtiges Board?

Peter Thoms schrieb:
> avrdude: Error: Could not find USBtiny device
Falscher Programmer eingestellt? (brauch man eigentlich nicht umstellen! 
Die standard Einstellung (AVRISP mkII) funktioniert praktisch immer, 
soweit ich weiss!)
Man muss eventuell den Resetbutton auf dem Board druecken, und kurz 
danach Avrdude starten.

von Falk B. (falk)


Lesenswert?

@ Arduinoquäler (Gast)

>Da man für jeden einzelnen Debug-Fall zehn (Phantasiezahl,
>können auch 50 sein) verschiedene Print-Konstellationen
>braucht um einigermassen das zu sehen wo es gerade drauf
>ankommt. Und für jede Print-Konstellation muss man den
>Kontroller neu Flashen. Die Pint-Anweisungen wollen auch
>noch formuliert werden, schreiben sich also nicht alleine .....

Ach herje. Jahrzehntelang mussten Bastler und Semiprofessionelle OHNE 
echten (Sourcelevel)debgger auskommen, und es ging auch.

Uns selbst wenn du einen hättest, ist der im Arduinouniversum nicht 
integriert. Damit könnten bestenfalls Profis mit selbstgestrickten Tools 
und Convertern arbeiten, die dann auf Atmelstudio aufsetzen.

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Falk Brunner schrieb:
> Ach herje. Jahrzehntelang mussten Bastler und Semiprofessionelle OHNE
> echten (Sourcelevel)debgger auskommen, und es ging auch.
Es gab auch eine Zeit ohne Strom und fliessend Wasser, und die 
Menschheit hats ueberlebt. Lebst du deshalb ohne Strom usw., weils 
frueher ja auch ging? (ist nicht boese gemeint :) )

Natuerlich kann man Radbolzen mit einer WapuZ loesen. Aber warum sollte 
ich mir das antun, wenn man auch den Pressluftschrauber nehmen kann?

Die Frage ist ja nicht ob es geht, sondern ob man das wirklich tun will 
bzw. tun sollte...

Falk Brunner schrieb:
> Uns selbst wenn du einen hättest, ist der im Arduinouniversum nicht
> integriert.
Da arbeiten Arduino und Atmel immerhin dran, das sowas mal kommt. Wie 
der On-Board Debugger bei den STM32-Discovery Boards.

von Falk B. (falk)


Lesenswert?

@ Kaj G. (Firma: BW) (bloody)

>Es gab auch eine Zeit ohne Strom und fliessend Wasser, und die
>Menschheit hats ueberlebt. Lebst du deshalb ohne Strom usw., weils
>frueher ja auch ging? (ist nicht boese gemeint :) )

Klar! Ich hab hier fließend Wasser, an der Wand!
Und mein Faustkeil muss mal wieder zur Kalibierung ;-)

>Natuerlich kann man Radbolzen mit einer WapuZ loesen. Aber warum sollte
>ich mir das antun, wenn man auch den Pressluftschrauber nehmen kann?

Sicher.

>Da arbeiten Arduino und Atmel immerhin dran, das sowas mal kommt. Wie
>der On-Board Debugger bei den STM32-Discovery Boards.

Ja, die sind schon schick und die Boards spottbillig!

von Harald N. (haraldn)


Lesenswert?

Der TO könnte sich mal sammeln und seine Fehlerbeschreibung mal so 
formulieren, dass man eine Ahnung bekommt, was nicht geht. Er vermischt 
doch Kraut und Rüben. Oder kommt das nur mir so vor?
Die Programmierung eines Arduino über USB Bootloader hat ja nichts mit 
ISP oder JTAG zu tun...

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Falk Brunner schrieb:
> Klar! Ich hab hier fließend Wasser, an der Wand!
> Und mein Faustkeil muss mal wieder zur Kalibierung ;-)
Ich sehe, wir verstehen uns :D

von Peter T. (p-ummel)


Lesenswert?

Kaj G. schrieb:
> Flashen:
> ========
> Welche Version der Arduino IDE hast du genommen? Das Zip-Archiv oder den
> Installer? Ich empfehle das Zip-Archiv.
> Hast du in der Arduino IDE alles richtig Eingestellt?
> Richtiger Com-Port?
> Richtiges Board?
>
> Peter Thoms schrieb:
>> avrdude: Error: Could not find USBtiny device
> Falscher Programmer eingestellt? (brauch man eigentlich nicht umstellen!
> Die standard Einstellung (AVRISP mkII) funktioniert praktisch immer,
> soweit ich weiss!)
> Man muss eventuell den Resetbutton auf dem Board druecken, und kurz
> danach Avrdude starten.
Hallo,

ich möchte JTAG, sonst nichts.
Sonst komme ich überhaupt nicht mehr ans Tageslicht.

Im Linux das gleiche Bild. Ein anderes usb-Kabel änderte nix am Debakel.
In der avrdude.conf änderte ich, immer noch unter linux, die pid von 49 
auf 42.
Es ergab dann nur eine Zugriffsverweigerung. Also wurde die Änderung 
zurückgenommen.
Zur Erinnerung:
Abfrage von winxp/Gerätemanager/COM4:
-------------------------------------
usbser
usb\vid_2341&pid_0042

- Oder ist mir die Platine zerschossen?
- Gut, ich probiere mal das zip-archiv durch. Der Download dauert bei 
mir leider eine runde Stunde.


Peter

von Falk B. (falk)


Lesenswert?

@ Peter Thoms (p-ummel)

>ich möchte JTAG, sonst nichts.

Dann hast du einiges am Arduino nicht verstanden. Der nutzt nämliche 
einen Bootloader mittels virtuellem COM-Port.

>Sonst komme ich überhaupt nicht mehr ans Tageslicht.

Was machen nur die anderen Arduino-User?

>- Gut, ich probiere mal das zip-archiv durch. Der Download dauert bei
>mir leider eine runde Stunde.

Unsinn.

von spess53 (Gast)


Lesenswert?

Hi

>ich möchte JTAG, sonst nichts.
>Sonst komme ich überhaupt nicht mehr ans Tageslicht.

Dann such dir ein anderes Hobby.

MfG Spess

von Joachim B. (jar)


Angehängte Dateien:

Lesenswert?

Falk Brunner schrieb:
> Ach herje. Jahrzehntelang mussten Bastler und Semiprofessionelle OHNE
> echten (Sourcelevel)debgger auskommen, und es ging auch.

und wie das geht, solange ich auf Debugger warte werde ich ja nie 
fertig.....

Arduino mega2560 an 2x 16-Bit DAC steuert ein MassSpectrometer
Bedienung über TouchScreen

von Arduinoquäler (Gast)


Lesenswert?

Peter Thoms schrieb:
> ich möchte JTAG, sonst nichts.

Das wird von der Arduino IDE aus nicht funktionieren.

Dein China-Programmer wird ein ISP Programmer sein. Diese
sind üblicherweise kompatibel mit dem JTAG ICE (I).
Und nur wenn du ca 100 Euro dafür bezahlt und Glück hast,
einigermassen Kompatibel mit JTAG ICE MKII. Dann könntest
du ISP oder JTAG betreiben. Die JTAG Pins sind auf dem
Arduino Mega256 etwas "versteckt", also nicht die ISP Pins.

Der JTAG ICE (I) wird aber mit dem Mega2560 vermutlich nicht
funktionieren. Schau in die Kompatbilitätsliste von deinem
Programmer.

Siehe auch:

Falk Brunner schrieb:
> Dann hast du einiges am Arduino nicht verstanden. Der nutzt nämliche
> einen Bootloader mittels virtuellem COM-Port.

Das Programmieren der Arduinos geschieht im Falle des Mega2560
über den kleinen Hilfs-AVR der den Bootloader auf dem Mega2560
speist.

von Joachim B. (jar)


Lesenswert?

Arduinoquäler schrieb:
> Das Programmieren der Arduinos geschieht im Falle des Mega2560
> über den kleinen Hilfs-AVR der den Bootloader auf dem Mega2560
> speist.

es hindert ihn aber keiner den Bootloader runterzuwerfen und JTAG 
freizuschalten und in AVR Studio zu gehen.

von Peter T. (p-ummel)


Lesenswert?

Ha

Joachim B. schrieb:
> es hindert ihn aber keiner den Bootloader runterzuwerfen und JTAG
> freizuschalten und in AVR Studio zu gehen.
Hallo,

genau so soll es kommen, wie das Amen in der Kirche.

Ebenso wie mein Download von einer runden Stunde.
Es dauerte etwas länger, ich surfte dazu parallel im Rindernett.

Also, was für ein Programmer kommt in Frage?
- ISP, JTAG ICE
- USB, 10-Pin
?


Peter

von Peter T. (p-ummel)


Lesenswert?

Hallo,

tja, iss nix:
+++
Arduino: 1.6.0 (Windows XP), Platine: "Arduino Mega or Mega 2560, 
ATmega2560 (Mega 2560)"

C:\Dokumente und Einstellungen\peter\Eigene 
Dateien\Downloads\arduino-1.6.0-windows\arduino-1.6.0/hardware/tools/avr 
/bin/avrdude  -CC:\Dokumente und Einstellungen\peter\Eigene 
Dateien\Downloads\arduino-1.6.0-windows\arduino-1.6.0/hardware/tools/avr 
/etc/avrdude.conf  -v -patmega2560 -carduinoisp -e -Ulock:w:0x3F:m 
-Uefuse:w:0xFD:m -Uhfuse:w:0xD8:m -Ulfuse:w:0xFF:m


avrdude: Version 6.0.1, compiled on Apr  3 2014 at 23:12:16
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Dokumente und 
Einstellungen\peter\Eigene 
Dateien\Downloads\arduino-1.6.0-windows\arduino-1.6.0/hardware/tools/avr 
/etc/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : arduinoisp
avrdude: Error: Could not find USBtiny device (0x2341/0x49)

avrdude done.  Thank you.

Der gewählte serielle Port
 existiert nicht oder die Platine ist nicht angeschlossen
+++

- Ist die Platine im Eimer?


Peter

von Falk B. (falk)


Lesenswert?

@ Peter Thoms (p-ummel)

>Ebenso wie mein Download von einer runden Stunde.
>Es dauerte etwas länger, ich surfte dazu parallel im Rindernett.

Wie witzig.

>Also, was für ein Programmer kommt in Frage?
>- ISP, JTAG ICE
>- USB, 10-Pin
>?

Ausser JTAG ICE, das aber hornalt ist, gar nichts. Weil das alles nur 
Bullshit-Bingo ist.

Wenn du denn meinst, wirklich nur per JTAG glücklich zu werden, brauchst 
du logischerweise einen JTAG-fähigen Programmieradapter.

ATMELICE, AVR Dragon, JTAG ICE in verschiedenen Versionen.

http://www.atmel.com/tools/ATATMEL-ICE.aspx
http://www.atmel.com/tools/AVRDRAGON.aspx
http://www.atmel.com/tools/AVRJTAGICEMKII.aspx
http://www.atmel.com/tools/AVRONE_.aspx
http://www.atmel.com/tools/JTAGICE3.aspx

Das ATMELICE hab ich mir vor kurzem gekauft, weil ich einen Debugger 
brauchte. Läuft soweit gut und ist auch preiswert.

Alle diese Adapter laufen aber NICHT mit der Arduinosoftware, sondern 
meist nur mit AVR Studio, Atmelstudio oder avrdude & Co.

Mein Rat. Kauf was gescheites. Das ist SEHR gut investiertes Geld.

von Joachim B. (jar)


Lesenswert?

zum inline debug?

Peter Thoms schrieb:
> - ISP, JTAG ICE

an ISP gibt es kein JTAG

Der Debugger muss schon an JTAG IMHO

http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf

Seite 343

Programming through the JTAG interface requires control of the four JTAG 
specific pins: TCK, TMS, TDI, and
TDO. Control of the reset and clock pins is not required

http://www.mikrocontroller.net/attachment/106154/ATmega2560_Schaltplan.png

Die Pins musst du selber anzapfen, der Arduino hat dafür keinen Port 
ausser die PINs

von Themaverwirrter (Gast)


Lesenswert?

Falk Brunner schrieb:
> Das ATMELICE hab ich mir vor kurzem gekauft, weil ich einen Debugger
> brauchte. Läuft soweit gut und ist auch preiswert.
>
> Alle diese Adapter laufen aber NICHT mit der Arduinosoftware, sondern
> meist nur mit AVR Studio, Atmelstudio oder avrdude & Co.

ATMEL-ICE (ATMELICE, der neueste) erst ab Studio 6.2
JTAG ICE MKIII erst ab Studion 5
JTAG ICE MKII  mit AVR Studion 4.xx

AVRDude weiss ich nicht, aber Vorsicht, erst abchecken vorm Kauf!
Ich glaube nicht dass der ATMEL-ICE da schon funktioniert.

von Bernd M. (bernd_m)


Lesenswert?

Hallo,

ich habe hier die Version
- AVR Studio 4.19
- WinAVR Toolchain 3.4.2 GCC 4.7.2
- AVR Dragon
- Arduino mega Klon
über JTAG am laufen.

JTAG ICE MK III geht auch, aber nur mit Atmel Studio >= 5,
aber wer will das schon als Editor, nehm ich nur zum Debuggen.
(man kann auch mit Elefanten nach Mücken werfen)

Die JTAG Pins musst Du dir an den Buchsen abgreifen und einen passenden 
Adapter machen.

Dann per ISP
- den JTAG aktivieren
- den Bootblock renaturieren, evtl auch die Vector table
- das ganze Arduino geschlonz mit einem Chip erase abwischen
- und sich auf einem fast jungfräulichen ATmega2560 wohlfühlen.

Grüße,
Bernd

von Peter T. (p-ummel)


Lesenswert?

Falk Brunner schrieb:
> @ Peter Thoms (p-ummel)
>
>>Ebenso wie mein Download von einer runden Stunde.
>>Es dauerte etwas länger, ich surfte dazu parallel im Rindernett.
>
> Wie witzig.
>
>>Also, was für ein Programmer kommt in Frage?
>>- ISP, JTAG ICE
>>- USB, 10-Pin
>>?
Hallo,

man, ich habe nur 48kByte/s Download und das dauert fix eine Stunde.
Mit surfen etwas mehr: fix, fihix.

So, und noch eine Bitte an diejenigen, die sich mit "nicht-Aussagen" 
überschlagen.
Mit solchen Aussagen kann ich überhaupt nichts anfangen. Auch das mag 
bedauerlich sein, aber es ist nun einmal so.
Bitte-bitte beschreibt einen richtigen Weg und nicht 25.000 falsche.

Dringend benötige ich Aussagen, die beschreiben was geht.
Bspw:
- Fusebit JTAGEN setzen mit Programmer "ISP-xy" über USB-Anschluß des 
Arduino
(an den ich aber im Moment nicht ran komme)
(wie verfahren die Platine zu überrüfen?)
(oder gleich neu besorgen? defektes Bauteil ersetzen?)
- Dann den "JTAG" verbinden mit Programmer "ice xy"

Noch etwas:
Es wäre schön, wenn sich der Aufwand im Rahmen hielte.
Aber- wenn denn ein "Dragon" alles kann was ich brauche, um ein Arduino 
mega2560 auf jtag umzubiegen -warum nicht.

Jesus, wo fange ich an, bei meiner schrottigen Platine? Ich schnüffel 
mal die Takte -> taktet.

Neben dem Taster liegt ein "icsp".
Ich glaube, ihr nennt diese Pin-Stecker Header.
Muß ich da eventuell ran als Ersatz, weil ich aktuell über usb an den 
mega2560 nicht ran komme?
Ich werde frühestens am Sonntag dazu kommen nachzusehen, was auf der 
Platine eventuell machbar ist. Die kenne ich auch noch nicht.


Peter

: Bearbeitet durch User
von Bernd M. (bernd_m)


Lesenswert?

Was brauchst Du denn noch an Info?
Ich habe Dir einen Weg aufgezeigt, der bei mir funktioniert.
Der Duktus deines Eingangsposts ließ mich annehmen, das Du mit der 
Materie vertraut bist.
Ich bin davon ausgegangen, dass du das Arduinozeugs los werden willst.
Es wäre mir neu, wenn fuses per software gesetzt werden könnten. Also 
nicht per bootloader via USB mittels Arduino, nur per ISP.
Und ja, der Dragon kann JTAG und ISP, aber nur wechselweise.
Und ja, es gibt schnellere Adapter.

Nachtrag
Der 6 polige Stecker neben dem 2560 ist der ISP header, Polung beachten. 
Die JTAG pins musst du dir raussuchen und auch entsprechend richtig 
verbinden. Echtes männer debuggen geht beim 2560 nur über JTAG. Hatte 
ich, glaube ich, bereits im ersten Folgepost erwähnt.

: Bearbeitet durch User
von Harald N. (haraldn)


Lesenswert?

Mir scheint der TO hat keine Ahnung. Deshalb kann er mit den Antworten 
nichts anfangen. Er weiss nicht, dass er über den USB nicht ISP 
Programmieren kann. Er hat keine Ahnung wozu die ICSP Pins da sind 
(nämlich ISP, aber die richtigen auf dem Board. Es gibt nämlich zwei).

Vielleicht hat er ja den kleinen Avr für USB kaputgeflasht...

Jedenfalls hat Bernd ziemlich ausführlich beschrieben wie es geht.
Und bitte schreib in normalem Deutsch (oder Englisch) und spar dir deine 
tollen Umschreibungen und Verunstaltungen...

Ach ja und folgendes: Google Suche nach 'arduino mega jtag' und 
erster!!! Link.

: Bearbeitet durch User
von Sebastian W. (wangnick)


Lesenswert?

Hallo Peter,

der Arduino Mega 2560 besteht aus einem Atmega2560 und einem Atmega16U2.

Der Atmega2560 kann kein USB. Er wird normalerweise über die seriellen 
Pins vom Atmega16U2 programmiert. Dazu muss auf dem Atmega2560 der 
Arduino-Bootloader laufen, der benutzt dann ein serielles Protokoll für 
die Programmierkommandos.

Der Atmega16U2 hat VID 2341 und PID 0042.

Auf dem Arduino Mega 2560 sind ZWEI ICSP-Header: Der in der Mitte ist 
für den Atmega2560, der am Rand für den Atmega16U2.

Mir ist nicht klar was du für einen USB/JTAG-Stick aus China hast, und 
ob der sowohl ISP als auch JTAG kann. Ausserdem unterstützen nicht alle 
ISP-Programmierer den Atmega2560, weil dessen Flash-Speicher größer als 
64k-Worte ist und daher Flash-Adressen größer als 2 Byte werden.

Ansonsten so vorgehen wie Bernd es beschrieben hat: Über den ICSP-Header 
des Atmega2560 via ISP die JTAG-Fuse aktivieren, und dann über A4-A7 
JTAG benutzen.

LG, Sebastian

von Thomas (kosmos)


Lesenswert?


von Peter T. (p-ummel)


Lesenswert?

Hallo,

vielen Dank erst einmal.

- Was ich lernen mußte:
Der USB-Anschluß ist für meine Zwecke im grunde belanglos.
Der USB-Anschluß ist NICHT der ISP-Anschluß
Mit der Software "flip" hatte ich den besagten USB mehrere Male 
erfolgreich bearbeiten können.
http://arduino.cc/en/pmwiki.php?n=Hacking/DFUProgramming8U2
Als kleiner Funktionstest ist es aber ok.

- Der ISP ist der 6-polige PIN-Header neben dem Taster und nennt sich 
laut Platinen-Aufdruck "ICSP".
nur von hier aus geht das Fusebit JTAGEN zu manipulieren

- Erst nach den "JTAGEN" überwindet man den vermurkst aufgebauten 
Arduino hin zum JTAG-Debug. Zusätzlich sind noch die irgendwo auf der 
Platine verstreuten JTAG-Pins als Header zusammenzufassen.

Puh, was für ein gequirlter Mist von Arduino.
Und nun lese ich den Trööt noch einmal von vorne durch.
Mit Sicherheit werde ich nun wesentlich mehr davon verstehen.


Peter

: Bearbeitet durch User
von Arduinoquäler (Gast)


Lesenswert?

Peter Thoms schrieb:
> - Was ich lernen mußte:

Und das kann man sich voll easy auf der Arduino Homepage herunerlesen
ohne selbst schmerzhafte Lernprozesse durchzumachen.

Peter Thoms schrieb:
> - Der ISP ist der 6-polige PIN-Header neben dem Taster und nennt sich
> laut Platinen-Aufdruck "ICSP".

Das steht auch ganz klar in den Dokumenten der Arduino Macher.
Wer lesen kann ist klar im Vorteil.

Peter Thoms schrieb:
> Zusätzlich sind noch die irgendwo auf der Platine
> verstreuten JTAG-Pins als Header zusammenzufassen.

Die JTAG Pins sind nicht verstreut sondern wunderbar an einer
Steckerleiste dicht nebeneinander aufgereiht (Analog In 4...7)
Also kein Grund sich darüber aufzuregen.

Wer keine Datenblätter lesen will dem ist eben nicht zu helfen .....

von Peter T. (p-ummel)


Lesenswert?

Hallo,

jahh, natürlich, und alles kontextfrei nach Backus-Naur, plug and play!

Was mich viel mehr interessiert, als flache Nickeligkeiten:
Nach wieviel Klicks von der Homepage wäre ich am Ziel, um die drei o.g. 
Punke abzudecken?


Peter

: Bearbeitet durch User
von Sebastian W. (wangnick)


Lesenswert?

Hallo Peter,

Peter Thoms schrieb:
> Ich möchte den Arduino mega2560 beackern.
> Dazu brauche ich für mich dringend eine Debug-Funktion (JTAG ICE), ohne
> mache ich sonst auf Volltrottel.

Peter Thoms schrieb:
> Was mich viel mehr interessiert, als flache Nickeligkeiten:
> Nach wieviel Klicks von der Homepage wäre ich am Ziel, um die drei o.g.
> Punke abzudecken?
> meine Vorgabe ist JTAG.

ich hoffe Du bist kein klicki-bunti Typ, sondern möchtest den Arduino 
Mega 2560 wirklich verstehen lernen. Dann sollte Dir aber die Distanz 
der Information von der Homepage relativ egal sein.

Folgende Datenblätter bzw. Informationen sind essentiell:

1. http://arduino.cc/en/pmwiki.php?n=Main/ArduinoBoardMega2560. Von dort 
aus insbesonders 
http://arduino.cc/en/uploads/Main/arduino-mega2560_R3-sch.pdf.

2. 
http://www.atmel.com/Images/Atmel-2549-8-bit-AVR-Microcontroller-ATmega640-1280-1281-2560-2561_datasheet.pdf. 
Das Studium dieses Datenblatts
 benötigt Tage bis Monate. Nichtsdestotrotz wird (abgesehen von 
absoluten Anfängern) hier im Forum schon erwartet, dass jeder 
Fragesteller zunächst zumindest die relevanten Kapitel des Datenblatts 
zu Rate zieht, und erst danach seine noch verbleibenden Fragen 
einstellt.

Da Du die Arduino-IDE nicht benutzt, gehe ich davon aus, dass Du eher an 
dem puren Atmega interessiert bist, und dich das ganze "drumherum" des 
Arduino-Boards eher stört. Warum dann nicht alternativ einen 
Atmega1284P-PU auf Steckbrett?

LG, Sebastian

von Peter T. (p-ummel)


Lesenswert?

Hallo,

also: Das Ganze wurde "rückwärts" aufgezogen.
Auch bin ich nur "analog" firm.

Unter der AVR-Homepage schaute ich nach passenden Prozessoren.
Irgend wann fiel die Wahl auf den mega2560.
Weil der zudem häufige Suchtreffer liefere, war der mega2560 für meine 
erste Entscheidung fix.

Auf Arduino kam ich erst später, aufgrund der Fassung des mega2560.
Von den anderen Typen weiß ich denmach also überhaupt gar nichts.

Ehrlich gesagt, ich dachte als Altenative an einen CortexM.
Aber mit dem Gefühl, daß der wohl nur mit 3,3V-Pins spielt und mit 
Null-Ahnung und sowieso ...
Also blieb ich beim TTL-AVR.

Gut,
so sattel ich noch einen AVR-Dragon drauf, ich brauche von Reichelt eh 
noch andere Kleinigkeiten.
- Daß der nicht eingehaust ist, finde ich Obermist
- ESD-fest wie der Arduino sollte der hoffentlich sein.

Die drei Tage Untätigkeit zwischendurch waren ziemlich hilfreich. So hat 
sich einiges festigen können.


Peter

: Bearbeitet durch User
von c-hater (Gast)


Lesenswert?

Peter Thoms schrieb:

> Gut,
> so sattel ich noch einen AVR-Dragon drauf

Wozu, zum Teufel? Was, glaubst du, wird dir das bringen?

HW-Debugger braucht man nicht. Den ganzen normalen Scheiß debuggt man 
auch als Anfänger eh' spielend leicht im Simulator.

Der hat natürlich Lücken und Macken, die sind aber gut bekannt und 
lassen sich für einen fortgeschrittenen Simulator-Benutzer deshalb mit 
entsprechend angepaßten SimDebug-Builds recht gut umgehen.

Spätestens damit läßt sich dann so ziemlich alles an Logikfehlern 
finden, sogar wesentlich besser als mit einem "echten" Debugger und 
realen Eingangssignalen. Denn im Simulator kann man die zum sichtbaren 
Fehler führende Situation ganz gezielt reproduzierbar immer wieder 
erneut herbeiführen und sich dabei beim Debugging zeitlich immer weiter 
in Richtung der eigentlichen Fehlerursache zurückarbeiten, bis man 
hoffentlich irgendwann den eigentlichen Auslöser des Fehlers gefunden 
hat, der manchmal viele Millionen Takte vor dem Sichtbarwerden des 
Fehlers liegt.

Das ist mit einem HW-Debugger in der Form nicht möglich. Hier landet man 
nur eher zufällig von Zeit zu Zeit an der Stelle, wo der Fehler bereits 
eine nennenswerte Auswirkung hat, also z.B. einen Reset auslöst oder 
eine Struktur unbezweifelbar zerstört ist oder sowas. Ja, das ist die 
Stelle, wo man bemerkt, daß da irgendwo ein Fehler sein muß. Aber wie 
hilft dir der HW-Debugger nun dabei, ihn zu finden? Das ist der Punkt: 
De facto praktisch garnicht.

Was nach all dem dann immer noch bleibt, sind knallharte 
Timing-Probleme. Da kommt man dann im Simulator nicht weiter, weil die 
Anpassungen an die Simulatorfehler das Timing verändern und im 
HW-Debugger auch nicht, weil das Debuggen selber das Timing völlig 
zerstört.

Da helfen dann nur noch minimalinvasive Debugausgaben, um dem Problem 
auf die Spur zu kommen, im Extremfall sind dann halt Portbitwackeln und 
ein Oszi die einzig möglichen nützlichen "Debugger".

von Bernd M. (bernd_m)


Lesenswert?

Dem kann man nichts mehr hinzufügen.
Wahrscheinlich ist jetzt der beste Zeitpunkt, diesen Thread zu 
schließen.

von Peter T. (p-ummel)


Lesenswert?

c-hater schrieb:
>> Gut,
>> so sattel ich noch einen AVR-Dragon drauf
>
> Wozu, zum Teufel? Was, glaubst du, wird dir das bringen?
>
> HW-Debugger braucht man nicht. Den ganzen normalen Scheiß debuggt man
> auch als Anfänger eh' spielend leicht im Simulator.
Hallo,

das ist auch wieder wahr.

Solange ich Deine, in einem früheren Post, beschriebene Toolchain noch 
nicht zusammen habe, ist das zumindest ein Versuch wert.
Die ferne Absicht aber ist, daß das ganze Gebilde real existieren soll.

Gut,
verzeiht mir bitte, daß ich nicht alle nützlichen Hinweise auf einem 
Knall zeitgleich berücksichtigen konnte.


Peter

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.