AVRGCC porblem linkovani

Martin Locker locker na vosrk.cz
Úterý Květen 13 17:03:53 CEST 2014


Zdravím,


pustil jsem se do projektu, kde jsem byl donucen použít goniometrické funkce.

Kdysi už jsem něco zkoušel a nebyl problém.


Ale v programu pro ATmega128 jsem použil funkci SIN a výsledek nejde slinkovat,
a ne úplně rozumím hlášení linkeru.


Pokud by mi mohl někdo poradit, co je špatně, tak bych byl moc vděčen.


Řádek kódu, který to způsobí (pokud ho zakomentuju, tak to projde)


double A;
long l, x;


  x=(long) (l * sin (a));
a hlášení linkeru:



avr-g++.exe  -o bin\Maxi.elf bin\IntRS485.o bin\Kompas.o bin\LCD.o bin\Main.o bin\RS485.o bin\Robot.o bin\SMC.o bin\Time.o bin\UART.o bin\i2c.o bin\CRC.o   -mmcu=atmega128 -Wl,--gc-sections,-Map=bin\Maxi.map,--cref  
d:/codeblocks/avrgcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr51\libm.a(fp_powsodd.o): In function `__fp_powsodd':
(.text.fplib+0x10): relocation truncated to fit: R_AVR_13_PCREL against symbol `__mulsf3' defined in .text section in d:/codeblocks/avrgcc/bin/../lib/gcc/avr/4.3.2/avr51\libgcc.a(_mul_sf.o)
d:/codeblocks/avrgcc/bin/../lib/gcc/avr/4.3.2/../../../../avr/lib/avr51\libm.a(fp_powsodd.o): In function `__fp_powsodd':
(.text.fplib+0x20): relocation truncated to fit: R_AVR_13_PCREL against symbol `__mulsf3' defined in .text section in d:/codeblocks/avrgcc/bin/../lib/gcc/avr/4.3.2/avr51\libgcc.a(_mul_sf.o)


Tipuju, že je problém v realokaci, ale proč?


Díky 
Martin Locker





Další informace o konferenci Hw-list