Stránka 1 z 1

Programování AVR v ECLIPSE a chyba (přesunuto)

Napsal: 02 bře 2014, 00:03
od Eclipse
Ahoj kamarádi,
tak jsem se rozhodl, že zkusím k programování ECLIPSE. Vytvořil jsem program, který jsem si vyzkoušel v AVRstudiu 4. Je funkční, AVRstudio jej přeložilo bez chyb a tak jsem začal tento program předělávat do ECLIPSe s AVR pluginem. Ale mám problém.

Konkrétně můj problém vypadá takto:

Kód: Vybrat vše

make all 
Building target: Projekt_1.elf
Invoking: AVR C Linker
avr-gcc -Wl,-Map,Projekt_1.map -mmcu=atmega16 -o "Projekt_1.elf"  ./uart/uart.o  ./i2chw/twimaster.o  ./dht/dht11.o  ./bmp085/bmp085.o  ./main.o   
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libc.a(log.o): In function `log':
(.text.avr-libc.fplib+0x46): relocation truncated to fit: R_AVR_13_PCREL against symbol `__addsf3' defined in .text section in c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/avr5\libgcc.a(_addsub_sf.o)
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libc.a(log.o): In function `log':
(.text.avr-libc.fplib+0x4e): relocation truncated to fit: R_AVR_13_PCREL against symbol `__addsf3' defined in .text section in c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/avr5\libgcc.a(_addsub_sf.o)
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libc.a(log.o): In function `log':
(.text.avr-libc.fplib+0x6a): relocation truncated to fit: R_AVR_13_PCREL against symbol `__floatsisf' defined in .text section in c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/avr5\libgcc.a(_si_to_sf.o)
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libc.a(inverse.o): In function `inverse':
(.text.avr-libc.fplib+0xc): relocation truncated to fit: R_AVR_13_PCREL against symbol `__divsf3' defined in .text section in c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/avr5\libgcc.a(_div_sf.o)
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libc.a(modf.o): In function `modff':
(.text.avr-libc.fplib+0x3e): relocation truncated to fit: R_AVR_13_PCREL against symbol `__subsf3' defined in .text section in c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/avr5\libgcc.a(_addsub_sf.o)
make: *** [Projekt_1.elf] Error 1

23:56:45 Build Finished (took 1s.340ms)


Neví někdo, jak pokračovat dál?

Předem děkuji za odpovědi.

Napsal: 02 bře 2014, 16:35
od petus
zkus do projektu naimportovat knihovnu z které používáš funkce:
__addsf3
__floatsisf
__subsf3

Napsal: 02 bře 2014, 17:09
od Eclipse
Tak svůj problém jsem vyřešil pomocí tohoto návodu: ODKAZ.

Try modifying the linker "Command line pattern" in (C/C++ Build -> Settings -> AVR C++ Linker) to look like this:

${COMMAND} -lc -lm ${FLAGS} ${OUTPUT_FLAG}${OUTPUT_PREFIX}${OUTPUT} ${INPUTS} -lc


Program byl přeložen, HEX file vytvořen, ale pořád zůstaly nějaké chyby, kterých se nevím zbavit.

Obrázek