Forum: Mikrocontroller und Digitale Elektronik ATSAMD flashen


von Torsten N. (Gast)


Lesenswert?

Hallo,

ich steige gerade von den Atmel 8bit Controllern ATMega's auf die ATSAM 
Serie um und nutze dazu den Arduino Zero mit dem ATSAMD21G18A Prozessor.

Ich habe allerdings ein Problem beim Flashen des Programms und eine 
Suche im Netz ergab bisher leider nichts. Vielleicht ist es auch 
fehlendes Wissen.

Ich versuche mein Programm mit Atmel Studio 7 (build 790) und dem Atmel 
ICE Debugger (bzw. mit dem Arduino OnBoard Tool) zu flashen und bekomme 
die Meldung 'Verifying Flash...Failed! address=0x0000 expected=0x10 
actual=0xff'. DeviceID, Fuses, etc. kann ich alles ohne Probleme lesen.

Mir scheint, als würde das Programm nicht wirklich in den 
Programmspeicher des Controllers geladen werden. Muss ich zuvor 
irgendwelche Einstellungen an den Fuses vornehmen oder habe ich gar 
etwas anderes nicht beachtet?


Vielen Dank im voraus


lg Torsten

von Marco H. (damarco)


Lesenswert?

Ja leider ;)

Denn der SAMD hat kein ROM mehr wo der Bootloader drin ist. Der ist ab 
der Adresse 0x0000 durch Arduino dort abgelegt worden. Wenn du die 
Adresse mit deinen Programm vergleichst kommt Käse raus.

Beim Anstecken an dem USB Port meldet sich das Board noch  ? Ansonsten 
ist der Bootloader schon überschrieben.

Da man beim Arduino Zero den Button für den Bootloader weggelassen hat 
gelingt es nur recht spärlich den richtigen Zeitpunkt zu erwischen. 
Nach 5 sec springt dieser ins Programm. Keine Ahnung wer sich das 
ausgedacht hat. Lässt sich aber ändern die Quellen befinden sich im 
Projekt.

Wie hast du den dein ASF Projekt erzeugt ? Aus einen Device Board 
Projekt ?

Normalerweise sorgt ein linker script dafür das dein Programm an der 
richtigen Stelle landet. Bzw. verhindert das da rein geschrieben wird wo 
man es lieber nicht tun sollte.

Unter Tools kann man auswählen was gelöscht und wo hingeschrieben wird.

Wenn du ihn komplett löscht passiert dir das hier 
Beitrag "ATMEL ARM SAMD ohne Framework programmieren"

weiter unten, Stichwort NVM RAM .

Ansonsten damit Probieren 
Beitrag "Arduino Zero mit ArduinoStart Konfigurieren"

von Torsten N. (Gast)


Lesenswert?

G' Morgen,

vielen Dank für die schnelle Antwort. Ich werde mir das heute heute 
nochmal in Ruhe anschauen.

lg Torsten

von Kaj (Gast)


Lesenswert?

Das kann ich bestaetigen:
Beitrag "Re: ATMEL ARM SAMD ohne Framework programmieren"

Die Fuse NVMCTRL_BOOTPROT auf 0x07 setzen, dann gehts.

von Torsten N. (Gast)


Lesenswert?

Danke,

funktioniert auf Anhieb :-)


lg Torsten

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.