Forum: Mikrocontroller und Digitale Elektronik Probleme mit Hard Floats bei CoIDE/ ARM GCC?


von Ingo (Gast)


Lesenswert?

Hallo,
ich versuche gerade ein Projekt von Atollic True Studio auf die CoIDE 
umzubauen bzw. zu portieren. Bis jetzt scheint es auch alles zu klappen, 
bis auf das ich in Atollic die Funktion sqrt(..) nutzen konnte und in 
CooCox nicht bzw. funktioniert diese nur, wenn ich Softfloats verwende. 
Bei Hardfloats gibts folgende Fehlermeldung/en :

    [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  error: Test_CoIDE_Ingo.elf uses VFP 
register arguments, c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/armv7e-m\ 
libgcc.a(bpabi.o)  does not
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  failed to merge target specific data of 
file c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/armv7e-m\ 
libgcc.a(bpabi.o)
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  error: Test_CoIDE_Ingo.elf uses VFP 
register arguments, c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/armv7e-m\ 
libgcc.a(unwind-arm.o)  does not
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  failed to merge target specific data of 
file c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/armv7e-m\ 
libgcc.a(unwind-arm.o)
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  error: Test_CoIDE_Ingo.elf uses VFP 
register arguments, c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/armv7e-m\ 
libgcc.a(pr-support.o)  does not
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  failed to merge target specific data of 
file c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/armv7e-m\ 
libgcc.a(pr-support.o)
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  error: Test_CoIDE_Ingo.elf uses VFP 
register arguments, c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/armv7e-m\ 
libgcc.a(_divdi3.o)  does not
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  failed to merge target specific data of 
file c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/armv7e-m\ 
libgcc.a(_divdi3.o)
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  error: Test_CoIDE_Ingo.elf uses VFP 
register arguments, c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/armv7e-m\ 
libgcc.a(_udivdi3.o)  does not
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  failed to merge target specific data of 
file c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/armv7e-m\ 
libgcc.a(_udivdi3.o)
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  error: Test_CoIDE_Ingo.elf uses VFP 
register arguments, c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-abort.o)  does not
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  failed to merge target specific data of 
file c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-abort.o)
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  error: Test_CoIDE_Ingo.elf uses VFP 
register arguments, c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-memcpy.o)  does not
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  failed to merge target specific data of 
file c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-memcpy.o)
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  error: Test_CoIDE_Ingo.elf uses VFP 
register arguments, c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-signal.o)  does not
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  failed to merge target specific data of 
file c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-signal.o)
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  error: Test_CoIDE_Ingo.elf uses VFP 
register arguments, c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-signalr.o)  does not
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  failed to merge target specific data of 
file c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-signalr.o)
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  error: Test_CoIDE_Ingo.elf uses VFP 
register arguments, c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-impure.o)  does not
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  failed to merge target specific data of 
file c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-impure.o)
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  error: Test_CoIDE_Ingo.elf uses VFP 
register arguments, c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-mallocr.o)  does not
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  failed to merge target specific data of 
file c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-mallocr.o)
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  error: Test_CoIDE_Ingo.elf uses VFP 
register arguments, c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-mlock.o)  does not
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  failed to merge target specific data of 
file c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-mlock.o)
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  error: Test_CoIDE_Ingo.elf uses VFP 
register arguments, c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-reent.o)  does not
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  failed to merge target specific data of 
file c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-reent.o)
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  error: Test_CoIDE_Ingo.elf uses VFP 
register arguments, c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-sbrkr.o)  does not
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  failed to merge target specific data of 
file c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-sbrkr.o)
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  error: Test_CoIDE_Ingo.elf uses VFP 
register arguments, c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-freer.o)  does not
       [cc] c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/bin/ld.exe:  failed to merge target specific data of 
file c:/program files 
(x86)/arm-none-eabi-gcc-4_6/bin/../lib/gcc/arm-none-eabi/4.6.2/../../../ 
../arm-none-eabi/lib/armv7e-m\libg.a(lib_a-freer.o)
       [cc] C:\Users\Ingo Lührig\Desktop\CoIDE Test/Funktionen.c:229: 
undefined reference to `sqrt'

Das undefined reference zu sqrt macht mich stutzig, da sie Funktion 
vorhanden ist und mit der Math.h auch eingebunden ist. Schalte ich um 
auf SoftFloats geht es, warum auch immer. Kann mir jemand helfen?



Ingo

von Ingo (Gast)


Lesenswert?

Thread bitte löschen!!!

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.