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?
Ob .hex oder .elf ist total egal, da bei beiden sinnvollerweise genau das selbe und somit auch genau soviel gebrannt wird.
:
Bearbeitet durch User
Aber die elf verbraucht laut Explorer viel mehr Speicher? .elf 400kb .hex 10kb
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
"Hilfreiche" Antwort! Trotzdem wäre eine direkte Flashmöglichkeit schneller als immer den Umweg über debug....man spart Mausklicks;)
:
Bearbeitet durch User
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...
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.
Aber der größere Overhead wirkt sich aber dann auch im Controller aus, oder?
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
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?
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.
>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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.