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
>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.
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.
Mein Makefile sieht folgendermaßen aus: siehe Dateianhang verwendeter µC: AT91M55800A auf einem AT91EB55 derivat
Ist das wirlich das richtige Makefile? Da ist nichts von einem beispiel.out zu sehen.
Vielleicht hilft es auch Deine Cstartup_FDB.s zu posten. Verwendest Du darin irgendwo Floating point?
Hier noch die Cstartup_FDB.s und zusätzlich die Cstartup_eb55.C und Cstartup_eb55.s; FDB.H
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.
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.