STM32 ST-Link ELF-Upload per Batch

OP (Firma: www.harerod.de) Persönliche Seite #4631263
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
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.
Gast
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.
OP (Firma: www.harerod.de) Persönliche Seite
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
OP (Firma: www.harerod.de) Persönliche Seite
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.