Makefile build Fehler - pipe: No such file or directory

Gast #6852871
Lesenswert?

Hallo zusammen,

auf der Suche nach einem USB Mass Storage Device Bootloader für mein 
STM32F1 Projekt bin ich auf folgendes GitHub Projekt gestoßen:
https://github.com/Squonk42/STM32_MSC_Bootloader

Leider habe ich überhaupt keine Erfahrung mit der Benutzung von 
Makefiles. Ich habe bisher immer nur fertige IDEs benutzt, aktuelle 
verwende ich die CubeIDE. Trotzdem möchte ich versuchen, das Projekt zu 
builden.

Nachdem ich den Pfad zur make.exe aus dem STM32CubeIDE Pfad "c:\Program 
Files\STMicroelectronics\STM32CubeIDE_1.6.1\STM32CubeIDE\plugins\com.st. 
stm32cube.ide.mcu.externaltools.make.win32_1.5.0.202011040924\"  zu 
meiner Windows Path Umgebungsvariablen hinzugefügt habe, funktioniert 
schonmal der Befehl aus der "build Anleitung" auf der Github Seite: 
"make -C src"

Leider bekomme ich dann sofort folgende Fehlermeldung:
1
c:\Users\Public\Documents\STM\STM32_MSC_Bootloader_squonk_make>make -C src
2
make: Entering directory 'c:/Users/Public/Documents/STM/STM32_MSC_Bootloader_squ
3
onk_make/src'
4
make: ../libopencm3/mk/genlink-config.mk:27: pipe: No such file or directory
5
make: ../libopencm3/mk/genlink-config.mk:28: pipe: No such file or directory
6
make: ../libopencm3/mk/genlink-config.mk:29: pipe: No such file or directory
7
make: ../libopencm3/mk/genlink-config.mk:30: pipe: No such file or directory
8
make: ../libopencm3/mk/genlink-config.mk:31: pipe: No such file or directory
9
../libopencm3/mk/genlink-config.mk:47: No match for the FPU flags
10
../libopencm3/mk/genlink-config.mk:52: stm32f103c8t6 not found in ../libopencm3/
11
ld/devices.data
12
../libopencm3/mk/genlink-config.mk:63: ../libopencm3/lib/libopencm3_.a library v
13
ariant for the selected device does not exist.
14
  CC    stm32-msc-bootloader.c
15
arm-none-eabi-gcc: error: missing argument to '-mcpu='
16
make: *** [../rules.mk:126: ../bin/stm32-msc-bootloader.o] Error 1
17
make: Leaving directory 'c:/Users/Public/Documents/STM/STM32_MSC_Bootloader_squo
18
nk_make/src'


Evtl. ist der Hauptfehler dieser hier (und alle Weiteren nur 
Folgefehler):
1
make: ../libopencm3/mk/genlink-config.mk:27: pipe: No such file or directory

Und hier der Inhalt von genlink-config.mk Zeile 27:
1
genlink_family    :=$(shell $(OPENCM3_DIR)/scripts/genlink.py $(DEVICES_DATA) $(DEVICE) FAMILY)

Wäre klasse wenn mir jemand einen Hinweis geben könnte, was da schief 
läuft. Durch googeln bin ich zu keinem Ergebnis gekommen.

Vielen Dank!

Gruß,

Philipp
#6853311
Lesenswert?

Oder anders gefragt: Wenn du nach der Anleitung vorgehst, was passiert 
dann bei
make -C libopencm3

Anscheinend sind die mitgelieferten Sourcen zu libopencm3 unvollständig, 
oder das makefile ist nicht in Ordnung. Die libopencm3 kannst du dir 
zwar manuell von github holen, das lässt aber für den Rest des Projektes 
auch nichts Gutes erwarten.

Oliver
Gast #6853620
Lesenswert?

Oliver S. schrieb:
> Oder anders gefragt: Wenn du nach der Anleitung vorgehst, was
> passiert dann bei
> make -C libopencm3
> Anscheinend sind die mitgelieferten Sourcen zu libopencm3 unvollständig,
> oder das makefile ist nicht in Ordnung. Die libopencm3 kannst du dir
> zwar manuell von github holen, das lässt aber für den Rest des Projektes
> auch nichts Gutes erwarten.
> Oliver

Der Befehl make -C libopencm3 funktioniert einwandfrei, es werden alle 
files compiliert und die entsprechenden Librarys erzeugt.



> make: ../libopencm3/mk/genlink-config.mk:27: pipe: No such file or

> directory

Ich verstehe erstens nicht, was der Zusatz "pipe:" bedeutet. Außerdem 
verstehe ich die Meldung "No such file or directory" nicht, da die Datei 
genlink.py im Verzeichnis libopencm3/scripts/ bei mir exisitert.
#6853635
Lesenswert?

arm-none-eabi-gcc: error: missing argument to '-mcpu='

Außerdem:
Vermutlich irgendein Compiler Schalter für die Konfiguration vom 
Build(customizing), check das mal.
Pipe könnte hier bedeuten, dass die Befehlszeile unvollständig ist und 
der Build hier stockt.

jo
Gast #6854810
Lesenswert?

Joe J. schrieb:
> arm-none-eabi-gcc: error: missing argument to '-mcpu='
>
> Außerdem:
> Vermutlich irgendein Compiler Schalter für die Konfiguration vom
> Build(customizing), check das mal.
> Pipe könnte hier bedeuten, dass die Befehlszeile unvollständig ist und
> der Build hier stockt.
>
> jo

Das wird wahrscheinlich eine folge von diesem Fehler hier sein:
1
../libopencm3/mk/genlink-config.mk:52: stm32f103c8t6 not found in ../libopencm3/
2
ld/devices.data
Habe mir daraufhin die devices.data Datei angeschaut. Dort gibt es aber 
den Eintrag:
1
stm32f103?8* stm32f1 ROM=64K RAM=20K
Warum kann er also das Device nicht finden?
Gast #6865829
Lesenswert?

pegel schrieb:
> Ich habe das unter Linux probiert und vor:
>
> make -C libopencm3
>
> noch libopencm3 komplett geladen:
>
> git clone https://github.com/libopencm3/libopencm3
>
> dann läuft es durch.

Vielen Dank für das kompilierte .bin File.

Hab es gerade auf mein BluePill Board geflasht. Mein Win7 erkennt das 
USB Device zwar, das schreiben einer Datei in den Flash per Drag&Drop 
aber leider nicht. Wobei ich nicht mal weiß, ob das überhaupt 
funktionieren soll. Die Beschreibung des Projekts ist mehr als dürftig.
Schaue ich in den Code, dann ergibt sich eher der Eindruck als würde die 
Datei in den RAM geschrieben werden.

Fazit:
Damit ich ein File in den Flash schreiben kann, müsste ich das Programm 
noch modifizieren.
Da es mir leider nicht gelingt, das Projekt zu kompilieren, muss ich an 
dieser Stelle wohl erstmal aufgeben.

Falls doch noch jemand eine Idee hat, wie ich die Fehlermeldungen im 
Build Prozess beheben kann (Ich nutze einen Win 7 Rechner), gerne her 
damit.

Bis da hin werde ich mich erstmal nach einem anderen Projekt mit dieser 
Funktionalität umschauen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren