Offline
Newbie
Karma: 0
Posts: 9
|
 |
« on: January 10, 2013, 04:17:23 pm » |
Hallo zusammen, ich habe zwei Arduino UNOs wie in folgendem Beispiel miteinander verbunden: http://arduino.cc/en/Tutorial/ArduinoISPNun versuche ich auf den einen UNO den Bootloader"ATmega328 on a breadboard (8MHz internal clock)" zu brennen. Leider kommt immer folgende Fehlermeldung: avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check. Gooogle sagt mir, dass es oft Probleme gibt, wenn der falsche ATmega verwendet wird, z.B. 328 anstatt 328P. Das kann ich aber ausschließen. Hat jemand eine Idee was hier falsch läuft? Beide UNOs funktionieren einzeln, ich kann auf beide Sketche hoch laden. Ich bin langsam ratlos.
|
|
|
|
|
Logged
|
|
|
|
|
|
|
Forum Moderator
BZ (I)
Offline
Brattain Member
Karma: 162
Posts: 15731
+39 349 2158303
|
 |
« Reply #2 on: January 10, 2013, 05:02:50 pm » |
Ja Mario, dieses Phänomen habe ich auch bereits bemerkt, daß gleiche Probleme Grüppchenweise auftauchen. Grüße Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 18
Posts: 1297
|
 |
« Reply #3 on: January 10, 2013, 05:11:44 pm » |
<IRONY TYPE="SELF-IRONIC"> Ich glaube wir stehen kurz davor ein grundlegendes Prinzip zu entdecken, wie wir die Welt beherrschen können.  Man kann offensichtlich Gruppen von Leuten mittels Arduino im speziellen und µCs im allgemeinen dazu bringen gleiche oder ähnliche Dinge zu tun. Nennen wir es einfach mal ABC-Waffe  ( Arduino Brain Controller) </IRONIE> Und ich schau jetzt noch ne Folge "Pinky und Brain" und gehe dann schlafen. Mal sehen was wir morgen so anstellen ... *narf*
|
|
|
|
« Last Edit: January 10, 2013, 05:14:51 pm by mkl0815 »
|
Logged
|
|
|
|
|
Forum Moderator
BZ (I)
Offline
Brattain Member
Karma: 162
Posts: 15731
+39 349 2158303
|
 |
« Reply #4 on: January 10, 2013, 06:14:32 pm » |
Gute Nacht und Süße Träume.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 9
|
 |
« Reply #5 on: January 11, 2013, 06:05:40 am » |
Da habt Ihr mich wohl falsch verstanden. Ich habe den ATmega328P. Es ist der richtige Chip. Die Hinweise zum Atmega328 habe ich ja auch gefunden, ich suche schon seit drei Tagen per Google nach der Lösung zu meinem Problem. Wäre es der 328 ohne P, würde er mir in der Fehlermeldung ja auch die falsche Signatur anzeigen. Bei mir zeigt er aber keine Signatur an, wie wenn er den Chip gar nicht finden würde. Hat jemand noch irgend eine Idee?
Grüße,
Sven
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 18
Posts: 1297
|
 |
« Reply #6 on: January 11, 2013, 07:10:38 am » |
Hmm, das war aus Deinem ersten Post aber nicht wirklich ersichtlich. Denn Du schreibst ja selbst: Nun versuche ich auf den einen UNO den Bootloader"ATmega328 on a breadboard (8MHz internal clock)" zu brennen. Und da steht nix von einem "P". Poste doch mal die genaue und vollständige Fehlermeldung die avrdude ausspuckt. Das sich das Tool über die Signatur beschwert, scheint der Chip ja wniegstens ansprechbar zu sein. Hast Du auch die folgenden beiden Hinweise im Tutorial beachtet? Note for Arduino 1.0: you need to make one small change to the ArduinoISP code. Find the line in the heartbeat() function that says "delay(40);" and change it to "delay(20);". Note for the Arduino Uno: you'll need to add a 10 uF capacitor between reset and ground.
|
|
|
|
|
Logged
|
|
|
|
|
Germany
Online
Edison Member
Karma: 33
Posts: 1796
Arduino rocks
|
 |
« Reply #7 on: January 11, 2013, 07:32:45 am » |
Zumindest solltest du uns die ausgelesene Signatur verraten. Wenn er nicht die des erwarteten Mikrocontrolers liefert, wäre das der erste Ansatzpunkt zur Problemlösung.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 9
|
 |
« Reply #8 on: January 11, 2013, 08:03:18 am » |
Die komplette Fehlermeldung habe ich gepostet. Das ist der komplette Output der Arduino IDE:
avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.
Leider wird keine Signatur angezeigt. Das oben in den anführungszeichen ATmega328 ohne P steht, liegt daran, dass der Bootloader so heist, nicht der Chip. Deshalb habe ich das ganze in Anführungszeichen gesetzt. Sorry wenn das oben Missverständlich formuliert war. Beide Tipps von oben sind so befolgt. Sowohl der Kondensator zwischen Reset und Ground, als auch die delay.
|
|
|
|
|
Logged
|
|
|
|
|
Germany
Online
Edison Member
Karma: 33
Posts: 1796
Arduino rocks
|
 |
« Reply #9 on: January 11, 2013, 08:16:37 am » |
Könntest du in den Einstellungen (File-Preferences) ein Häkchen bei "Show verbose output during compilation" und "upload" setzen und die Fehlermeldung posten? Vielleicht wird in dem Fall was zur Signatur angezeigt.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 9
|
 |
« Reply #10 on: January 11, 2013, 11:14:21 am » |
Hier die Ausgabe im verbose mode. Die Einstellung kannte ich übrigens noch nicht, danke. /home/sven/Arbeitsfläche/arduino-1.0.1/hardware/tools/avrdude -C/home/sven/Arbeitsfläche/arduino-1.0.1/hardware/tools/avrdude.conf -v -v -v -v -patmega328p -cstk500v1 -P/dev/ttyACM0 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x05:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xE2:m
avrdude: Version 5.11, compiled on Sep 7 2011 at 19:34:16 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/home/sven/Arbeitsfläche/arduino-1.0.1/hardware/tools/avrdude.conf" User configuration file is "/home/sven/.avrduderc" User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/ttyACM0 Using Programmer : stk500v1 Overriding Baud Rate : 19200 avrdude: Send: 0 [30] [20] avrdude: Send: 0 [30] [20] avrdude: Send: 0 [30] [20] avrdude: Recv: . [14] avrdude: Recv: . [10] AVR Part : ATMEGA328P Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PC2 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 20 4 0 no 1024 4 0 3600 3600 0xff 0xff Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500 Description : Atmel STK500 Version 1.x firmware avrdude: Send: A [41] . [80] [20] avrdude: Recv: . [14] avrdude: Recv: . [03] avrdude: Recv: . [10] avrdude: Send: A [41] . [81] [20] avrdude: Recv: . [14] avrdude: Recv: . [05] avrdude: Recv: . [10] avrdude: Send: A [41] . [82] [20] avrdude: Recv: . [14] avrdude: Recv: . [05] avrdude: Recv: . [10] avrdude: Send: A [41] . [98] [20] avrdude: Recv: . [14] avrdude: Recv: . [03] avrdude: Recv: . [10] Hardware Version: 3 Firmware Version: 5.5 avrdude: Send: A [41] . [84] [20] avrdude: Recv: . [14] avrdude: Recv: . [03] avrdude: Recv: . [10] avrdude: Send: A [41] . [85] [20] avrdude: Recv: . [14] avrdude: Recv: . [03] avrdude: Recv: . [10] avrdude: Send: A [41] . [86] [20] avrdude: Recv: . [14] avrdude: Recv: . [03] avrdude: Recv: . [10] avrdude: Send: A [41] . [87] [20] avrdude: Recv: . [14] avrdude: Recv: . [03] avrdude: Recv: . [10] avrdude: Send: A [41] . [89] [20] avrdude: Recv: . [14] avrdude: Recv: . [03] avrdude: Recv: . [10] Vtarget : 0.3 V Varef : 0.3 V Oscillator : 28.800 kHz SCK period : 3.3 us
avrdude: Send: A [41] . [81] [20] avrdude: Recv: . [14] avrdude: Recv: . [05] avrdude: Recv: . [10] avrdude: Send: A [41] . [82] [20] avrdude: Recv: . [14] avrdude: Recv: . [05] avrdude: Recv: . [10] avrdude: Send: B [42] . [86] . [00] . [00] . [01] . [01] . [01] . [01] . [03] . [ff] . [ff] . [ff] . [ff] . [00] . [80] . [04] . [00] . [00] . [00] . [80] . [00] [20] avrdude: Recv: . [14] avrdude: Recv: . [10] avrdude: Send: E [45] . [05] . [04] . [d7] . [c2] . [00] [20] avrdude: Recv: . [14] avrdude: Recv: . [10] avrdude: Send: P [50] [20] avrdude: Recv: . [14] avrdude: Recv: . [10] avrdude: AVR device initialized and ready to accept instructions
Reading | avrdude: Send: V [56] 0 [30] . [00] . [00] . [00] [20] avrdude: Recv: . [14] avrdude: Recv: . [00] avrdude: Recv: . [10] avrdude: Send: V [56] 0 [30] . [00] . [01] . [00] [20] avrdude: Recv: . [14] avrdude: Recv: . [00] avrdude: Recv: . [10] ################avrdude: Send: V [56] 0 [30] . [00] . [02] . [00] [20] avrdude: Recv: . [14] avrdude: Recv: . [00] avrdude: Recv: . [10] ################################## | 100% 0.02s
avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.
avrdude: Send: Q [51] [20] avrdude: Recv: . [14] avrdude: Recv: . [10]
avrdude done. Thank you.
Die Signatur 0x000000 sagt doch, dass er gar nichts findet, oder? Ich verstehe das gerade nicht, da ich alle Verbindungen überprüft habe. Es wird für mich gerade immer undurchsichtiger.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Edison Member
Karma: 18
Posts: 1297
|
 |
« Reply #11 on: January 11, 2013, 11:18:38 am » |
Hmm, evtl. hilft ja folgender Link schon weiter: http://www.mikrocontroller.net/topic/274208Hast Du mal versucht direkt mit avrdude nur die FUSES auszulesen? Woher stammt denn der ATMEGA328P der programmiert werden soll?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 9
|
 |
« Reply #12 on: January 11, 2013, 11:28:08 am » |
Das Auslesen werde ich mal versuchen. Da muss ich vorher noch etwas man Pages lesen. Im Arduino als ISP ist ein ATmega328P von Watterott mit Arduino Bootloader, da der originale Chip gegrillt wurde. Im zu brennenden Arduino ist ein originaler Arduino UNO Atmega328P drin. Also beide eigentlich auf 16MHz. Ich gehe mal lesen, und mache mich schlau, wie man die Fuses ausliest.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 9
|
 |
« Reply #13 on: January 11, 2013, 11:51:08 am » |
Nochmal eine kurze Frage am Rande. Der Kondensator muss am Reset Pin des ISP angeschlossen werden, oder?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 9
|
 |
« Reply #14 on: January 14, 2013, 05:09:11 pm » |
Jetzt habe ich einmal versucht die Fuses auszulesen. Leider mit wenig Erfolg. Ich habe versucht mit folgendem Befehl das High Fuse Byte auszulesen: avrdude -c arduino -p ATMEGA328P -P /dev/ttyACM0 -b 19200 -U lfuse:r:low:b Da bekomme ich dann auch 0b0 als Ergebnis. Da ja aber der ISP und der zu Programmierende Chip 328p sind weiß ich nicht, ob er jetzt den ISP ausgelesen hat, oder den zu programmierenden Chip. Also habe ich den zu programmierenden ausgetauscht, durch einen ATmega8. Den obigen Befehl umgebaut auf: avrdude -c arduino -p m8 -P /dev/ttyACM0 -b 19200 -U lfuse:r:low:b Dann kommt die Fehlermeldung: avrdude: Device signature = 0x1e950f avrdude: Expected signature for ATMEGA8 is 1E 93 07 Double check chip, or use -F to override this check.
avrdude done. Thank you.
Wenn ich versuche einen Bootloader auf den ATmega8 zu flaschen, dann kommt wieder die obige Fehlermeldung mit Device Signature 0x000000 Mir kommt es so vor, wie wenn ich nur den ISP sehe, und nicht der Chip der programmiert werden soll. Die Verkabelung habe ich schon mehrmals überprüft, und gewechselt. Hat noch irgend jemand eine Idee wo der Fehler liegen könnte? Oder muss ich mir ein Programmiergerät kaufen? Grüße, Sven
|
|
|
|
|
Logged
|
|
|
|
|
|