Moin,
ich habe eine ganze Reihe von Floatingpoint Berechnungen (siehe Anhang)
auf einem AVR zu tun. Leider lässt sich der Code nicht compilieren. Der
Linker meldet:
1 | /usr/lib/gcc/avr/4.3.3/../../../avr/lib/avr51/libc.a(atan2.o):../../../libm/fplib/atan2.S:136: relocation truncated to fit: R_AVR_13_PCREL against symbol `__addsf3' defined in .text section in /usr/lib/gcc/avr/4.3.3/avr51/libgcc.a(_addsub_sf.o)
|
2 | /usr/lib/gcc/avr/4.3.3/../../../avr/lib/avr51/libc.a(fp_arccos.o):../../../libm/fplib/fp_arccos.S:76: relocation truncated to fit: R_AVR_13_PCREL against symbol `__subsf3' defined in .text section in /usr/lib/gcc/avr/4.3.3/avr51/libgcc.a(_addsub_sf.o)
|
Sowie noch etwa 5 weiterer solcher Zeilen. Die Suchfunktion und Google
brachte herraus, dass man die Mathebibliothek einbinden muss. Bei den
ganzen Berechnungen, die ich dort veranstalte, ist mir das auch klar.
Habe die Mathebibliothek auch mittels "-lm" angegeben, aber leider ohne
Erfolg.
Befehl zum Kompilieren
1 | avr-gcc -O2 -mmcu=at90can128 -DF_CPU=8000000 -std=gnu99 ./*.c
|
Das ganze wird bei mir also ohne Makefile kompiliert. Ich benutze
einfach ein kleines Shellskript.
mfg Emperor_L0ser