Forum: Mikrocontroller und Digitale Elektronik Arduino IDE mit Atmel-ICE programieren


von Mr D. (Gast)


Lesenswert?

Hi Leute
Ich möchte mein UNO, Mega und Nano mittels dem Atmel-ICE (Basic) 
Programmer brennen.

Unter USB-Geräte sehe ich "Atmel-ICE Data Gameway" im Gerätemanager.
In der Arduino IDE 1.8.5 sehe ich den Atmel-ICE und habe den auch so 
ausgewählt.

Den Treiber musste ich mit dem Zadig2.3 installieren, da atmel-ice sonst 
nicht erkannt wurde.

Den UNO (original) habe ich am Power angeschlossen und am ICE.

Trotzdem funktioniert der Programer nicht.

Das Studio 7 will ich nicht installieren. Ich arbeite mit dem VS2012 und 
dem Zusatz zum Programmieren. Im VS wird der Atmel.Ice auch angezeigt 
funktioniert aber auch nicht.

Hier im Forum habe ich leider nichts gefunden (evtl. falsche suche)

Weiss jemand rat und wo ich noch suchen könnte.
Danke

von Einer K. (Gast)


Lesenswert?

Fehlermeldung und Kommandozeile wäre schon schön zu sehen...

Tipp:
Die kannst du übrigens auch selber ruhig mal lesen.

von Dieter F. (Gast)


Lesenswert?

Mr D. schrieb:
> Das Studio 7 will ich nicht installieren.

Was hindert Dich daran, mit USB und Bootloader zu "flashen"?

Das ist im "Arduino-Standard" so vorgesehen.

von Mr D. (Gast)


Lesenswert?

Versuch Bootloader des UNO zu brennen:
Leider werde ich durch lesen dieser Meldung nicht schlauer.
Kenne mich damit zu wenig aus.

avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is 
"C:\Users\Andre\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6 
.3.0-arduino9/etc/avrdude.conf"

         Using Port                    : usb
         Using Programmer              : atmelice_isp
avrdude: usbdev_open(): Found Atmel-ICE Data Gateway, serno: 
J41800055175
avrdude: usbdev_send(): wrote -22 out of 7 bytes, err =
avrdude: jtag3_send(): failed to send command to serial port
avrdude: failed to sync with the JTAGICE3 in ISP mode

avrdude done.  Thank you.

Versuch Programm zu brennen:
-dito-

von Dieter F. (Gast)


Lesenswert?

Dieter F. schrieb:
> as ist im "Arduino-Standard" so vorgesehen.

OHNE Atmel ICE - nur mit USB.

Ansonsten musst Du halt mal Google nutzen - da sind schon andere 
gescheitert :-)

von Mr D. (Gast)


Lesenswert?

Dieter F. schrieb:
> OHNE Atmel ICE - nur mit USB.

Sorry verstehe ich nicht.
atmel.Ice ist ja am USB angeschlossen und sonst kann ich in der IDE ja 
nur atmel-ICE auswählen, kein Port -> USB

Das ganze funktionierte im 2017 noch mit dem brennen mit dem atmel-ICE 
Basic Debugger.

Auf Windows 7 geht's auch nicht mehr. Gleiches Problem.
Der ICE Debugger wurde ja in der Original Arduino IDE eingebaut, danach 
funktionierte das. Hatte dazumal das Problem mit dem Treiber aber das 
ist ja jetzt unter usblib installiert. Also wie im Jahr 2017.

von Dieter F. (Gast)


Lesenswert?

Mr D. schrieb:

> Das Studio 7 will ich nicht installieren.

Ja - geht ja auch rein mit USB.

Mr D. schrieb:
> Das ganze funktionierte im 2017 noch mit dem brennen mit dem atmel-ICE
> Basic Debugger.

Was für ein 2017? Kannst Du das bitte präzisieren?

Mr D. schrieb:
> Der ICE Debugger wurde ja in der Original Arduino IDE eingebaut, danach
> funktionierte das. Hatte dazumal das Problem mit dem Treiber aber das
> ist ja jetzt unter usblib installiert. Also wie im Jahr 2017.

Und nun - was hat sich geändert?

von Brain 2.0 (Gast)


Lesenswert?

Wenn du schon mehrere Arduino zur Verfügung hast, warum verwendest du 
nicht einen davon (Beispiel UNO) als ISP-Programmer ?
https://www.arduino.cc/en/Tutorial/ArduinoISP

von Einer K. (Gast)


Lesenswert?

Mr D. schrieb:
> Leider werde ich durch lesen dieser Meldung nicht schlauer.
> Kenne mich damit zu wenig aus.
Aber ich habe mit deinen Angaben eine Chance den Fehler zu finden....

Für die Zukunft:
In dem Fall, dass man eine Meldung nicht versteht, bedeutet das nicht 
gleichzeitig, dass diese Meldung uninteressant ist.

Übrigens hattest du den wichtigsten Punkt schon im Eingangsposting schon 
genannt:
> Unter USB-Geräte sehe ich "Atmel-ICE Data Gameway"
> im Gerätemanager.
Das ist auch gut und richtig so!

Aber es gibt noch ein zweites Gerät!


Siehe:
Also, nur zum Test gerade mal probiert..
UNO Bootloader brennen mit Atmel-ICE und der Arduino IDE 1.8.5

Es funktioniert!
1
E:\Programme\arduino\portable\packages\arduino\tools\avrdude\6.3.0-arduino9/bin/avrdude -CE:\Programme\arduino\portable\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf -v -patmega328p -catmelice_isp -Pusb -e -Ulock:w:0x3F:m -Uefuse:w:0xFD:m -Uhfuse:w:0xDE:m -Ulfuse:w:0xFF:m 
2
3
avrdude: Version 6.3, compiled on Jan 17 2017 at 12:00:53
4
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
5
         Copyright (c) 2007-2014 Joerg Wunsch
6
7
         System wide configuration file is "E:\Programme\arduino\portable\packages\arduino\tools\avrdude\6.3.0-arduino9/etc/avrdude.conf"
8
9
         Using Port                    : usb
10
         Using Programmer              : atmelice_isp
11
avrdude: usbdev_open(): Found Atmel-ICE CMSIS-DAP, serno: J41800093162
12
avrdude: Found CMSIS-DAP compliant device, using EDBG protocol
13
         AVR Part                      : ATmega328P
14
         Chip Erase delay              : 9000 us
15
         PAGEL                         : PD7
16
// und noch viel mehr......



---------------
Mr D. schrieb:
> Found Atmel-ICE Data Gateway
Hier ist der Fehler!

Du hast den Treiber für den falschen USB Part geladen!
Der ICE installiert 2 Geräte

Es muss so aussehen:
> Found Atmel-ICE CMSIS-DAP

von Mr D. (Gast)


Lesenswert?

Danke für den Tipp.

Ja es funktioniert wieder. Es waren mehrere Probleme.
Mit dem ZAdig2.3 muss man lib32 Treiber Verwenden, steht dann unter 
lib32...

Danach ist dann der 2. Eintrag auch sichtbar und kann auch mit dem lib32 
zugeordnet werden.

Ich wusste nur noch dass man den lib32 nehmen muss, mit dem WinUSB 
geht's eben nicht. Den zweiten Eintrag war mir leider nicht mehr in der 
Erinnerung. Werde das mir aber nun komplett aufschreiben, fürs nächste 
mal.

Schöne Pfingsten und Danke!

von Einer K. (Gast)


Lesenswert?

Ja, fein!

von Mr D. (Gast)


Lesenswert?

Hallöchen
Ich hab wieder einmal mein ICE Programer Problem. Nach dem neu 
installieren von Windows 10 (von 1803 auf 1809 ging nix mehr) habe ich 
Arduino 1.8.8 neu installiert. Dazu den ICE Programer mit libusb-32 
akiviert.

Soweit denke ich funktioniert der Programer.

Ich habe nun ein UNO board mit dem ICE Verbunden. Wenn ich den 
Bootloader brennen möchte erhalte ich diese Meldung:
Arduino: 1.8.8 (Windows 10), Board: "Arduino/Genuino Uno"

avrdude: usbhid_open(): No device found
avrdude: WARNING: invalid value for unused bits in fuse "lock", should 
be set to 1 according to datasheet
This behaviour is deprecated and will result in an error in future 
version
You probably want to use 0xff instead of 0x3f (double check with your 
datasheet first).
avrdude: usbhid_open(): No device found
avrdude: verification error, first mismatch at byte 0x0000
         0xff != 0x0f
avrdude: verification error; content mismatch
Fehler beim Brennen des Bootloaders.

Abfrage Boardinfo funktioniert auch nicht mit dem ICE, ist das normal?

Normal via USB kann ich den UNO nicht mehr Programmieren, habe auch 
schon einen anderen Chip genommen, geht nicht.

Bin mit meinem Latein am ende. Hab heute noch einen neuen UNO bestellt, 
und versuche dann via Arduino ISP den Chip zu programmieren.

Meine Frage kann ich den Bootloader mit dem ICE überhaupt brennen?

Ich hatte bereits Bootloader gebrannt auf Nano mit dem ICE.
Da diese veraltet waren.

Um eine Hilfe oder Hinweis wäre ich dankbar.

von Einer K. (Gast)


Lesenswert?

Mr D. schrieb:
> avrdude: usbhid_open(): No device found
Das ist kein Problem.

Denn diese Meldungen folgen:
> avrdude: usbdev_open(): Found Atmel-ICE CMSIS-DAP, serno: J41800xxxxxx
> avrdude: Found CMSIS-DAP compliant device, using EDBG protocol
Und damit ist klar, dass der Atmel ICE gefunden wurde.


Mr D. schrieb:
> avrdude: verification error, first mismatch at byte 0x0000
>          0xff != 0x0f
> avrdude: verification error; content mismatch
Das ist auch kein echtes Problem!
Da ist nur der Eintrag in der boards.txt nicht optimal.
Hat mit den ungenutzten Bits im Lock Fuse Byte zu tun.

Offensichtlich hast du "wieder" nicht die Ausführlichen Meldungen beim 
Hochladen und Kompilieren aktiviert, sonst hättest du vermutlich 
gesehen, dass das Bootloader schreiben sehr wohl geklappt hat.
Oder hast du die Meldungen verstümmelt gepostet?
Ausblenden bringt dann wenig Erkenntnis.


Mr D. schrieb:
> Meine Frage kann ich den Bootloader mit dem ICE überhaupt brennen?
Doch, das gelingt.

von Einer K. (Gast)


Lesenswert?

OT:
Hier war aber der Minusmann ganz schön fleißig....

Was sieht er denn hier so minushaftes?

von Mr D. (Gast)


Lesenswert?

Ja vielen Dank, es funktioniert leider nur wenn auch der USB des UNOS 
eingesteckt ist. Andernfalls ist der UNO nachher nicht mehr 
programmierbar.
Wird der UNO nur an einem Powergeber angeschlossen gehts leider nicht.

Meine Platinen mit dem  AVR Stecker funktionieren auch nicht mehr. Dort 
ist kein Anschluss des USB möglich. MOSI MISO + - Reset und Power sind 
korrekt verdratet. Der Chip ist nach dem versuch zu brennen unbrauchbar.
Weder Bootloader noch Programm sind enthalten. Setze ich diesen AT dann 
in eine UNO ist dort auch kein Programmieren mehr möglich. Bis ich mit 
USB und ICE und ICE als Programmer den Bootloader neu brenne.

Was ich auch nicht ganz verstehe ist die Erkennung, Chip Auslesen 
funktioniert auch nur mit USB nicht mit dem ICE.

Habe die Status alles anzeigen aktiviert, konnte es dort aber nicht 
sehen das es funktioniert hat.

Werde es heute nochmals versuchen.
Vorerst mal Danke für den Tip.

EDIT:
Ja es geht nun, aber frag mich keine warum... hatte gestern doch den PC 
gebooted nach dem Treiber installieren... dito mit Win7..

Allerdings zeigt es immer noch "Fehler beim Brennen des Bootloaders."
Für mich einfach unfertig das ganze... muss wohl damit leben...

Danke für die Hilfe, ist soweit brauchbar. Hatte wohl gestern auch ein 
Knopf in der Leitung...

Gruss.

von Einer K. (Gast)


Lesenswert?

Mr D. schrieb:
> Was ich auch nicht ganz verstehe ist die Erkennung, Chip Auslesen
> funktioniert auch nur mit USB nicht mit dem ICE.

Verstehe ich nicht!

Du meinst "Boardinformation holen"?
Dann:
Natürlich funktioniert das nur über USB.
Denn es wird der USB-Serial Adapter gefragt, sonst nix.
Es wird NICHT mit dem haupt µC des Boards gequatscht.
Und dann sind auch nur die Boards mit 16U2 und 8U2 auskunftsfreudig.

Mr D. schrieb:
> Allerdings zeigt es immer noch "Fehler beim Brennen des Bootloaders."
> Für mich einfach unfertig das ganze... muss wohl damit leben...

Eine winzige Anpassung in deiner boards.txt, dann ist der Fehler weg. 
Was zu tun ist, steht sogar in der Meldung.
Du könntest den Fehler melden, dann wird er sicherlich von den 
Entwicklern korrigiert. Dann haben alle was davon.

Ich vermute mal, dass nur ein paar wenige Leute (z.B. du und ich) mit 
der Kombination Atmel ICE und Arduino IDE unterwegs sind.

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.