Hallo zusammen,
ich versuche nun schon seit Tagen ein bestimmtes Beispielprogramm für
das Discovery-Board ans Laufen zu bringen, doch hänge an der
Kompilierung fest.
Konkret geht es darum:
https://github.com/jkerdels/stm32edu
Meine Rahmenbedingungen:
make: gnumake-3.81
compiler: arm-none-eabi-gcc 5.3.1 (20160307)
Führe ich "make -d" aus dem Verzeichnis aus, so hängt kann er scheinbar
kein Object-File generieren (siehe Anhang 2:make_d_mit_shEXE.txt).
Nun hatte ich vorher ständig das Problem, die shell-Befehle im Makefile
(Anhang 1, Zeile 204)
1 | $(shell mkdir -p $(OBJDIR) 2>/dev/null)
|
2 | $(shell mkdir -p $(OBJDIR)/src 2>/dev/null)
|
nicht ausführen zu können, da ich wohl schlicht keine sh.exe hatte und
so die temporären Object-Verzeichnisse nicht erzeugt werden konnten
(Anhang 3:make_d_ohne_shEXE.txt).
Nachdem ich sh.exe unter
http://www2.cs.uidaho.edu/~jeffery/win32/
nachgeladen habe, komme ich zu oberem Ergebnis.
Meine Vermutung ist, dass es trotzdem nicht richtig funktioniert, da auf
der Homepage gewarnt wird, dass sh.exe unter Vista nicht funktionieren
würde (ich habe Windows 10).
Im Internet finde ich dutzende Beispiele für den Start mit dem STM32,
aber alle scheinen direkt mit IDE und zusätzlichen Bibliotheken
einzusteigen. Das finde ich eher suboptimal, ich würde gern zunächst auf
die Standard-Peripheral Library verzichten und auf CMSIS-level bleiben.
[Schimpftirade]
Ganz ehrlich: Wer zur Hölle hat sich die Syntax für die Makefiles
ausgedacht? Ich sitze seit 3 Tagen daran und ich raffe NIX. 20
verschiedene Varianten das selbe dar zu stellen und jeder bevorzugt
"seinen" Stil, sodass Vergleichen unmöglich ist.
[/Schimpftirade]
Grüße
Simon