Arduino Zero vs. Atmel ICE

Hallo zusammen

Nach Ewigkeiten der Pause habe ich mich endlich mal wieder an mein Projekt gesetzt. Dieses besteht im Kern aus einem ATSAMD21G18A - der selbe, der auf dem Zero ist - allerdings auf einem Custom Board. Da ich irgendwo gelesen habe, dass sich diese Teils nicht mehr per ICSP programmieren, bzw. den Bootloader draufflashen lassen, muss ein anderer Trick her. Da ich keinen EDBG Chip dazupacken möchte, bleibt nur die SWD Schnittstelle. Ich habe mir also einen Atmel ICE Programmer besorgt und versuche nun zu Testzwecken meinen Arduino Zero damit zu programmieren. Nachdem das Zeug ca. ein Jahr rumlag, habe ich nun festgestellt, dass in der neusten Arduino IDE der ICE als Programmer aufgeführt ist :slight_smile:

Aufbau:

  • Arduino hängt per USB-Netzteil am Stromnetz
  • Atmel ICE ist über den SAM Anschluss mit dem SWD Header der Arduinoplatine verbunden.
  • Atmel ICE hängt mit seinem hinteren Ende an einem MacBook Pro, das wahlweise mit MacOS 10.12.6 oder Windows 10 startet.
  • In AtmelStudio7 wurde der ICE erkannt, mit frischer Firmware bespielt und er kann die Deviceinformationen der MCU auslesen.

Problem:

  • drücke ich in AtmelStudio7 auf „build“, erscheinen nur Fehlermeldungen (c.f. Bild)
  • in der Arduino IDE auf Windows wird „Port“ ausgegraut, wenn der Arduino per Programmer am Computer hängt. Es ist nicht möglich ihn zu programmieren, den Bootloader zu flashen oder auch nur die Board Info auszulesen
  • in der Arduino IDE am Mac ist der USB Port auch nicht wählbar - eigentlich das selbe, wie unter Windows.

Fragen:

  • Was muss ich tun, um den Arduino per Atmel Studio programmieren zu können?
  • Gibt es eine Möglichkeit, den Arduino direkt über die IDE mittels Atmel ICE zu programmieren?
  • Wie kann ich einen Bootloader draufbrennen - am liebst gleich per Arduino IDE - damit ich mein Projekt später per USB programmieren kann?

freundliche Grüsse

Hitsuji

FehlermeldungAS7.PNG

in der Arduino IDE auf Windows wird „Port" ausgegraut, wenn der Arduino per Programmer am Computer hängt. Es ist nicht möglich ihn zu programmieren, den Bootloader zu flashen oder auch nur die Board Info auszulesen

Der Port muss ausgegraut sein, da ja keine serielle Schnittstelle verfügbar ist.

Hast Du den "Upload using Programmer" ausgeführt? Zuvor muss natürlich das richtige Board ausgwählt werden. Auch "Burn Bootloader" sollte eigentlich funktionieren, vorausgesetzt, der richtig Programmertyp ist ausgewählt (ich habe keinen ICE, somit kann ich es damit nicht versuchen).

Nunja, irgendwie hätte ich erwartet, dass der Port angezeigt wird, an dem der ICE hängt.
"Upload using programmer" habe ich ausprobiert. Geht nicht.
Board hab ich "Arduino Zero (Programming Port)" und "Arduino Zero (Native USB Port) probiert. Geht nicht.
Als Programmer hab ich "Atmel ICE", "Atmel SAM ICE" und "ATMEL ICE AVR" ausprobiert. Geht alles nicht :frowning:

update:
Ich habe nichts anders gemacht!!! Einfach nochmals das selbe versucht. Unter Mac OS X als Programmer Atmel SAM ICE ausgewählt und upload via Programmer gedrückt. Hat funktioniert. Allerdings macht der Arduino nach dem Upload zunächst nichts, bis ich erneut den Bootloader brenne, dann beginnt das Programm zu laufen.

Es ist für mich zwar seltsam und ein Klick mehr, aber immerhin komm ich so an meine MCU ran :D:D:D