Forum: Mikrocontroller und Digitale Elektronik Von Em::Blocks direkt flashen?


von Sam (Gast)


Lesenswert?

Hey,

gibt es eine Möglichkeit von emblocks die Hexfile der Release 
Konfiguration direkt auf den Stm32f4 zu flashen(St link vorhanden)?

Bisher habe immer das St utility benutzt.
Mir ist zwar klar, das ich bei emblocks beim debuggen den Code flashen 
kann, jedoch ist die elf Datei 300km groß, da fände ich die Release hex 
Datei von 10 - 15kb schon angenehmer.

Kenn jemand die Lösung?

von Sam (Gast)


Lesenswert?

Keiner was ?

von Gibts N. (schneeblau)


Lesenswert?

Ich hab auch schon gesucht aber nichts gefunden:(

von Samuel C. (dragonsam)


Lesenswert?

Ob .hex oder .elf ist total egal, da bei beiden sinnvollerweise genau 
das selbe und somit auch genau soviel gebrannt wird.

: Bearbeitet durch User
von Sam (Gast)


Lesenswert?

Aber die elf verbraucht laut Explorer viel mehr Speicher?
.elf 400kb
.hex 10kb

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Dafür scheißt du dir ins Hemd? Das ist wie mit Frauen. Die eine ist 
redseliger als die andere. Aber sie geben beide die gleiche Information 
wieder.

: Bearbeitet durch User
von Gibts N. (schneeblau)


Lesenswert?

"Hilfreiche" Antwort!

Trotzdem wäre eine direkte Flashmöglichkeit schneller als immer den 
Umweg über debug....man spart Mausklicks;)

: Bearbeitet durch User
von rumble (Gast)


Lesenswert?

Ich weiß nicht was dein Problem ist, wann aber das Projekt mal größer 
ist, dann werden aus den 300kb ganz schnell mal mehr und es passt nicht 
mehr auf den STM. Dann würde nämlich nur noch die Hex file drauf passen, 
diese deutlich kleiner ist...

Und genau DASS ist mein Problem...

von Nick (Gast)


Lesenswert?

Die Größe des Files entspricht ja nicht dem Speicherbedarf auf deinem 
Controller. Der Größenunterschied kommt nur daher,dass das .elf File 
mehr Overhead beinhaltet.

von Rumble (Gast)


Lesenswert?

Aber der größere Overhead wirkt sich aber dann auch im Controller aus, 
oder?

von Helmut S. (helmuts)


Lesenswert?

Dafür gibt es doch das ST-link utility zum Flashen.

http://www.st.com/web/en/catalog/tools/PF258168


Vielleicht brauchst du das auch mal.
Beitrag "ARM STM32FR4 ST1-Link auf Discovery Board "no connect""

: Bearbeitet durch User
von Rumble (Gast)


Lesenswert?

Das benutze ich auch, aber es wäre bequemer das ganze von der IDE zu 
flashen, gibt es beim St link nicht sowas wie ne Parameterliste beim 
Aufruf des Programms?

von Rumble (Gast)


Lesenswert?

Okay habe im Handbuch mich ein bisschen eingelesen, über Cli kann man 
mit diesen Parametern den Chip flashen:
-P *C:\file.hex* -V "after_programming"

Die .hex kann man wahrscheinlich in em::Blocks unter Tools als Variable 
eingeben, werde das heute mal ausprobieren.

von debugger (Gast)


Lesenswert?

>Aber der größere Overhead wirkt sich aber dann auch im Controller aus, oder?

Das ist Blödsinn!
- im *.elf sind noch Informationen für den Debugger
- im *.hex ist 'nur' noch der reine Binärcode allerdings in ASCII 
Zeichen kodiert (menschenlesbar)
- im *.bin ist wriklich nur noch der auszuführende Code --> genau das 
was der Controller braucht

Alle drei Files belegen auf dem Controller die gleiche Größe an 
Speicher.
Es wird ja nicht das File ins Flash gespeichert sondern nur der 
ausführbare Code daraus. Dafür sorgt das Flash-Tool schon.

Alles andere wäre auch Blödsinn, der Controller versteht nun mal kein 
ASCII-HEX.

von In d. (indus)


Lesenswert?

Hier die Beantwortung der Eingangsfrage:
Beitrag "Re: Neues STM32 Tutorial"

von Marino (Gast)


Lesenswert?

Danke In Dus

von Nils P. (ert)


Angehängte Dateien:

Lesenswert?

Damit ich es das nächste suche es schneller finde :-)

hier der aktuelle St-link utility:
http://www.st.com/web/en/catalog/tools/PF258168

Bild im Anhang, hier zum kopieren:

Executable:
C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK 
Utility\ST-LINK_CLI.exe

Parameters:
-c SWD UR -P "${TARGET_OUTPUT_DIR}${TARGET_OUTPUT_BASENAME}.hex" 
0x08000000 -V "after_programming" -Rst -Run

Achtung mit den Zeilenumbrüchen hier bei µC.net, man muss zweimal 
kopieren.

Geht mit Em-blocks 2.30, natürlich nur mit STM-µCs

Greez Ert

: 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.