mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik arm-elf-ld ERROR: hardware FP softwareFP


Autor: Toni 23 (toni23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert


arm-elf-ld ERROR: Cstartup.o uses hardware FP, whereas beispiel.out uses 
software FP

Mein Linker spuckt diese Fehlermeldung aus. Ich weis nicht, was FP 
bedeutet, und wie ich den Fehler wegbekomme.

Cstartup ist ein assamblerfile und beispiel.out ist die Datei, die 
erzeugt werden soll. Diese Datei soll sich anschließend auf einen 
Mikrokontroller ( AT91M55800A) übertragen lassen.

Danke für Hinweise

Autor: Karsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Cstartup ist ein assamblerfile und beispiel.out ist die Datei, die
>erzeugt werden soll.

Mag sein. beispiel.out wird aber nicht erzeugt, sondern hinzugelinkt, 
wenn du jene Fehlermeldung erhältst.

Autor: Dirk Dörr (dirkd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FP steht für floating point

CStartup.o wird von deinem Linker dazu gelinkt und verwendet für 
floiting point arithm. Hardware-Unterstützung (wurde mit dieser Option 
compiliert). Beispiel.out wurde ohne diese Unterstützung compiliert.

Beides passt nicht zusammen.

Zeig uns mal Dein Makefile. Könnte helfen.

Autor: Toni 23 (toni23)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Mein Makefile sieht folgendermaßen aus: siehe Dateianhang

verwendeter µC: AT91M55800A
auf einem AT91EB55 derivat

Autor: Dirk Dörr (dirkd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist das wirlich das richtige Makefile?

Da ist nichts von einem beispiel.out zu sehen.

Autor: Dirk Dörr (dirkd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht hilft es auch Deine Cstartup_FDB.s zu posten. Verwendest Du 
darin irgendwo Floating point?

Autor: Toni 23 (toni23)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier noch die Cstartup_FDB.s und zusätzlich die Cstartup_eb55.C und 
Cstartup_eb55.s; FDB.H

Autor: Dirk Dörr (dirkd)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe im Moment nicht viel Zeit mir das ganze anzusehen.

Vorschlag:
Verwende mal die Assembler Option -mcpu. In Deinem Fall vermutlich
-mcpu=arm7tdmi

Zusätzlich noch
-msoft-float

Letzteres sollte eigentlich unnötig sein; aber vielleicht ist Deine 
Toolchain anders erzeugt worden.

Autor: Toni 23 (toni23)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe gerade gesehen, dass ich eine Änderung am makefile vornahm. 
Diese ist im Makefileanhang nicht drin. Ohne diese Änderung habe ich 
auch nicht die Fehlermeldung, aber wahrscheinlich auch nicht das 
ergebnis, dass ich mir wünsche. Nehmlich eine richtig gelinkte .out 
datei.

diese Zeile:
$(LD) -Map ram.map  -o ram.out  main.o  -Tlinkerscr.lsc


muss so aussehen:
$(LD) -Map ram.map  -o ram.out  main.o  Cstartup_FDB.o -Tlinkerscr.lsc


Ich habe die Optionen -mcup=arm7tdmi und -msoft-float ausprobiert. 
Ergbnis= Gleiche fehlermeldung wie oben.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.