Hallo, Nach dem Einrichten der Entwicklungsumgebung für ein LPC2148-Board von Olimex (Eclipse 3.2, Winarm (gcc 4.1.1) stellte sich heraus, dass die libgcc keine software floating point Unterstützung bietet (LPC2148 hat keine FPU und daher werden software routinen zur Simulation von float Operationen benötigt). Meine Frage: wo kann ich eine entsprechend kompilierte libgcc mit software floating point Unterstützung finden?? Vielen Dank für eure Hilfe.... Grüsse, H.Hammoud
Ist in Winarm drin. Lass -msoft-float weg, das ist offenbar was anderes.
Für ARM7TDMI generiert der Compiler nie Float-Befehle, deshalb ist -msoft-float da überflüssig. Das ist AFAIK nur beim ARM9 sinnvoll; wenn man da nämlich Float-Befehle verwendet ohne eine Float-Recheneinheit zu haben, dann werden diese Befehle i.d.R. vom Betriebssystem emuliert, was viel langsamer ist als wenn man dem Compiler gleich sagt dass er die Soft-Float-Funktionen direkt einkompilieren soll. So habe ich das zumindest verstanden.
Hi, Zunächst Danke für die Antwort. Wenn ich den Schalter "-msoft-float" setze, dann meldet der Linker die Fehlermeldung, dass mein Code software floating points verwendet, während libgcc.a für hardware floating points kompiliert ist. Lasse ich den Schalter "-msoft-float" weg, dann gibt es bei Floating Point Operationen Exceptions zur Laufzeit .... Grüsse, H.Hammoud
Hallo, Compiler-Aufurf (ohne "-msoft-float"): arm-elf-gcc -I../include -O0 -g3 -Wall -c -fmessage-length=0 -mcpu=arm7tdmi -std=c99 Compilieren und Linken klappt ohne Probleme, aber: Wenn ich als Beispiel u.a. folgende Code-Zeilen im Programm habe: float x = 0; x = x + 1; Dann erhalte ich folgende Fehlermeldung zur Laufzeit(Debug): source not found for: 2 __aeabi_fadd() ..\..\..\gcc-4.1.1\gcc\config\arm\ieee754-sf.S:73 0x000011b8 Im Nicht-Debung-Modus wird der Mikrocontroller resettet. Bei anderen Float-Operationen(*,/ usw.) erhalte ich entsprechend analoge Fehlermeldungen. Danke für eure Hilfe. Grüsse, H.Hammoud
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.