STM32 ST-Link ELF-Upload per Batch

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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.