TimeOut Error beim Hochladen bei ca. 95% "writing" unter 1.6.4

Hallo,

mein Code (aus Lernzweck selbst gebastelter Task Scheuleder mit einfach verketteter Liste, als Klasse vorbereitet) kompiliert fehlerfrei, aber beim Hochladen bricht „writing“ nach ca. 95% mit Timeout Fehlermeldung ab(s.u.).

Hochladen eines z.B. leeren Sketches geht ohne Fehler. Das Board hat bis her auch ohne Fehler funktioniert.

Arduino MEGA2560, Arduino 1.6.4 unter Ubuntu 14.04LTS

.ino File: _150702_evListe_V007b.ino
.h File: myHelpers.h

Wo liegt der Fehler? Vielen Dank!

Fehlermeldung:

/opt/arduino-1.6.4/hardware/tools/avr/bin/avr-g++ -c -g -Os -Wall -Wextra -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10604 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I/opt/arduino-1.6.4/hardware/arduino/avr/cores/arduino -I/opt/arduino-1.6.4/hardware/arduino/avr/variants/mega /tmp/build950039523855506353.tmp/_150702_evListe_V007b.cpp -o /tmp/build950039523855506353.tmp/_150702_evListe_V007b.cpp.o 
_150702_evListe_V007b.ino:82:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
_150702_evListe_V007b.ino:268:3: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
_150702_evListe_V007b.ino:284:6: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
_150702_evListe_V007b.ino:96:7: warning: unused parameter 'first_delay' [-Wunused-parameter]
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/wiring_pulse.c.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/wiring.c.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/wiring_analog.c.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/WInterrupts.c.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/wiring_digital.c.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/hooks.c.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/wiring_shift.c.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/Stream.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/WMath.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/Print.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/HardwareSerial3.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/HardwareSerial1.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/HardwareSerial0.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/CDC.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/HardwareSerial2.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/WString.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/abi.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/HardwareSerial.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/Tone.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/IPAddress.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/HID.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/main.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/new.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/USBCore.cpp.o
Verwende die zuvor kompilierte Datei: /tmp/build950039523855506353.tmp/core.a
/opt/arduino-1.6.4/hardware/tools/avr/bin/avr-gcc -Wall -Wextra -Os -Wl,--gc-sections,--relax -mmcu=atmega2560 -o /tmp/build950039523855506353.tmp/_150702_evListe_V007b.cpp.elf /tmp/build950039523855506353.tmp/_150702_evListe_V007b.cpp.o /tmp/build950039523855506353.tmp/core.a -L/tmp/build950039523855506353.tmp -lm 
/opt/arduino-1.6.4/hardware/tools/avr/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /tmp/build950039523855506353.tmp/_150702_evListe_V007b.cpp.elf /tmp/build950039523855506353.tmp/_150702_evListe_V007b.cpp.eep 
/opt/arduino-1.6.4/hardware/tools/avr/bin/avr-objcopy -O ihex -R .eeprom /tmp/build950039523855506353.tmp/_150702_evListe_V007b.cpp.elf /tmp/build950039523855506353.tmp/_150702_evListe_V007b.cpp.hex 

Der Sketch verwendet 8.938 Bytes (3%) des Programmspeicherplatzes. Das Maximum sind 253.952 Bytes.
Globale Variablen verwenden 319 Bytes (3%) des dynamischen Speichers, 7.873 Bytes für lokale Variablen verbleiben. Das Maximum sind 8.192 Bytes.
/opt/arduino-1.6.4/hardware/tools/avr/bin/avrdude -C/opt/arduino-1.6.4/hardware/tools/avr/etc/avrdude.conf -v -patmega2560 -cwiring -P/dev/ttyACM0 -b115200 -D -Uflash:w:/tmp/build950039523855506353.tmp/_150702_evListe_V007b.cpp.hex:i 

avrdude: Version 6.0.1, compiled on Apr 14 2015 at 19:04:16
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/opt/arduino-1.6.4/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/home/jose/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyACM0
         Using Programmer              : wiring
         Overriding Baud Rate          : 115200
         AVR Part                      : ATmega2560
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10     8    0 no       4096    8      0  9000  9000 0x00 0x00
           flash         65    10   256    0 yes    262144  256   1024  4500  4500 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Wiring
         Description     : Wiring
         Programmer Model: AVRISP
         Hardware Version: 15
         Firmware Version Master : 2.10
         Vtarget         : 0.0 V
         SCK period      : 71.7 us

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9801
avrdude: reading input file "/tmp/build950039523855506353.tmp/_150702_evListe_V007b.cpp.hex"
avrdude: writing flash (8938 bytes):

Writing | ################################################avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout

_150702_evListe_V007b.ino (15.7 KB)

myHelpers.h (4.33 KB)

jim_beam:
Wo liegt der Fehler?

Dein Fehler dürfte bei der Zeichensetzung liegen.

str = "OVER-SLEEPED !!!!!!!";

Reduziere die Anzahl der Ausrufungszeichen mal versuchsweise auf WENIGER ALS DREI in Folge!

Aus irgendwelchen Gründen sind MEGA2560 Boards mit einem Bootloader in Umlauf, die auf drei oder mehr Ausrufungszeichen in Folge extrem allergisch reagieren und sich dann weigern, den Sketch auf das MEGA2560-Board zu laden.

Andere Möglichkeiten wären: Upload mit ISP-Programmer. Oder zuerst einen aktualisierter Bootloader auf dem Controller installieren, wenn der Upload über den seriellen Bootloader erfolgen soll.

Die drei Ausrufezeichen versetzten den Bootloader in einen Debug/Diagnose-Modus, der dann auf andere Eingaben wartet die nie kommen.

"over-sleeped" ist übrigens auch grammatikalisch falsch :wink:

Tausend Dank, das war's! :slight_smile:
Und jetzt wo ich wieder drauf stoße, fällt mir ein, dass ich schon mal über diesen Fehler gestolpert war. :confused:

Serenifly:
"over-sleeped" ist übrigens auch grammatikalisch falsch :wink:

Vielen Dank für den Hinweis. Als anerkannter Legastheniker ist es für mich "ausreichend" ::slight_smile:

Gut zu wisen soetwas.

Hallo,

so nebenbei gefragt. Wo bekommt man einen aktuellen Bootloader her? Ist der in der IDE enthalten? Also neueste IDE hat immer den aktuellen dabei?

guckst du in arduino-xxx\hardware\arduino\avr\boards.txt siehst du beim MEGA 2560 die Zeile

mega.menu.cpu.atmega2560.bootloader.file=stk500v2/stk500boot_v2_mega2560.hex

und in arduino-xxx\hardware\arduino\avr\bootloaders\stk500v2 findest du gleich 2 fertig übersetzte und die Quellen zum selber compilieren…

( xxx ist bei mir noch 1.6.1 )

Hallo,

also ist die immer in der IDE dabei. Dachte die muß man erst wo runterladen. Danke für die Info. Könnte man ja mal gebrauchen ... :slight_smile:

Hallo,

die Bootloaderdatei ist doch von 2011 !!! Horn alt. Ist das wirklich die aktuelle fehlerfreie?