arm-elf-ld ERROR: hardware FP softwareFP

OP #454723
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
Gast #454724
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.
#454732
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.
#456433
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.
OP #456551
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren