Forum: Mikrocontroller und Digitale Elektronik STM32 ST-Link ELF-Upload per Batch


von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Hallo Zusammen,

ich würde einen Inbetriebnehmer gerne mit einem Windows-Laptop und 
ST-Link ins Feld schicken. Dort soll ein mit Atollic TrueStudio 
erstelltes ELF über die SWD-Schnittstelle in einen STM32F4 geladen 
werden.

Nun suche ich eine Lösung mit möglichst schlankem Fuß.

Ich selber verwende den ST-Link nicht, werde aber heute noch zwei zum 
Testen beschaffen. Für diese Aufgabe ist das Teil preislich unschlagbar.

Idee:
- Voraussetzung
 - ST-Link GDB-Server
 - ARM Toolchain
- Umsetzung als Batchdatei, die
 - einen GDB-Server startet
 - einen GDB startet
 - GDB per Anweisungsliste dazu bringt folgende Aufgaben zu erledigen
  - Flash-Erase
  - Flash-Write
  - Flash-Verify

Frage, bevor ich das Rad neu erfinde:
- Kennt jemand das irgendwo fertig?
- Hat jemand Beispiele?

Danke Euch,
 marcus

von Sebastian V. (sebi_s)


Lesenswert?

Warum den Umweg über GDB? Es gibt doch auch direkt ein Commandline 
Interface für den ST-Link. Wenn du aus deiner ELF eine Intel Hex oder 
binäre Datei machst kannst du die einfach per
1
ST-LINK_CLI -c SWD -P firmware.hex -V -Rst
oder
1
ST-LINK_CLI -c SWD -P firmware.bin 0x08000000 -V -Rst
flashen. Vielleicht geht auch die ELF Datei direkt, sitze gerade aber am 
falschen PC um das zu testen.

von dummy (Gast)


Lesenswert?

Besorg dir das St-Link Utility von ST. Da ist ein
Commandlinetool dabei was du per Batch starten kannst.
Evtl.  musst du aber aus der ELF noch eine HEX Datei machen.

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

Ah, da war es wieder, mein kleines Problem. ;)

Mir ist in der Atollic 5.4.0 Lite Version keine Möglichkeit bekannt, 
direkt eine HEX-Datei als Build-Artefact zu erzeugen.
Wird wohl der Umweg über die ARM Toolchain objcopy notwendig sein.

Danke Euch beiden für die Hinweise - wie gesagt, der ST-Link ist noch im 
Zulauf.

Cheerio,
 Marcus

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Lesenswert?

So, die ST-Links sind heute eingetroffen.

Das GUI ST-Link Utility ist nett - HEX-File laden und Programmieren.
oder, wie oben gezeigt per CLI.

Direkte Verwendung von ELF ist nicht möglich, deswegen kommt objcopy zum 
Zuge:

Ein Kommando in der Form
"$INSTALLATIONSPFAD\GNU Tools ARM Embedded\4.8 
2013q4\bin\arm-none-eabi-objcopy.exe" -O ihex test.elf test.hex"
erzeugt ein HEX aus dem ELF.

Nochmal Danke für die Tipps.

: Bearbeitet durch User
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.