Go Down

Topic: [Resolu] Pb linkage (Read 1 time) previous topic - next topic

gerse

Jun 22, 2012, 01:05 am Last Edit: Jun 24, 2012, 04:04 pm by gerse Reason: 1
Bonsoir tout le monde,
Je fais des essais avec mon shield internet.
Tout fonctionne correctement sauf que j'ai ajouté une nouvelle page d'essai qui mesure la température sur l'arduino (un truc que j'ai trouvé sur le blog Skyduino ) mais j'aurais très bien pu afficher la recette des crêpes. Du coup  j'ai un problème de linkage. Je suppose qu'il manque une option au linker..?

J'utilise ATMEL Studio avec les libs Arduino 1.0....

les messages du linker:

Code: [Select]
"F:\Program Files\Atmel\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\bin\avr-g++.exe" -o EthernetSrv2.elf  EthernetSrv2.o index1.o temperature.o   -Wl,-Map="EthernetSrv2.map" -Wl,--start-group -Wl,-lm -Wl,-lArduinoCore101 -Wl,-lSPI -Wl,-lEthernet  -Wl,--end-group -Wl,-L"F:\Arduino\Atmel\ArduinoCore101\ArduinoCore101\Release" -Wl,-L"F:\Arduino\Atmel\ArduinoCore101\Ethernet\Ethernet\Release" -Wl,-L"F:\Arduino\Atmel\ArduinoCore101\SPI\SPI\Release"  -Wl,--gc-sections  -mmcu=atmega328p  
f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(fixsfsi.o):/home/tools/hudson/workspace/avr8-gnu-toolchain/src/avr-libc/libm/fplib/fixsfsi.S:55:(.text.avr-libc.fplib+0x6): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_szero' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(fp_zero.o)
f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(fixunssfsi.o):/home/tools/hudson/workspace/avr8-gnu-toolchain/src/avr-libc/libm/fplib/fixunssfsi.S:69:(.text.avr-libc.fplib+0x0): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_splitA' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(fp_split3.o)
f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(fixunssfsi.o):/home/tools/hudson/workspace/avr8-gnu-toolchain/src/avr-libc/libm/fplib/fixunssfsi.S:94:(.text.avr-libc.fplib+0x26): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_zero' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(fp_zero.o)
f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(fixunssfsi.o):/home/tools/hudson/workspace/avr8-gnu-toolchain/src/avr-libc/libm/fplib/fixunssfsi.S:98:(.text.avr-libc.fplib+0x2c): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_zero' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(fp_zero.o)
f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(mulsf3.o):/home/tools/hudson/workspace/avr8-gnu-toolchain/src/avr-libc/libm/fplib/mulsf3.S:37:(.text.avr-libc.fplib+0x2): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_round' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(fp_round.o)
f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o):/home/tools/hudson/workspace/avr8-gnu-toolchain/src/avr-libc/libm/fplib/mulsf3x.S:44:(.text.avr-libc.fplib+0x0): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_pscA' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(fp_pscA.o)
f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o):/home/tools/hudson/workspace/avr8-gnu-toolchain/src/avr-libc/libm/fplib/mulsf3x.S:46:(.text.avr-libc.fplib+0x4): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_pscB' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(fp_pscB.o)
f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o):/home/tools/hudson/workspace/avr8-gnu-toolchain/src/avr-libc/libm/fplib/mulsf3x.S:50:(.text.avr-libc.fplib+0xc): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_inf' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(fp_inf.o)
f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o):/home/tools/hudson/workspace/avr8-gnu-toolchain/src/avr-libc/libm/fplib/mulsf3x.S:51:(.text.avr-libc.fplib+0xe): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_nan' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(fp_nan.o)
f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o):/home/tools/hudson/workspace/avr8-gnu-toolchain/src/avr-libc/libm/fplib/mulsf3x.S:53:(.text.avr-libc.fplib+0x12): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_szero' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(fp_zero.o)
f:/program files/atmel/extensions/atmel/avrgcc/3.4.0.65/avrtoolchain/bin/../lib/gcc/avr/4.6.2/../../../../avr/lib/avr5\libm.a(mulsf3x.o):/home/tools/hudson/workspace/avr8-gnu-toolchain/src/avr-libc/libm/fplib/mulsf3x.S:56:(.text.avr-libc.fplib+0x14): additional relocation overflows omitted from the output
collect2: ld returned 1 exit status
make: *** [EthernetSrv2.elf] Error 1
Done executing task "RunCompilerTask" -- FAILED.
Done building target "CoreBuild" in project "EthernetSrv2.cppproj" -- FAILED.
Done building project "EthernetSrv2.cppproj" -- FAILED.


ET le bout de code qui genere ca :
Code: [Select]

void getInternalTempArduino(float *pval)
{
float val;
ADMUX = 0xC8;                // Sélectionne le port analogique 8 + référence interne 1v1
   ADCSRA |= (1 << ADEN);       // Active le convertisseur analogique -> numérique
ADCSRA |= (1 << ADSC);       // Lance une conversion analogique -> numérique
while(ADCSRA & (1 << ADSC)); // Attend la fin de la conversion
uint16_t raw = ADCL | (ADCH << 8); // Récupère le résultat de la conversion
//float raw = ADCL | (ADCH << 8); // Récupère le résultat de la conversion
val=(raw - 324.31 )/1.22 ;          // Ligne d'affectation
*pval=val;  /*** SI CETTE LIGNE alors erreur***/

}


j'ai également essayé en utilisant la fonction comme à son original soit en retournant un float: le return plante de la même manière..
Je pensais que c'était une erreur de conversion implicite et j'ai rajouter la ligne d'affectation, qui passe sans pb;
Le bug couillon car ce n'etait vraiment pas là le but de mes essais...je seche!


skizoh

dit moi toi tu donnerai pas dans le compliqué alors qu'on peut faire simple? ^^ je vois pas trop ou est l'erreur mais pourquoi tu utilise pas le simple analogRead()..?
Un tien vaux mieux que deux tu l'auras !

skywodd


Tout fonctionne correctement sauf que j'ai ajouté une nouvelle page d'essai qui mesure la température sur l'arduino (un truc que j'ai trouvé sur le blog Skyduino ) mais j'aurais très bien pu afficher la recette des crêpes. Du coup  j'ai un problème de linkage. Je suppose qu'il manque une option au linker..?

Tu pourrais donner le liens du "truc", tout le monde ne connais pas mon blog et ses articles par coeur ;)
http://skyduino.wordpress.com/2012/05/22/arduino-connaitre-la-temperature-ambiante-sans-capteur-de-temperature/


j'ai également essayé en utilisant la fonction comme à son original soit en retournant un float: le return plante de la même manière..
Je pensais que c'était une erreur de conversion implicite et j'ai rajouter la ligne d'affectation, qui passe sans pb;

C'est bizarre tu as pourtant bien -lm qui inclut la librairie libm.a dans ta ligne de compilation ...

Essaye de compiler en utilisant la toolchain winAVR (derniére version).
Tu utilises avr-gcc 3.4.0 pour compiler, alors que la version la plus récente est gcc 4.3.3, ça fait un sacrée train de retard ;)


dit moi toi tu donnerai pas dans le compliqué alors qu'on peut faire simple? ^^ je vois pas trop ou est l'erreur mais pourquoi tu utilise pas le simple analogRead()..?

Si tu avais pris le temps de regarder le nom de la fonction tu comprendrais ;)
"getInternalTempArduino" -> obtenir la température du capteur interne de l'ATmega328p
Va faire ça avec analogRead, c'est juste impossible ;)
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

gerse

Helo
desoled Skywodd je suis mauvais en marketing :)
J essaye ca demain. c'est marrant que je sois si en retard: j'ai pourtant la derniere version de studio et le linker livré avec arduino1.x...
Je reviens vers vous pour vous dire.
Serge

barbudor

#4
Jun 22, 2012, 08:55 pm Last Edit: Jun 22, 2012, 09:26 pm by barbudor Reason: 1
Dans les paramètres de compilation, section Optimization, est-ce que par hasard tu aurais coché "Use rjump/rcall (limited range) on >8K devices (-mshorts-call)"
(a vérifier dans les paramètres de comilation C et C++)
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

skywodd


J essaye ca demain. c'est marrant que je sois si en retard: j'ai pourtant la derniere version de studio et le linker livré avec arduino1.x...

Erreur fatale ! :smiley-mr-green: La toolchain fourni avec l'ide arduino même 1.0 date de 2008/2009 ...

J'ai râlé sur le google code du projet arduino (et je suis pas le seul, il y a trois autre "issues" du même genre) sans que ça ne soit jamais pris en compte ...
http://code.google.com/p/arduino/issues/detail?id=491
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

gerse

Hello à tous.

@Barbudor: J'ai vérifié et je n'ai pas coché ces options.

@Skywodd: Bon j'ai un peu souffert pour re configuer AVR Studio avec la nouvelle toolchain  :~
par contre j'ai toujours ce pb de link. Je mets ici le nouvel output pour que l'on puisse parler des mêmes choses:
Code: [Select]
------ Build started: Project: EthernetSrv2, Configuration: Debug AVR ------
Build started.
Project "EthernetSrv2.cppproj" (default targets):
Target "PreBuildEvent" skipped, due to false condition; ('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreBuild" in file "F:\Program Files\Atmel\Vs\Compiler.targets" from project "F:\Arduino\Atmel\EthernetSrv2\EthernetSrv2\EthernetSrv2.cppproj" (target "Build" depends on it):
Task "RunCompilerTask"
F:\Program Files\Atmel\make\make.exe all
Building file: .././EthernetSrv2.cpp
Invoking: AVR8/GNU C++ Compiler : (WinAVR 20100110) 4.3.3
"F:\Program Files\Atmel\extensions\Atmel\AVRGCC\WinAVR-20100110\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL -DARDUINO=100  -I"F:\Arduino\Atmel\ArduinoCore101\Ethernet\Ethernet\utility" -I"F:\Arduino\Atmel\ArduinoCore101\Ethernet\Ethernet" -I"F:\Arduino\Atmel\ArduinoCore101\SPI\SPI" -I"F:\Arduino\Atmel\ArduinoCore101\ArduinoCore101\arduino\cores\arduino" -I"F:\Arduino\Atmel\ArduinoCore101\ArduinoCore101\arduino\variants\standard" -I"F:\Arduino\Atmel\ArduinoCore101\Wire\Wire"  -Os -fdata-sections -ffunction-sections -ffunction-sections -fpack-struct -fshort-enums -g2 -Wall -c -fno-exceptions  -MD -MP -MF "EthernetSrv2.d" -MT"EthernetSrv2.d" -MT"EthernetSrv2.o"  -mmcu=atmega328p   -o"EthernetSrv2.o" ".././EthernetSrv2.cpp"
Finished building: .././EthernetSrv2.cpp
Building file: .././index1.cpp
Invoking: AVR8/GNU C++ Compiler : (WinAVR 20100110) 4.3.3
"F:\Program Files\Atmel\extensions\Atmel\AVRGCC\WinAVR-20100110\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL -DARDUINO=100  -I"F:\Arduino\Atmel\ArduinoCore101\Ethernet\Ethernet\utility" -I"F:\Arduino\Atmel\ArduinoCore101\Ethernet\Ethernet" -I"F:\Arduino\Atmel\ArduinoCore101\SPI\SPI" -I"F:\Arduino\Atmel\ArduinoCore101\ArduinoCore101\arduino\cores\arduino" -I"F:\Arduino\Atmel\ArduinoCore101\ArduinoCore101\arduino\variants\standard" -I"F:\Arduino\Atmel\ArduinoCore101\Wire\Wire"  -Os -fdata-sections -ffunction-sections -ffunction-sections -fpack-struct -fshort-enums -g2 -Wall -c -fno-exceptions  -MD -MP -MF "index1.d" -MT"index1.d" -MT"index1.o"  -mmcu=atmega328p   -o"index1.o" ".././index1.cpp"
Finished building: .././index1.cpp
Building file: .././temperature.cpp
Invoking: AVR8/GNU C++ Compiler : (WinAVR 20100110) 4.3.3
"F:\Program Files\Atmel\extensions\Atmel\AVRGCC\WinAVR-20100110\bin\avr-g++.exe" -funsigned-char -funsigned-bitfields -DF_CPU=16000000UL -DARDUINO=100  -I"F:\Arduino\Atmel\ArduinoCore101\Ethernet\Ethernet\utility" -I"F:\Arduino\Atmel\ArduinoCore101\Ethernet\Ethernet" -I"F:\Arduino\Atmel\ArduinoCore101\SPI\SPI" -I"F:\Arduino\Atmel\ArduinoCore101\ArduinoCore101\arduino\cores\arduino" -I"F:\Arduino\Atmel\ArduinoCore101\ArduinoCore101\arduino\variants\standard" -I"F:\Arduino\Atmel\ArduinoCore101\Wire\Wire"  -Os -fdata-sections -ffunction-sections -ffunction-sections -fpack-struct -fshort-enums -g2 -Wall -c -fno-exceptions  -MD -MP -MF "temperature.d" -MT"temperature.d" -MT"temperature.o"  -mmcu=atmega328p   -o"temperature.o" ".././temperature.cpp"
Finished building: .././temperature.cpp
Building target: EthernetSrv2.elf
Invoking: AVR8/GNU Linker : (WinAVR 20100110) 4.3.3
"F:\Program Files\Atmel\extensions\Atmel\AVRGCC\WinAVR-20100110\bin\avr-g++.exe" -o EthernetSrv2.elf  EthernetSrv2.o index1.o temperature.o   -Wl,-Map="EthernetSrv2.map" -Wl,--start-group -Wl,-lm -Wl,-lArduinoCore101 -Wl,-lSPI -Wl,-lEthernet  -Wl,--end-group -Wl,-L"F:\Arduino\Atmel\ArduinoCore101\ArduinoCore101\Release" -Wl,-L"F:\Arduino\Atmel\ArduinoCore101\Ethernet\Ethernet\Release" -Wl,-L"F:\Arduino\Atmel\ArduinoCore101\SPI\SPI\Release"  -Wl,--gc-sections  -mmcu=atmega328p 
f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(fixsfsi.o): In function `__fixsfsi':
(.text.avr-libc.fplib+0x6): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_szero' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(fp_zero.o)
f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(fixunssfsi.o): In function `__fixunssfsi':
(.text.avr-libc.fplib+0x0): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_splitA' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(fp_split3.o)
f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(fixunssfsi.o): In function `__fixunssfsi':
(.text.avr-libc.fplib+0x26): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_zero' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(fp_zero.o)
f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(fixunssfsi.o): In function `__fixunssfsi':
(.text.avr-libc.fplib+0x2c): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_zero' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(fp_zero.o)
f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(mulsf3.o): In function `__mulsf3':
(.text.avr-libc.fplib+0x2): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_round' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(fp_round.o)
f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(mulsf3x.o):(.text.avr-libc.fplib+0x0): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_pscA' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(fp_pscA.o)
f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(mulsf3x.o):(.text.avr-libc.fplib+0x4): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_pscB' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(fp_pscB.o)
f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(mulsf3x.o):(.text.avr-libc.fplib+0xc): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_inf' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(fp_inf.o)
f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(mulsf3x.o):(.text.avr-libc.fplib+0xe): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_nan' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(fp_nan.o)
f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(mulsf3x.o):(.text.avr-libc.fplib+0x12): relocation truncated to fit: R_AVR_13_PCREL against symbol `__fp_szero' defined in .text.avr-libc.fplib section in f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(fp_zero.o)
f:/program files/atmel/extensions/atmel/avrgcc/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr5\libm.a(mulsf3x.o): In function `__mulsf3x':
(.text.avr-libc.fplib+0x14): additional relocation overflows omitted from the output
make: *** [EthernetSrv2.elf] Error 1
Done executing task "RunCompilerTask" -- FAILED.
Done building target "CoreBuild" in project "EthernetSrv2.cppproj" -- FAILED.
Done building project "EthernetSrv2.cppproj" -- FAILED.

Build FAILED.
========== Build: 0 succeeded or up-to-date, 1 failed, 0 skipped ==========


Est qu'il faut que je recompile toutes mes librairies (core arduino) avec le nouveau WinAvr?



skywodd


Est qu'il faut que je recompile toutes mes librairies (core arduino) avec le nouveau WinAvr?

Essaye de virer -lm, normalement il devrait râler en disant qu'il ne connais pas le type "float".
Si il râle comme prévu, fait un clean de ton projet et recompile tout pour avoir une base propre, ya peut être un lien qui a foiré dans un des fichiers précompilé.
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

barbudor

L'erreur de relocation est forcément liée à l'utilisation de short-calls qui ne peuvent être résolus.
En fait l'erreur de lien n'est pas dans ton code mains dans la lib.
C'est peut être elle qui a été compilée avec l'option short-calls

Quelle est la taille de ton exe quand il passe ? (avant que la dernière modif)
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

gerse

1 succeeded -Oui c'est passé à la compile! Je ne l'aurais jamais imaginer!
Comment as tu diagnostiqué ca?

gerse

Barbudor, je ne sais pas te répondre je n'ai pas vérifié et là c'est passé. J'ai défini un environnement et tous mes codes sont compilés de la même manière et linkés avec mon CoreArduino101 et j'ajoute la librairie et les includes dont j'ai besoin au moment de compiler un projet (Ethernet, SPI, Wire..). Dans mon environnement  j'ai la lib mathematique par defaut

gerse

J'ai fait d'autres tests:

- J'ai remis la lib m  dans la chaine et ca passe...
- J'ai depalcé la lib m en premiere position (comme à l'origine) et ca ne passe plus...

Je n'avais plus vu ca sur une machine Unix depuis bien longtemps... j'aurais dut y penser. Comme Barbudor je pensais que le pb etait de "taille" :smiley-red:
Merci pour votre aide
Serge

Go Up