Es geht um folgendes Sourceforge Project: "Open source flash program for STM32 using the ST serial bootloader" https://sourceforge.net/projects/stm32flash/files/?source=navbar Auf Sourceforge hat es leider nur ein 64-Bit Windows Executable zum Download, ich benötige aber ein WinX86 Executable, könnte mir jemand so ein 32-Bit Executable bauen? Das wäre echt super, denn bis ich ein Linux soweit zum laufen habe vergeht mindestens 1..2 Wochen. HOWTO aus dem stm32flash-0.5.tar.gz >Cross compile on Linux host for Windows target with MinGW: >===================================================================== >I'm using a 64 bit Arch Linux machines, and I usually run: >make CC=x86_64-w64-mingw32-gcc AR=x86_64-w64-mingw32-ar
:
Verschoben durch User
Wieso installierst Du auf Windows nicht einfach MingW für 32 bit und compilierst das? Wofür das W in MingW steht, ist bekannt? ;-)
Weils meistens in einer unendlichen Anzahl von "missing libfoo"-Fehlermeldungen u.ä. endet. Aber mal eben ein Linux in eine virtuelle Machine packen, und die toolchain und ein Mingw installieren dauert doch keine zwei Tage. Oliver
Und einer der alles schon installiert am laufen hat und sich damit auskennt braucht ca 10 Minuten um die beiliegenden Sourcen mit dem passenden Make-Aufruf zu bauen ind das Exe wieder hoch zu laden. Dachte ich mir... Doch falls das auch für Spezialisten nicht so straight forward einfach ist, ist es das für mich erst recht nicht.
Und wenn mir ein "Spezialist" per Cpoy&Paste seine Shell Ein- und Ausgaben als Textfile beilegt, werde ich versuchen es nach zu machen und lerne anhand des Beispiels auch was für's nächste mal (auch andere Interessierte) Versucht hab ich's bereits, als Linux Program läuft es sogar, aber ein Exe kriege ich nicht hin. War mir auch nicht klar, welche der rund 20 MingW Pakete zu instaliern sind, ein Übergeordnetes Hab mal alles installiert was mir sinnvol erschien, ein übergeordneted Gesmtpaket habe ich nicht gefunden, beim Make Commando aus dem ersten Betrag kommen keine Fehler oder Warnings, nur ca 3 Zeilen, das alles schon gemacht ist (oder so) doch ein exe kommt nirgens raus. Auch nicht wenn ich noch -o wobistdu.exe hinten beifüge... HELP
Nop schrieb: > Wieso installierst Du auf Windows nicht einfach MingW für 32 bit und > compilierst das? > > Wofür das W in MingW steht, ist bekannt? ;-) Hier bedeutet es, dass das Flash-Tool, das mit dem STM-Bootloader kommuniziert, under MS-Windows laufen soll.
Hab mich einfach nach der Anleitung des Readme Files gerichtet. Compiliert in 10 Sekunden :-) Also unter Linux Mint: make CC=x86_64-w64-mingw32-gcc AR=x86_64-w64-mingw32-ar Weiß nicht, ob ich's hier anhängen darf. Versuch es einfach mal. Gruß Gerhard
Hallo Gerhard Ich habe auch Linux Mint 18.2 Wenn ich einfach die Sourcen entpacke, mit der Shell ins Verzeichnis wechsle und 'make' aufrufe erhalte ich ein laufähiges Linux-Binary.
1 | ~/stm32flash $ make |
2 | cd parsers && make parsers.a |
3 | make[1]: Entering directory '/home/nimda/stm32flash/parsers' |
4 | make[1]: 'parsers.a' is up to date. |
5 | make[1]: Leaving directory '/home/nimda/stm32flash/parsers' |
Aber mit deinem Commando habe ich keinen Erfolg:
1 | ~/stm32flash $ make CC=x86_64-w64-mingw32-gcc AR=x86_64-w64-mingw32-ar |
2 | cd parsers && make parsers.a |
3 | make[1]: Entering directory '/home/nimda/stm32flash/parsers' |
4 | make[1]: 'parsers.a' is up to date. |
5 | make[1]: Leaving directory '/home/nimda/stm32flash/parsers' |
Was müsste ich noch installieren?
Ähmmm vielleicht doch gut? Dabei ensteht auch ein neues "stm32flash" => Umbenennen nach zB "stm32flash_Win32.EXE" und schon fertig? :o)
Doch nicht mit "make CC=x86_64-w64-mingw32-gcc AR=x86_64-w64-mingw32-ar" kommt ein 64 Bit Binary raus. wenn ich den Make Aufruf abändere komt volgendes raus:
1 | nimda@nimda-desktop ~/stm32flash $ make CC=x86_64-w32-mingw32-gcc AR=x86_64-w32-mingw32-ar |
2 | x86_64-w32-mingw32-gcc -Wall -g -c -o dev_table.o dev_table.c |
3 | make: x86_64-w32-mingw32-gcc: Command not found |
4 | <builtin>: recipe for target 'dev_table.o' failed |
5 | make: *** [dev_table.o] Error 127 |
6 | |
7 | ...oder |
8 | |
9 | nimda@nimda-desktop ~/stm32flash $ make CC=x86_32-w32-mingw32-gcc AR=x86_32-w32-mingw32-ar |
10 | x86_32-w32-mingw32-gcc -Wall -g -c -o dev_table.o dev_table.c |
11 | make: x86_32-w32-mingw32-gcc: Command not found |
12 | <builtin>: recipe for target 'dev_table.o' failed |
13 | make: *** [dev_table.o] Error 127 |
Psavr schrieb: > make: x86_64-w32-mingw32-gcc: Command not found Deine 32-Bit Cross-Toolchain heißt anders, versuch mal i686-w64-mingw32.
>Deine 32-Bit Cross-Toolchain heißt >anders, versuch mal i686-w64-mingw32 Geht auch nicht! Ist denn keiner da, der sich auskennt?
Psavr schrieb: > Geht auch nicht! > Ist denn keiner da, der sich auskennt? Woran hängt es denn? Unter einem *buntu-System kannst du den 32bit-Cross-Compiler mit
1 | sudo apt-get install gcc-mingw-w64-i686 |
installieren. Hab dir trotzdem mal eine Binary angehängt. Ob es geht weiß ich nicht, weil ich kein Windows zum testen habe. Falls es nicht geht, schau mal hier: https://sourceforge.net/p/stm32flash/wiki/Build/ Du musst lediglich das
1 | pacman -S mingw-w64-x86_64-gcc |
durch
1 | pacman -S mingw-w64-i686-gcc |
ersetzen.
@ Christopher Danke! Dein win32.exe funktioniert und dank deinem Hinweis kann ich es nun auch selber bauen: > make clean > make CC=i686-w64-mingw32-gcc AR=i686-w64-mingw32-ar
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.