Hi,
probier mal Programino aus, ist deutlich stressfreier
www.programino.com
hallo allerseits,
folgendes problem:
ich bin nun soweit, dass codeblocks fehlerfrei meine sketches kompiliert, problem habe ich mit avrdude, der meldet mir unter codeblocks, dass alles gut gelaufen ist, löscht aber nur den atmega 2560, beschreibt ihn aber nicht. Ich habe hier zwei protokolle, eines von der arduino-IDE:
und hier das protokoll von avrdude unter codeblocks:Code:Der Sketch verwendet 8.692 Bytes (3%) des Programmspeicherplatzes. Das Maximum sind 253.952 Bytes.Globale Variablen verwenden 916 Bytes (11%) des dynamischen Speichers, 7.276 Bytes für lokale Variablen verbleiben. Das Maximum sind 8.192 Bytes. /opt/arduino-1.6.6/hardware/tools/avr/bin/avrdude -C/opt/arduino-1.6.6/hardware/tools/avr/etc/avrdude.conf -v -patmega2560 -cwiring -P/dev/ttyACM0 -b115200 -D -Uflash:w:/tmp/build77a11ba429c78c51a089b623d0df28fc.tmp/linien_folger_2_1.ino.hex:i avrdude: Version 6.0.1, compiled on Apr 14 2015 at 18:03:40 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.6/hardware/tools/avr/etc/avrdude.conf" User configuration file is "/home/georg/.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 : 173.7 us avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x1e9801 avrdude: reading input file "/tmp/build77a11ba429c78c51a089b623d0df28fc.tmp/linien_folger_2_1.ino.hex" avrdude: writing flash (8692 bytes): Writing | ################################################## | 100% 1.39s avrdude: 8692 bytes of flash written avrdude: verifying flash memory against /tmp/build77a11ba429c78c51a089b623d0df28fc.tmp/linien_folger_2_1.ino.hex: avrdude: load data flash data from input file /tmp/build77a11ba429c78c51a089b623d0df28fc.tmp/linien_folger_2_1.ino.hex: avrdude: input file /tmp/build77a11ba429c78c51a089b623d0df28fc.tmp/linien_folger_2_1.ino.hex contains 8692 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 1.04s avrdude: verifying ... avrdude: 8692 bytes of flash verified avrdude done. Thank you.
beim zweiten protokoll (codeblocks) wird gelöscht, der schreibvornang liesst sich im protokoll aber ganz anders als bei der arduino-IDE. Ich habe schon mit den avrdude parametern recht intensiv experimentiert, weiss aber nicht was da schiefläuft...Code:Launching tool 'avrdude-arduino': avrdude -c wiring -P /dev/ttyACM0 -v -b 115200 -p m2560 -C/opt/arduino-1.6.6/hardware/tools/avr/etc/avrdude.conf -Uflash:w:bin/Release/linien_folger_2_1.hex (in /home/georg/Arduino/workspace/linien_folger/linien_folger_2_1) stderr> stderr> avrdude: Version 6.0.1, compiled on Oct 21 2013 at 17:07:18 stderr> Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ stderr> Copyright (c) 2007-2009 Joerg Wunsch stderr> stderr> System wide configuration file is "/opt/arduino-1.6.6/hardware/tools/avr/etc/avrdude.conf" stderr> User configuration file is "/home/georg/.avrduderc" stderr> User configuration file does not exist or is not a regular file, skipping stderr> stderr> Using Port : /dev/ttyACM0 stderr> Using Programmer : wiring stderr> Overriding Baud Rate : 115200 stderr> AVR Part : ATmega2560 stderr> Chip Erase delay : 9000 us stderr> PAGEL : PD7 stderr> BS2 : PA0 stderr> RESET disposition : dedicated stderr> RETRY pulse : SCK stderr> serial program mode : yes stderr> parallel program mode : yes stderr> Timeout : 200 stderr> StabDelay : 100 stderr> CmdexeDelay : 25 stderr> SyncLoops : 32 stderr> ByteDelay : 0 stderr> PollIndex : 3 stderr> PollValue : 0x53 stderr> Memory Detail : stderr> stderr> Block Poll Page Polled stderr> Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack stderr> ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- stderr> eeprom 65 10 8 0 no 4096 8 0 9000 9000 0x00 0x00 stderr> flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00 stderr> lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 stderr> hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 stderr> efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 stderr> lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 stderr> calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 stderr> signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 stderr> stderr> Programmer Type : Wiring stderr> Description : Wiring stderr> Programmer Model: AVRISP stderr> Hardware Version: 15 stderr> Firmware Version Master : 2.10 stderr> Vtarget : 0.0 V stderr> SCK period : 104.2 us stderr> stderr> avrdude: AVR device initialized and ready to accept instructions stderr> stderr> Reading | ################################################## | 100% 0.01s stderr> stderr> avrdude: Device signature = 0x1e9801 stderr> avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed stderr> To disable this feature, specify the -D option. stderr> avrdude: erasing chip stderr> avrdude: reading input file "bin/Release/linien_folger_2_1.hex" stderr> avrdude: input file bin/Release/linien_folger_2_1.hex auto detected as Intel Hex stderr> avrdude: writing flash (5332 bytes): stderr> stderr> Writing | ####### stderr> ## stderr> ## stderr> ### stderr> ## stderr> ##### stderr> ##### stderr> ## stderr> ## stderr> ### stderr> ## stderr> ### stderr> ####### stderr> ##### | 100% 0.86s stderr> stderr> avrdude: 5332 bytes of flash written stderr> avrdude: verifying flash memory against bin/Release/linien_folger_2_1.hex: stderr> avrdude: load data flash data from input file bin/Release/linien_folger_2_1.hex: stderr> avrdude: input file bin/Release/linien_folger_2_1.hex auto detected as Intel Hex stderr> avrdude: input file bin/Release/linien_folger_2_1.hex contains 5332 bytes stderr> avrdude: reading on-chip flash data: stderr> stderr> Reading | ## stderr> ## stderr> ##### stderr> ## stderr> ### stderr> ## stderr> ### stderr> #### stderr> ### stderr> ####### stderr> ####### stderr> ####### stderr> ### | 100% 0.62s stderr> stderr> avrdude: verifying ... stderr> avrdude: 5332 bytes of flash verified stderr> stderr> avrdude done. Thank you. stderr> stderr> stdout> Tool execution terminated with status 0
bitte an die avrdude-experten - wo liegt das problem?
gruß inka
Hi,
probier mal Programino aus, ist deutlich stressfreier
www.programino.com
hi,
aus drei gründen ungeeignet:
- man muss es kaufen
- ist für windows
- wollte eigentlich nur eine IDE für arduino und RP6
gruß inka
Hallo Inka,
ich verwende avrdude um einen Arduino MEGA in Linux zu programmieren und es funktioniert einwandfrei mit folgendem Befehl:
```
avrdude -pm2560 -cstk500v2 -P /dev/ttyACM0 -b115200 -D -V -U flash:w:file.hex
```
Probiere den Befehl mal aus und ich schaue am Abend noch mal genauer drauf.
Gruß
Soweit sieht das log eigentlich gut aus. Ich denke der avrdude wird von deinem Build-Plugin im interactive-mode benutzt oder aber das -v (verbose), daher die andere Ausgabe.
Schau dir eventuell mal /opt/arduino-1.6.6/hardware/tools/avr/etc/avrdude.conf an, aber ich denke nicht, dass dort was im Argen liegt.
Benutzt du den avrdude aus einer IDE oder den deiner Distribution? Bei mir (Debian) funktioniert der aus den debian-repos problemlos mit wiring und m2560.
avrdude -c wiring -P /dev/ttyACM0 -v -b 115200 -p m2560 -C/opt/arduino-1.6.6/hardware/tools/avr/etc/avrdude.conf -Uflash:w:bin/Release/linien_folger_2_1.hex
Liest du den Chip nach dem schreiben aus oder woher weisst du, dass nicht geschrieben wurde? Lösche den Chip einmal, lies ihn aus. Beschreib ihn und lies ihn aus, dann Vergleiche.
avrdude -c wiring -P /dev/ttyACM0 -b 115200 -p m2560 -Uflash:r:readout.hex ---> eventuell -v anhängen und auf Ausgabe achten.
ein kleiner hexeditor (z.B. hexedit) zeigt die Dateien dann ordentlich an.
hallo,
ich hatte nicht mehr darauf gehofft, dass sich noch jemand melden würde, habe also meine versuche mit code::blocks nicht nur eingestellt, sondern entfernt
jetzt habe ich versucht meine bemühungen von damals wieder nachzuvollziehen, weiss nicht ob mir das gelungen ist. Die kompilierte datei ist eine andere (vor_und_zurueck_2.ino), liegt nach wie vor für die arduino-IDE und code:blocks in verschiedenen verzeichnissen damit sich die dateien und scripts nicht ins gehege kommen.
ich muss gestehen, dass ich so gut wie keine der meldungen verstehe. Das einzige was mir auffält ist die unterschiedliche größe der verfizierten flies: 13542 bytes (arduino IDE) und 5332 bytes (code::blocks) Vielleicht doch nicht ein problem des flashens, sondern der compiliervorgang von code::blocks? Auch wenn es keine fehlermeldungen, sondern "nur" warnungen gab...
Nach dem flashen über arduino-IDE läuft das programm, nach dem flaschen über code:blocks nicht - so viel zu meiner annahme, dass beim flashen etwas schiefläuft...
Ergebnis meiner neuen versuche:
Das hier ist das flashprotokoll der arduino IDE, es wird der arduino avrdude verwendet
Code:Der Sketch verwendet13.542 Bytes (5%) des Programmspeicherplatzes. Das Maximum sind253.952 Bytes. Globale Variablenverwenden 1.611 Bytes (19%) des dynamischen Speichers, 6.581 Bytes für lokale Variablen verbleiben. Das Maximum sind 8.192 Bytes. /opt/arduino-1.6.8/hardware/tools/avr/bin/avrdude-C/opt/arduino-1.6.8/hardware/tools/avr/etc/avrdude.conf -v-patmega2560 -cwiring -P/dev/ttyACM0 -b115200 -D-Uflash:w:/tmp/buildbe2f8020554fcc44f69ca57f89b02053.tmp/vor_und_zurueck_2.ino.hex:i avrdude: Version6.0.1, compiled on Apr 14 2015 at 18:03:40 Copyright(c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright(c) 2007-2009 Joerg Wunsch System wideconfiguration file is"/opt/arduino-1.6.8/hardware/tools/avr/etc/avrdude.conf" Userconfiguration file is "/home/georg/.avrduderc" Userconfiguration file does not exist or is not a regular file, skipping Using Port : /dev/ttyACM0 UsingProgrammer : wiring OverridingBaud Rate : 115200 AVR Part : ATmega2560 Chip Erasedelay : 9000 us PAGEL : PD7 BS2 : PA0 RESETdisposition : dedicated RETRY pulse : SCK serialprogram mode : yes parallelprogram mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 MemoryDetail : Block Poll Page Polled MemoryType Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ---------- --------- eeprom 65 10 8 0 no 4096 8 0 9000 9000 0x000x00 flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x000x00 lfuse 0 0 0 0 no 1 0 0 9000 9000 0x000x00 hfuse 0 0 0 0 no 1 0 0 9000 9000 0x000x00 efuse 0 0 0 0 no 1 0 0 9000 9000 0x000x00 lock 0 0 0 0 no 1 0 0 9000 9000 0x000x00 calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 0 0 0 0 0x000x00 ProgrammerType : Wiring Description : Wiring ProgrammerModel: AVRISP HardwareVersion: 15 FirmwareVersion Master : 2.10 Vtarget : 0.0 V SCK period : 173.7 us avrdude: AVR deviceinitialized and ready to accept instructions Reading |################################################## | 100% 0.01s avrdude: Devicesignature = 0x1e9801 avrdude: readinginput file"/tmp/buildbe2f8020554fcc44f69ca57f89b02053.tmp/vor_und_zurueck_2.ino.hex" avrdude: writingflash (13542 bytes): Writing |################################################## | 100% 2.17s avrdude: 13542 bytesof flash written avrdude: verifyingflash memory against/tmp/buildbe2f8020554fcc44f69ca57f89b02053.tmp/vor_und_zurueck_2.ino.hex: avrdude: load dataflash data from input file/tmp/buildbe2f8020554fcc44f69ca57f89b02053.tmp/vor_und_zurueck_2.ino.hex: avrdude: input file/tmp/buildbe2f8020554fcc44f69ca57f89b02053.tmp/vor_und_zurueck_2.ino.hexcontains 13542 bytes avrdude: readingon-chip flash data: Reading |################################################## | 100% 1.67s avrdude: verifying... avrdude: 13542 bytes of flash verified avrdude done. Thankyou.
das hier ist das kompiler protokoll von code::blocks:
Code:||=== Build: ArduinoMega 2560/ADK in vor_und_zurueck_2 (compiler: GNU AVR GCC Compiler)===| /home/georg/.codeblocks/arduino/hardware/arduino/cores/arduino/IPAddress.h||Inmember function 'IPAddress::operator uint32_t()':| /home/georg/.codeblocks/arduino/hardware/arduino/cores/arduino/IPAddress.h|51|warning:dereferencing type-punned pointer will break strict-aliasing rules[-Wstrict-aliasing]| /home/georg/.codeblocks/arduino/hardware/arduino/cores/arduino/IPAddress.h||Inmember function 'bool IPAddress::operator==(const IPAddress&)':| /home/georg/.codeblocks/arduino/hardware/arduino/cores/arduino/IPAddress.h|52|warning:dereferencing type-punned pointer will break strict-aliasing rules[-Wstrict-aliasing]| /home/georg/.codeblocks/arduino/hardware/arduino/cores/arduino/IPAddress.h|52|warning:dereferencing type-punned pointer will break strict-aliasing rules[-Wstrict-aliasing]| ||=== Buildfinished: 0 error(s), 3 warning(s) (0 minute(s), 2 second(s)) ===|
und hier das flashprotokol mit code::blocks:
Code:Launching tool'avrdude-ubuntu': avrdude -c wiring -P /dev/ttyACM0 -D -v -b 115200-p m2560 -C /etc/avrdude.conf-Uflash:w:bin/Release/vor_und_zurueck_2.hex (in/home/georg/Arduino/workspace/stepper_motor/hindernisse/vor_und_zurueck_2) stderr> stderr> avrdude:Version 6.1, compiled on Nov 23 2014 at 21:15:40 stderr> Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ stderr> Copyright (c) 2007-2014 Joerg Wunsch stderr> stderr> System wide configuration file is "/etc/avrdude.conf" stderr> User configuration file is "/home/georg/.avrduderc" stderr> User configuration file does not exist or is not a regular file,skipping stderr> stderr> Using Port : /dev/ttyACM0 stderr> Using Programmer : wiring stderr> Overriding Baud Rate : 115200 stderr> AVR Part : ATmega2560 stderr> Chip Erase delay : 9000 us stderr> PAGEL : PD7 stderr> BS2 : PA0 stderr> RESET disposition : dedicated stderr> RETRY pulse : SCK stderr> serial program mode : yes stderr> parallel program mode : yes stderr> Timeout : 200 stderr> StabDelay : 100 stderr> CmdexeDelay : 25 stderr> SyncLoops : 32 stderr> ByteDelay : 0 stderr> PollIndex : 3 stderr> PollValue : 0x53 stderr> Memory Detail : stderr> stderr> Block Poll Page Polled stderr> Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack stderr> ----------- ---- ----- ----- ---- ------ ------ ---- ------ ---------- --------- stderr> eeprom 65 10 8 0 no 4096 8 0 9000 9000 0x00 0x00 stderr> flash 65 10 256 0 yes 262144 256 1024 4500 4500 0x00 0x00 stderr> lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 stderr> hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 stderr> efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 stderr> lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 stderr> calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 stderr> signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 stderr> stderr> Programmer Type : Wiring stderr> Description : Wiring stderr> Programmer Model: AVRISP stderr> Hardware Version: 15 stderr> Firmware Version Master : 2.10 stderr> Vtarget : 0.0 V stderr> SCK period : 104.2 us stderr> stderr> avrdude:AVR device initialized and ready to accept instructions stderr> stderr> Reading |################################################## | 100% 0.01s stderr> stderr> avrdude:Device signature = 0x1e9801 stderr> avrdude:reading input file "bin/Release/vor_und_zurueck_2.hex" stderr> avrdude:input file bin/Release/vor_und_zurueck_2.hex auto detected as IntelHex stderr> avrdude:writing flash (5332 bytes): stderr> stderr> Writing |########### stderr> ##### stderr> ##### stderr> ## stderr> ##### stderr> ##### stderr> ####### stderr> ##### stderr> ##### |100% 0.86s stderr> stderr> avrdude:5332 bytes of flash written stderr> avrdude:verifying flash memory against bin/Release/vor_und_zurueck_2.hex: stderr> avrdude:load data flash data from input filebin/Release/vor_und_zurueck_2.hex: stderr> avrdude:input file bin/Release/vor_und_zurueck_2.hex auto detected as IntelHex stderr> avrdude:input file bin/Release/vor_und_zurueck_2.hex contains 5332 bytes stderr> avrdude:reading on-chip flash data: stderr> stderr> Reading |#### stderr> ##### stderr> ## stderr> ##### stderr> ### stderr> ####### stderr> ## stderr> ####### stderr> ####### stderr> ########| 100% 0.62s stderr> stderr> avrdude:verifying ... stderr> avrdude:5332 bytes of flash verified stderr> stderr> avrdudedone. Thank you. stderr> stderr> stdout> Tool executionterminated with status 0
gruß inka
Versuche mal ein ganz einfach Testprogramm, welches nur eine LED blinken lässt, vorzugsweise ganz einfach mit for(; und _delay_ms(). Genau den selben Code in einem neuen Projekt in beiden IDEs, wenn möglich.ich muss gestehen, dass ich so gut wie keine der meldungen verstehe. Das einzige was mir auffält ist die unterschiedliche größe der verfizierten flies: 13542 bytes (arduino IDE) und 5332 bytes (code::blocks) Vielleicht doch nicht ein problem des flashens, sondern der compiliervorgang von code::blocks? Auch wenn es keine fehlermeldungen, sondern "nur" warnungen gab...
avrdude von Hand zu bedienen mit den hex-Files kann auch ganz praktisch sein, oben schrieb ich ja schon zwei Beispiele. Wenn du mehr brauchst, kann ich mehr posten...
- - - Aktualisiert - - -
Versuche mal ein ganz einfach Testprogramm, welches nur eine LED blinken lässt, vorzugsweise ganz einfach mit for(; und _delay_ms(). Genau den selben Code in einem neuen Projekt in beiden IDEs, wenn möglich.ich muss gestehen, dass ich so gut wie keine der meldungen verstehe. Das einzige was mir auffält ist die unterschiedliche größe der verfizierten flies: 13542 bytes (arduino IDE) und 5332 bytes (code::blocks) Vielleicht doch nicht ein problem des flashens, sondern der compiliervorgang von code::blocks? Auch wenn es keine fehlermeldungen, sondern "nur" warnungen gab...
avrdude von Hand zu bedienen mit den hex-Files kann auch ganz praktisch sein, oben schrieb ich ja schon zwei Beispiele. Wenn du mehr brauchst, kann ich mehr posten...
Lesezeichen