Wie programmiere ich ein Atmel SAM im Feld?

Wir haben einige Atmel SAM-basierte Boards entworfen, die wir im Feld aufrüstbar machen wollen. Wir haben noch keinen Bootloader (in naher Zukunft geplant), aber wir müssen sicherstellen, dass sie umprogrammierbar sind, bevor der Bootloader fertig ist.

Wie kann ich den Workflow erreichen, dass wir unserem Kunden ein Tool und eine Binärdatei geben können und sie es in die Chips flashen können? Wir haben eine SWD-Schnittstelle auf den Platinen. Gibt es SWD-basierte Softwaretools zum Programmieren von Flash?

Wenn nicht, ist SAM-BA über UART eine praktikable Option?

Für die Entwicklung verwenden wir Atmel Studio und einen Atmel-ICE.

"Wenn nicht, ist SAM-BA über UART eine praktikable Option?" - Ja, ich denke schon. Siehe hier
Das von Atmel angebotene SAM-ICE erfüllt Ihre Anforderungen nicht? Es unterstützt die Programmierung über JTAG und SWD.
@og1L Der Debugger macht es tatsächlich mit Atmel Studio. Ich konnte jedoch kein Softwaretool finden, das einfach eine bestimmte Binärdatei mit Atmel ICE flasht, ohne die vollständige Entwicklungsumgebung.
Ich denke, es funktioniert auch zB mit Seggers J-Flash-Tool. Habe es aber persönlich nicht genutzt.
Das Problem wird auch sein, dass Sie Treiber benötigen, wenn Sie auch USB verwenden. Eine Firma, die ich mit gebrauchten ZIF-Sockeln befasste, verschickte vorprogrammierte Chips. Offensichtlich ist ESD ein Problem, aber es kann einfacher sein, als die Entwicklungsumgebung zu unterstützen?
Die neueren samd2x-Teile haben kein solides Samba, Sie müssen selbst einen Bootloader hinzufügen und der Flash ist trivial zu löschen, sodass Sie sich nicht darauf verlassen können, wenn Sie Fehler im Code oder im Download haben. Verlassen Sie sich auf die swd-Schnittstelle

Antworten (3)

Sie können den eingebauten Bootloader verwenden, aber beachten Sie, dass er unverschlüsselt ist.

Sehen Sie sich diesen App-Hinweis für eine gute Behandlung von Bootloadern im Allgemeinen an.

Das Tool atprogram.exe flasht eine Hex-, Bin- oder Elf-Datei von der Befehlszeile aus. Es kann von einer einfachen GUI umschlossen werden, um zu erreichen, was ich will.

OpenOCD kann auch zum Flashen von Hex, Bin, Elf verwendet werden: OpenOCD-Nutzung . Aber nicht sicher, ob Sie unter Windows eine GUI dafür erstellen können. Außerdem hat dieser Verrückte einen Atmel SAMD21/STM32 drahtlos geflasht, indem er OpenOCD auf Raspberry Pi 3 ausgeführt hat: STM32 OpenOCD