Forum: Mikrocontroller und Digitale Elektronik STM workbench fehler


von Daniel X. (ddmw)


Lesenswert?

Hallo zusammen,

ich entwickle zur Zeit mit dem STM workbench und STM32Cube.

Wenn ich mir mit dem Cube ein USB HID Costum generiere, funktioniert so 
weit alles. Implementiere ich den Descriptor und die Rx und Tx funktion 
vom USB Funktioniert auch alles.

Wenn ich jedoch den PC und STM Workbench offen lasse, funktioniert am 
nächsten Tag das build nicht mehr.

Das ist mir schon zwei Mal passiert, danach musste ich alles neu 
schreiben.

Ich bekomme dabei folgende Fehlermeldung:

c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, Src/freertos.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file Src/freertos.o
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, Src/main.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file Src/main.o
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, Src/stm32f4xx_hal_msp.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file Src/stm32f4xx_hal_msp.o
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, Src/stm32f4xx_it.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file Src/stm32f4xx_it.o
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, Src/system_stm32f4xx.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file Src/system_stm32f4xx.o
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, Src/usb_device.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file Src/usb_device.o
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, Src/usbd_conf.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file Src/usbd_conf.o
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, Src/usbd_custom_hid_if.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file Src/usbd_custom_hid_if.o
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, Src/usbd_desc.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file Src/usbd_desc.o
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, firmware/cmds/exeCmds.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file firmware/cmds/exeCmds.o
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, firmware/cmds/maintenance.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file firmware/cmds/maintenance.o
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, firmware/common/common.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file firmware/common/common.o
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, firmware/flash/flash.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file firmware/flash/flash.o
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, firmware/init/pinConfig.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file firmware/init/pinConfig.o
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, firmware/init/sysConfig.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file firmware/init/sysConfig.o
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  error: USB_HID_Costum.elf uses VFP 
register arguments, firmware/protocol/protocol.o does not
c:/ac6/systemworkbench/plugins/fr.ac6.mcu.externaltools.arm-none.win32_1 
.13.2.201703061525/tools/compiler/bin/../lib/gcc/arm-none-eabi/5.4.1/../ 
../../../arm-none-eabi/bin/ld.exe:  failed to merge target specific data 
of file firmware/protocol/protocol.o
collect2.exe: error: ld returned 1 exit status
make: *** [USB_HID_Costum.elf] Error 1

13:30:22 Build Finished (took 1m:56s.449ms)

Hoffentlich könnt Ihr mir weiterhelfen, sonst muss ich wieder von neuem 
beginnen.

Herzlichen dank im vorraus.


Grüße

DDMW

von pegel (Gast)


Lesenswert?

Daniel X. schrieb:
> uses VFP register arguments, ... does not

Das deutet darauf hin das du verschiedene Einstellungen für den Mathe 
Koprozessor verwendest. Stell den bei allen Programmteilen gleich ein.
Falls vorhanden, Floating Point auf Hardware einstellen.

von Daniel X. (ddmw)


Angehängte Dateien:

Lesenswert?

Anbei ein Bild von den properties. Hier habe ich nur eine einstell 
möglichkeit?


Gruß

DDMW

von pegel (Gast)


Lesenswert?

make clean probiert?
Auf jeden Fall scheinen verschiedene Dateien mit verschiedenen 
Einstellungen übersetzt worden zu sein.

von Harry L. (mysth)


Lesenswert?

pegel schrieb:
> make clean probiert?
> Auf jeden Fall scheinen verschiedene Dateien mit verschiedenen
> Einstellungen übersetzt worden zu sein.

Das reicht in manchen Fällen nicht aus.
Dann ist zusätzlich ein Index->Rebuild erforderlich.

: Bearbeitet durch User
von Jim M. (turboj)


Lesenswert?

Wie sehen die Linker Einstellungen aus? Es muss GCC als Linker 
eingesetzt werden (nich LD direkt), und es müssen auch die MCU und FP 
Parameter beim Linker angegeben werden - ganz genau so wie beim 
Compiler.

Hintergrund: Die LibC gibt es in mehreren Varianten (Multilib). Der OP 
versucht die flasche zu verlinken. GCC als Linker-Frontend kann sich die 
korrekte Variante selbst suchen, wenn es die korrekten Optionen 
gefüttert bekommt.

von pegel (Gast)


Lesenswert?

Daniel X. schrieb:
> STM workbench und STM32Cube

Du meinst CubeMX?

Mit dieser Kombi wird eigentlich alles richtig eingestellt.

Bleibt die Frage ob du MX benutzt, oder extern etwas verändert hast.

Harry L. schrieb:
> Dann ist zusätzlich ein Index->Rebuild erforderlich.

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.