Hallo, ich habe gerade zum ersten mal eine Platine selber mit einem Atmega328P und einen 8MHZ quarz erstellt. Der Controller läuft mit 3,3V Jetzt habe ich mit avrdude die fuses ausgelesen avrdude -c stk500v2 -P com7 -p m328p -n -v und folgendes erhalten System wide configuration file is "H:\Apps\AVRdude\avrdude.conf" Using Port : com7 Using Programmer : stk500v2 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 flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 lock 0 0 0 0 no 1 0 0 4500 4500 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 : STK500V2 Description : Atmel STK500 Version 2.x firmware Programmer Model: STK500 Hardware Version: 10 Firmware Version Master : 2.10 avrdude: stk500v2_command(): command failed avrdude: stk500v2_getparm(): failed to get parameter 0x9a Topcard : Unknown Vtarget : 5.0 V SCK period : 17.4 us Varef : 5.0 V Oscillator : Off avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.03s avrdude: Device signature = 0x1e95ff avrdude: Expected signature for ATmega328P is 1E 95 0F Double check chip, or use -F to override this check. avrdude done. Thank you. Wovon ist die signatur 0x1e95ff? Erwartet wurde ja 0x1e950f Da er aber eine Signatur bekommen hat, ist die Verbindung richtig? Oder holt der sich diese irgendwo anders her? und woran kann es liegen, dass zwischendrinn was failt? avrdude: stk500v2_command(): command failed avrdude: stk500v2_getparm(): failed to get parameter 0x9a Habe die Platine durchgemssen. Verbindungen und Spannung ist überall da.
Johannes schrieb: > avrdude: Device signature = 0x1e95ff > avrdude: Expected signature for ATmega328P is 1E 95 0F > Wovon ist die signatur 0x1e95ff? Wackelkontakt/miese Lötstelle. > Da er aber eine Signatur bekommen hat, ist die Verbindung richtig? Ja, sehr wahrscheinlich, da zumindest Teile erwartungsgemäß sind. > und woran kann es liegen, dass zwischendrinn was failt? Wenn Wackelkontakt, dann wirkt der natürlich nicht nur beim Auslesen der Device-ID.
Ist die id immer gleich? Falls ja, ist es ein sehr beständiger Wackelkontakt.
Christian H. schrieb: > Ist die id immer gleich? Nein, die ist immer unterschiedlich. Auch die Meldung ist unterschiedlich (meistens jedoch eine andere Id) Manchmal erhalte ich auch avrdude: Device signature = 0x1e950f avrdude: safemode: Verify error - unable to read lfuse properly. Programmer may not be reliable. avrdude: safemode: To protect your AVR the programming will be aborted oder avrdude: stk500v2_command(): command failed avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check.
Johannes schrieb: > Double check connections and try again, Glaube das! Prüfe Verkabelung und Versorgung. Könnte auch ein grenzwertiger Takt sein Avrdude kennt den -B Parameter
Arduino Fanboy D. schrieb: > Könnte auch ein grenzwertiger Takt sein Eher unwahrscheinlich, das sieht dann anders aus. Da sind dann höchstens einzelne Bits gekippt und dann die die nachfolgenden verschoben. Kommt aber auch vor, dass nur Verschiebungen zu sehen sind, wenn halt das ausgelassene Bit mitten in einer Folge gleicher Bits liegt.
Johannes schrieb: > ich habe gerade zum ersten mal eine Platine selber mit einem Atmega328P > und einen 8MHZ quarz erstellt. Zeig die doch mal her. Fehlende Abblockkondensatoren? Schlechte GND-Führung?
Arduino Fanboy D. schrieb: > Könnte auch ein grenzwertiger Takt sein > Avrdude kennt den -B Parameter Ja, das war es. habe einmal mit -B 200 gemacht, dann hat er es gefunden und ich kann auch immer flashen.
Johannes schrieb: > habe einmal mit -B 200 gemacht, dann hat er es gefunden und ich kann > auch immer flashen. Dann hast du nachweislich einen ziemlich beschissenen Programmer.
c-hater schrieb: > Dann hast du nachweislich einen ziemlich beschissenen Programmer. Oder einen schlechten Aufbau.
Johannes schrieb: > habe einmal mit -B 200 gemacht, dann hat er es gefunden Hast Du auch einmal kleinere Werte, z.B. -B 10, ausprobiert oder geht es nur ab -B 200?
Alexander S. schrieb: > Hast Du auch einmal kleinere Werte, z.B. -B 10, ausprobiert oder geht es > nur ab -B 200? Ja, mit -B 10 geht es auch. Jetzt geht es auch komplett ohne -B (auch nach neustart). Wird da irgendwie der letzte Wert irgendwo gespeichert?
Beitrag #6317972 wurde von einem Moderator gelöscht.
Johannes schrieb: > Wird da irgendwie der letzte Wert irgendwo gespeichert? Ja, wenn es ein originaler STK500 ist, wird der Wert gespeichert. Wenn du durch das Setzen der Fuses im AVR einen schnelleren Takt produzierst als vorher (bspw. durch Löschen der CKDIV8-Fuse), dann kannst du danach auch mit einem schnelleren ISP-Takt arbeiten. Käme als potenzielle Ursache auch in Frage.
Beitrag #6318001 wurde von einem Moderator gelöscht.
Beitrag #6318003 wurde von einem Moderator gelöscht.
Beitrag #6318005 wurde von einem Moderator gelöscht.
Beitrag #6318006 wurde von einem Moderator gelöscht.
Beitrag #6318025 wurde von einem Moderator gelöscht.
Beitrag #6318026 wurde von einem Moderator gelöscht.
Beitrag #6318027 wurde von einem Moderator gelöscht.
Beitrag #6318028 wurde von einem Moderator gelöscht.
Hallo Johannes schrieb: > und folgendes erhalten > System wide configuration file is "H:\Apps\AVRdude\avrdude.conf" > > Using Port : com7 > Using Programmer : stk500v2 > AVR Part : ATmega328P > Chip Erase delay : 9000 us > PAGEL : PD7 ... Wo kann ich eigentlich Nachschauen was alle diese Ausgaben bedeuten? Manches ist ja mehr oder weniger selbsterklärend, vieles aber nicht bzw. wäre es interessant zu wissen warum bestimmte Werte "gewählt" wurden? Google findet zumindest mit "Erklärung AVRDude Ausgabe" und ähnlichen Suchbegriffen nicht wirklich was brauchbares. Neugieriger
Neugieriger schrieb: > Manches ist ja mehr oder weniger selbsterklärend, vieles aber nicht bzw. > wäre es interessant zu wissen warum bestimmte Werte "gewählt" wurden? Die kommen, sofern es nicht voreingestellte Werte sind, aus der avrdude.conf.
Beitrag #6318063 wurde von einem Moderator gelöscht.
Beitrag #6318064 wurde von einem Moderator gelöscht.
Beitrag #6318065 wurde von einem Moderator gelöscht.
Hallo Jörg W. schrieb: > Die kommen, sofern es nicht voreingestellte Werte sind, aus der > avrdude.conf. Danke Aber auch die Werte wurden ja nicht ausgewürfelt oder sind vom "Himmel gefallen" sondern haben ihre Ursache. Und die ist wohl im Datenblatt des jeweiligen µC (Meist wohl ein AVR) hinterlegt - aber wo? Irgendwelche Pin Zuordnungen wie PAGEL und PC2 ist ja recht leicht erkennbar und für "unsereins" ;-) hoffentlich klar. Aber woher "kommen" denn die Werte für z.B. Chip Erase Delay - überhaupt die ganzen delays - wo finde ich das im Datenblatt (auch des ursprünglichen Programmers STK500?). Unter den diversen Loops kann ich mir gar nichts vorstellen - außer das es halt irgendwelche Schleifen sind was letztendlich soviel aussagt als das es tagsüber Hell ist, was nur für einen andauernden Höhlenbewohner eine Neuigkeit wäre - wir hier sind aber (hoffentlich) keine Höhlenbewohner ;-)
Johannes schrieb: > Alexander S. schrieb: >> Hast Du auch einmal kleinere Werte, z.B. -B 10, ausprobiert oder geht es >> nur ab -B 200? > > Ja, mit -B 10 geht es auch. > Jetzt geht es auch komplett ohne -B (auch nach neustart). > Wird da irgendwie der letzte Wert irgendwo gespeichert? Ich behaupte jetzt einfach mal, daß Du einen neuen AVR hattest, der noch auf 1MHz int RC gefust war. Hier braucht es -B, damit der dude nicht zu schnell flasht. Da der fuse jetzt vermutlich auf den Quarz steht, ist der AVR jetzt schnell genug zum flashen ohne -B. Neugieriger schrieb: > Wo kann ich eigentlich Nachschauen was alle diese Ausgaben bedeuten? Im Manual z.B.? http://download-mirror.savannah.gnu.org/releases/avrdude/avrdude-doc-6.3.pdf
:
Bearbeitet durch User
Andreas B. schrieb: > Ich behaupte jetzt einfach mal, daß Du einen neuen AVR hattest, der noch > auf 1MHz int RC gefust war. Ja, der war auch neu Andreas B. schrieb: > Hier braucht es -B, damit der dude nicht zu schnell flasht. > Da der fuse jetzt vermutlich auf den Quarz steht, ist der AVR jetzt > schnell genug zum flashen ohne -B. OK, nett zu wissen :) Danke
Neugieriger schrieb: > Aber auch die Werte wurden ja nicht ausgewürfelt oder sind vom "Himmel > gefallen" sondern haben ihre Ursache. In vielen Fälllen sind das Werte, die für avrdude "opaque" sind, da er sie 1:1 an die Firmware von STK500 & Co weiterreicht. Sie stammen aus den Atmel-XML-Dateien – wo auch die Atmel-Studio-Tools sie her nehmen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.