LPC2148: libgcc mit software Floating Point Unterstützun

Gast #584780
Lesenswert?
• ▲
▼
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
Admin Persönliche Seite #584799
Lesenswert?
• ▲
▼
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.
Gast #584800
Lesenswert?
• ▲
▼
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
Gast #584811
Lesenswert?
• ▲
▼
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

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.