Forum: Mikrocontroller und Digitale Elektronik Atmel SAMD21 bootloader flashen


von Raphael S. (Gast)


Lesenswert?

Hallo Leute,

ich bin was Atmel angeht neuling. PIC ist eher meine Welt.
Nun möchte ich direkt mal mit einem SAM D21 starten.

Was benötige ich für Hardware um einen Bootloader zu flashen?
Ich habe natürlich schon reichlich recherche gemacht aber ich finde nur 
den Atmel ICE (weißes Gehäuse) womit das geht.

Ich kann mir aber gut vorstellen, dass dies auch mit einem günstigeren 
Programmer möglich ist. Was gibt es für möglichkeiten?

Für kurze hinweise wäre ich sehr Dankbar!

Gruß,
Raph

von pegel (Gast)


Lesenswert?

Das geht doch mit SAM-BA über seriell oder USB wenn ich nicht irre.

http://www.atmel.com/Images/Atmel-42366-SAM-BA-Bootloader-for-SAM-D21_ApplicationNote_AT07175.pdf

von Raphael S. (Gast)


Lesenswert?

Ach so einfach. Ich habe noch einen kleinen USB TTL Uart adapter liegen. 
Dann verwende ich den dazu. Reset dann manuell von Hand?

von pegel (Gast)


Lesenswert?

Ist schon zu lange her das ich das gemacht habe, damals mit SAM7S.
Aber zu Glück ist ja heute alles verfilmt:

https://www.youtube.com/watch?v=HsLmJtrzsnE

von pegel (Gast)


Lesenswert?

Das ist beim D21 wohl etwas anders über PA15 geregelt.

von Dirk B. (dirk_b182)


Lesenswert?

Die Atmel SAMD haben keinen integrierten ROM Bootloader. Der muss zuerst 
programmiert werden, siehe z.B. 
http://ww1.microchip.com/downloads/en/AppNotes/Atmel-42366-SAM-BA-Bootloader-for-SAM-D21_ApplicationNote_AT07175.pdf.
Mit den xplained Boards kann man andere SAMD-CPUs jedoch programmieren 
und dann auch z.B. einen RS232 Bootloader draufschreiben (SAM-BA). Die 
xplained Boards gibt's für relativ schmales Geld.

Viele Grüße

Dirk

von pegel (Gast)


Lesenswert?

Wenn ich das in AT07175 richtig verstehe geht es aber auch einfach mit 
RS232 oder USB ohne Programmer. Ist das falsch?

von Dirk B. (dirk_b182)


Lesenswert?

Aus Punkt 1.2.1 der SAM-BA Anleitung zum D21:
1
SAM-BA bootloader is not factory programmed on SAM D21 devices and has to be  programmed using an external programmer. Since SAM-BA will be stored in flash memory, if the application requires the entire flash space and does not need the bootloading feature, SAM-BA can be erased using external programmer.

Viele Grüße

Dirk

von pegel (Gast)


Lesenswert?

Schade das es bei dem nicht wie beim SAM7S ist.
Wie sollte Raphael jetzt vorgehen?

Ich als STM32 Fan würde ein F103 Mini Board zum Black Magic Probe 
machen.
Das unterstützt D20/D21.

von Raphael S. (Gast)


Lesenswert?

Erstmal vielen Dank für die vielen Infos. Wie 'pegel' schreibt ist es 
für mich wirklich schwer nach zu vollziehen wie ich vorzugehen habe.

F103 Mini sagt mir nichts.
Ein Arbeitskollege von mir hat einen at91sam-ice aber lt. Recherche kann 
der den M0 nicht.

Ich stehe echt auf dem Schlauch...

von Raphael S. (Gast)


Lesenswert?

Ich habe noch was interessantes gefunden.

https://www.youtube.com/watch?v=VQWhjzLoHB8

Die Auflösung ist zwar echt böse aber naja...
Hat das schon mal einer so gemacht? Was ist das für ein USB Tool?

von pegel (Gast)


Lesenswert?


von Marco H. (damarco)


Lesenswert?

Da brauchst irrend etwas mit SWD um in den Flash zu schreiben. Die 
nötige Konfiguration auch damit er auch startet.Ohne so etwas hast du 
keine Chance.

Man könnte ein Arduino M0+ benutzen ? Dann auf diesen muss eine Atmel 
ICE mit SWD doch oben sein ?

edit: Mit dem M0 pro müsste es gehen, die SWD sind extern ausgeführt.

http://download.arduino.org/products/M0PRO/arduino-M0-pro-schematic.pdf

man müsste nur R3 und R2 entfernen ..

von Dirk B. (dirk_b182)


Lesenswert?

Noch als Nachtrag: Mit den Xplained Board kannst Du leider keine anderen 
Boards programmieren. Dafür benötigst Du einen, wie oben beschriebenen, 
SWD fähigen Programmer.
Hier gab's mal einen langen Thread dazu: 
Beitrag "Welcher Programmer für ARM Cortex-M0?"

Viele Grüße

Dirk

von Stefan (Gast)


Lesenswert?

Nimm doch einfach den atmel-ice
Oder steig auf einen sam4s um der hat einen internen bootloader.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Raphael S. schrieb:
> Ein Arbeitskollege von mir hat einen at91sam-ice aber lt. Recherche kann
> der den M0 nicht.

Neuere Modelle (wobei das wohl eher „jünger als 10 Jahre alt“ sein
dürfte) sollten allemal SWD unterstützen und damit auch den Cortex-M0+.

Man muss sich halt nur ein Kabel fummeln; das SAM-ICE ist ja ein
Segger-JLink, welches mit dem 20poligen Kabel kommt.  Gerade Atmel
hat dagegen recht schnell die 10polige Cortex-M-Norm mit 1,27 mm
Raster übernommen, die ARM ins Leben gerufen hat.

Dirk B. schrieb:
> Mit den Xplained Board kannst Du leider keine anderen Boards
> programmieren.

Hast du's mal probiert?  Wenn ja, dann nur mit den Atmel-Tools?

Seit ich regelmäßig mit dem Atmel-ICE STM32 programmiere und debugge,
habe ich so meine Zweifel, dass da wirklich in der Hardware irgendeine
Bremse eingebaut ist.

Atmel Studio dagegen mag natürlich in dieser Hinsicht etwas wählerisch
sein.

von Marco H. (damarco)


Lesenswert?

Der Hardware ist ziemlich egal was dann hängt, der Kern ist immer ein 
ARM. Nur in der Software könnte es sein das man gewisse Devices nicht 
unterstützt.

Auch die Fummelei mit dem M0+ ist keine Lösung.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Marco H. schrieb:
> Nur in der Software könnte es sein das man gewisse Devices nicht
> unterstützt.

Yep, aber es könnte natürlich in der Firmware irgendwie blockiert
sein.  Macht aber vermutlich zu viel Arbeit.

von Raphael S. (Gast)


Lesenswert?

Stefan schrieb:
> Nimm doch einfach den atmel-ice

Ich denke das ist die sinnvollste lösung! Das gebastel mit anderen 
Boards ist auch nicht viel sparsamer...

Danke für alle infos

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.