avrdude: Device signature = 0x000000

Gast #3004557
Lesenswert?
• ▲
▼
Hallo Leute,

ich steh hier irgendwie total am Schlauch: Habe 10 Prototypen Platinen 
vor mir, mittlerweile sieben davon bestückt aber ich kann nur eine mit 
Code bespielen.

Alle haben einen Atmega328P-AU, 16MHz Quarz und ich programmiere mit 
einem AVR ISP MKII. Bei sechs von den Boards bekomm ich
1
avrdude: AVR device initialized and ready to accept instructions
2

3
Reading | ################################################## | 100% 0.01s
4

5
avrdude: Device signature = 0x000000
6
avrdude: Yikes!  Invalid device signature.
7
         Double check connections and try again, or use -F to override
8
         this check.
9

10

11
avrdude done.  Thank you.

zurück, alle Boards sind aber selbstverständlich identisch. Woran kann 
denn das liegen? Ich komm nicht dahinter....

Vielen Dank!
Gast #3004764
Lesenswert?
• ▲
▼
Na, ich denke :) Jedenfalls kann ich mit der -B10 Option programmieren, 
wie mir lustig ist. Dauert ein kleines bisschen länger, aber immer noch 
besser als 7 Platinen in die Tonne zu treten.

Liegt das am Ende am Quarz?
Moderator Persönliche Seite #3004791
Lesenswert?
• ▲
▼
Christian schrieb:
> Liegt das am Ende am Quarz?

Nö, den hast du zu diesem Zeitpunkt ja noch gar nicht aktiviert.

Normal sollten im Auslieferungszustand (wenn er mit dem internen
RC-Oszillator auf ~ 1 MHz läuft) auch -B5 erfolgreich sein.  Wenn
allerdings die Leitungsführung noch Reflektionen mit einbringt,
dann hilft es, den Takt weiter herab zu setzen.

Wenn das mit -B5 sauber funktioniert, dann kannst du aber auch als
allererstes deinen 16-MHz-Quarz in Betrieb nehmen und den clock
prescaler von 8 ausschalten.  Je nach Szenario, wäre das für den
full-swing crystal oscillator mit worst-case-Annahmen

avrdude ... -U lfuse:w:0xf7:m

oder für den low-power oscillator mit fast rising power

avrdude ... -U lfuse:w:0xef:m

Danach solltest du deutlich schneller arbeiten können, bspw. mit
-B0.5 für 2 MHz.  4 MHz zu benutzen, ist sehr "auf Kante", wenn
der Quarz nur geringfügig unter 16 MHz liegt und/oder das AVRISPmkII
geringfügig über 4 MHz, dann geht das irgendwann schief.
Gast #3005380
Lesenswert?
• ▲
▼
Jörg Wunsch schrieb:
> avrdude ... -U lfuse:w:0xef:m

Oh wow, das erklärt jetzt komplett alles. Deswegen war ich nämlich am 
Anfang bei zwei Platinen erfolgreich, ein erstes Programm aufzuspielen. 
Ich hatte der Einfachheit halber einfach im Ordner meines letzten 
Projektes den dortigen hex-File mitsamt konfigurierter avrdude 
Kommandozeile genommen. Und der beinhaltet genau die Fuse, die ich 
zitiert habe.
Danach habe ich erstmal von der Arduino IDE aus gearbeitet, ab dann 
konnt ich nix mehr programmieren. Höchstinteressant.

Wo kann ich mehr über Reflektionen in Leiterbahnen lesen?

1000 Dank noch einmal, die Prototypen sind jetzt fertig :D

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.