warning: internal error: out of range error

Hello

I have an Arduino Mega 2560
My project have about 18000 lines
The *.pde have about 555K.

Few months ago I’ve bought the ‘Arduino Mega 2560’ to replace my ‘Arduino Mega 1280’, because on that time I was near to reach til 128K.
To prevent that, I’ve optimized the code with '#include <avr/pgmspace.h> ’ (save strings there), changed integers to bytes…

Meanwhile my project still growing and now I have the following:

core.a(HardwareSerial.cpp.o):C:\arduino\arduinoIDE\hardware\arduino\cores\arduino/HardwareSerial.cpp:177: warning: internal error: out of range error
core.a(HardwareSerial.cpp.o):(.rodata._ZTV14HardwareSerial+0x4): warning: internal error: out of range error
core.a(HardwareSerial.cpp.o):(.rodata._ZTV14HardwareSerial+0x6): warning: internal error: out of range error
core.a(HardwareSerial.cpp.o):(.rodata._ZTV14HardwareSerial+0x8): warning: internal error: out of range error
core.a(HardwareSerial.cpp.o):(.rodata._ZTV14HardwareSerial+0xa): warning: internal error: out of range error
core.a(HardwareSerial.cpp.o):(.rodata._ZTV14HardwareSerial+0xc): warning: internal error: out of range error
core.a(HardwareSerial.cpp.o):(.rodata._ZTV14HardwareSerial+0xe): warning: internal error: out of range error
core.a(HardwareSerial.cpp.o):(.rodata._ZTV14HardwareSerial+0x10): warning: internal error: out of range error

So, I don’t have enough space to save my code… I didn’t expect that…
It seem to me that will be hard to optimize even more… and I don’t want to quit from my goal… so…solutions:

  1. Connect 2 arduinos to each other?
  2. The new Arduino Due 32bits will let me finish my project?

Please let me know
Thanks on advance
Pedro Ferrer

18,000 lines of code in an arduino project! What does your system do? I'd be surprised if there isn't some room for optimization in there though. Is it too big to attach?

Hello

Some of them are not used yet (18000 lines)... because with 8 bits I have lack of precision on math. So, for now I quit, waiting for 32 bit AVR. I have a lot of scientific math inside program and there I can't change anything.

So,

  1. Connect 2 arduinos to each other?
  2. The new Arduino Due 32bits will let me finish my project?

I bet there is plenty to optimise, 555K in one file pretty much guarantees you have added inefficiencies to your app, too hard to maintain properly.

What scientific stuff are you doing, the due will have different timings and accuracies, and no AVR specific code will port. Post your code, I bet we can shave off some kb.

Hello

Very complex application... moonrise, sunrise, tides, seasons, ATO, dosing pumps... etc etc...

My binary sketch has about 139000 bytes (of ~258000 maximum) I never thought that my application were limited by 128k flash... I also have several char saved on flash to save RAM...

i've never seen that particular error, but I've seen similar errors on other architectures where monolithic code has grown to the size where a relative jump cannot span enough memory.

The usual fix is to put in skip jumps, but that would be down to the compiler. Code refactoring might help, but that's just conjecture because I don't know what the code looks like.

[quote author=Pedro Ferrer link=topic=128905.msg971537#msg971537 date=1351236441] Very complex application... moonrise, sunrise, tides, seasons, ATO, dosing pumps... etc etc... [/quote]

You've got the Australian Taxation Office involved? No wonder it's complex!

http://www.ato.gov.au/

I've found this

http://arduino.cc/forum/index.php?topic=100923.0;wap2

Apparently we need to pass a --relax flag when building for the atmega2560. When building with normal version of Arduino when the sketch goes beyond 128k, we get this error. There is a "relax version" as they call it laying around for whomever that would like to use it.

What this mean?

Thanks on advance

Hello

I still don’t get the problem…
The problem is about flash? Should be 256000 bytes, no? Why blow with about 139000 bytes?..

I don’t get…

Did you try the “relax” option?

My report

C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino -IC:\arduino\arduinoIDE\libraries\EEPROM -IC:\arduino\arduinoIDE\libraries\Wire C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Codino1.cpp -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Codino1.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino -IC:\arduino\arduinoIDE\libraries\EEPROM -IC:\arduino\arduinoIDE\libraries\Wire -IC:\arduino\arduinoIDE\libraries\EEPROM\utility C:\arduino\arduinoIDE\libraries\EEPROM\EEPROM.cpp -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\EEPROM\EEPROM.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino -IC:\arduino\arduinoIDE\libraries\EEPROM -IC:\arduino\arduinoIDE\libraries\Wire -IC:\arduino\arduinoIDE\libraries\Wire\utility C:\arduino\arduinoIDE\libraries\Wire\Wire.cpp -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Wire\Wire.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-gcc -c -g -Os -w -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino -IC:\arduino\arduinoIDE\libraries\EEPROM -IC:\arduino\arduinoIDE\libraries\Wire -IC:\arduino\arduinoIDE\libraries\Wire\utility C:\arduino\arduinoIDE\libraries\Wire\utility\twi.c -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Wire\utility\twi.c.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-gcc -c -g -Os -w -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\pins_arduino.c -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\pins_arduino.c.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-gcc -c -g -Os -w -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\WInterrupts.c -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\WInterrupts.c.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-gcc -c -g -Os -w -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\wiring.c -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\wiring.c.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-gcc -c -g -Os -w -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\wiring_analog.c -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\wiring_analog.c.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-gcc -c -g -Os -w -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\wiring_digital.c -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\wiring_digital.c.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-gcc -c -g -Os -w -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\wiring_pulse.c -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\wiring_pulse.c.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-gcc -c -g -Os -w -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\wiring_shift.c -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\wiring_shift.c.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\CmdMessenger.cpp -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\CmdMessenger.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\EEPROM.cpp -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\EEPROM.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\HardwareSerial.cpp -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\HardwareSerial.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\LCD4Bit_mod.cpp -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\LCD4Bit_mod.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\main.cpp -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\main.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\MemoryFree.cpp -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\MemoryFree.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\Print.cpp -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Print.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\Tone.cpp -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Tone.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\Wire.cpp -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Wire.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\WMath.cpp -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\WMath.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=22 -IC:\arduino\arduinoIDE\hardware\arduino\cores\arduino C:\arduino\arduinoIDE\hardware\arduino\cores\arduino\WString.cpp -oC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\WString.cpp.o

continue...

C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\pins_arduino.c.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\WInterrupts.c.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\wiring.c.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\wiring_analog.c.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\wiring_digital.c.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\wiring_pulse.c.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\wiring_shift.c.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\CmdMessenger.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\EEPROM.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\HardwareSerial.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\LCD4Bit_mod.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\main.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\MemoryFree.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Print.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Tone.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Wire.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\WMath.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-ar rcs C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\WString.cpp.o C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-gcc -Os -Wl,--gc-sections -mmcu=atmega2560 -o C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Codino1.cpp.elf C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Codino1.cpp.o C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\EEPROM\EEPROM.cpp.o C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Wire\Wire.cpp.o C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Wire\utility\twi.c.o C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a -LC:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp -lm C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a(HardwareSerial.cpp.o):C:\arduino\arduinoIDE\hardware\arduino\cores\arduino/HardwareSerial.cpp:177: warning: internal error: out of range error C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a(HardwareSerial.cpp.o):(.rodata._ZTV14HardwareSerial+0x4): warning: internal error: out of range error C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a(HardwareSerial.cpp.o):(.rodata._ZTV14HardwareSerial+0x6): warning: internal error: out of range error C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a(HardwareSerial.cpp.o):(.rodata._ZTV14HardwareSerial+0x8): warning: internal error: out of range error C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a(HardwareSerial.cpp.o):(.rodata._ZTV14HardwareSerial+0xa): warning: internal error: out of range error C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a(HardwareSerial.cpp.o):(.rodata._ZTV14HardwareSerial+0xc): warning: internal error: out of range error C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a(HardwareSerial.cpp.o):(.rodata._ZTV14HardwareSerial+0xe): warning: internal error: out of range error C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\core.a(HardwareSerial.cpp.o):(.rodata._ZTV14HardwareSerial+0x10): warning: internal error: out of range error C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Codino1.cpp.elf C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Codino1.cpp.eep C:\arduino\arduinoIDE\hardware\tools\avr\bin\avr-objcopy -O ihex -R .eeprom C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Codino1.cpp.elf C:\Users\PEDROF~1\AppData\Local\Temp\build8718295904879608709.tmp\Codino1.cpp.hex Binary sketch size: 138728 bytes (of a 258048 byte maximum)

AWOL: Did you try the "relax" option?

I don't understand how to use it... It seems that I have to change a config file... is that?

I'm using Arduino 23... perhaps Arduino 1.0 will fix it

What do you think?

I've installed Arduino 1.0.1 but problem remains...

Solved with Arduino 1.0.1 (on Arduino IDE), after correct some things because I've updated from Arduino 0023. But on VS2008, using Visual Micro I have the old errors

I seem to recall they added the relax option to that release.

Having the memory in the chip is one thing. Having a compiler that supports it is another. It looks like this can be achieved with the right compiler options, so, problem solved!