Forum: Mikrocontroller und Digitale Elektronik avrdude probleme


von Mark (Gast)


Lesenswert?

Hallo, ich habe ein (evtl.) großes Problem (zumindestens ist es für mich 
groß) und daher hoffe ich hier hilfe zu bekommen.
Ich habe einen Attiny45 und eine Diamex-Prog-S, mit dem ich meinen Code 
immer auf den Controller gemacht habe. Das hat auch immer funktioniert. 
Allerdings ist dieses immer jetzt vorbei. Seit heute bekomme ich 
folgende Fehlermeldungen

avrdude: stk500v2_comman<>: command failed
avrdude: initialization failed, rc=-1
         Double check connections and try again or use -F to override 
this
         check

avrdude done. Thank you.

Diese Fehlermeldung, sowie google sagt mir, dass die verbindung falsch 
ist. Diese habe ich aber schon mitlerweile öfters kontrolliert und die 
sind korrekt.

woran könnte es noch liegen?

Mark

Ps.: im command window tippe ich ein:
avrdude -c STK500v2 -p t45 -P COM5 -B 9 -U flash:w:test.hex

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Das erste, was du klären solltest: reagiert dein Programmer gar nicht
mehr, oder klemmt die Verbindung zwischen Programmer und Ziel-AVR?

Setze mal -vvvv (viermal -v) zu den Optionen hinzu, dann siehst du die
komplette Kommunikation.

von Mark (Gast)


Lesenswert?

Als Antwort bekomme ich sehr viele zeilen, die mir ehrlich nicht viel 
sagen
Im unteren bereich kommt auch zwei mal
avrdude: stk500v2_command(): command failed
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

allerdings sehe ich auch
avrdude: stk500v2_getsync(): found STK500 programmer

Also eigentlich müsste der noch funktionstüchtin? sein?



Wenn ich es aber richtig verstanden habe, dass die Zeile
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
das ist, was zum Programmer gesendet wird und die anschließenden Zeilen
avrdude: Recv: . [1b]
usw
das ist, was er empfängt, ist das ja nicht gleich. Hier wäre es z.B. in 
der 4.Zeile
avrdude: Recv: . [0b]
und nicht
avrdude: Recv: . [01]

Aber da weiss ich auch nicht, was das bedeutet







avrdude: Version 5.11, compiled on Aug 30 2011 at 10:24:06
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\WinAVR\bin\avrdude.conf"

         Using Port                    : COM5
         Using Programmer              : STK500v2
         Setting bit clk period        : 9.0
avrdude: Send: . [1b] . [01] . [00] . [01] . [0e] . [01] . [14]
avrdude: Recv: . [1b]
avrdude: Recv: . [01]
avrdude: Recv: . [00]
avrdude: Recv: . [0b]
avrdude: Recv: . [0e]
avrdude: Recv: . [01]
avrdude: Recv: . [00]
avrdude: Recv: . [08]
avrdude: Recv: S [53]
avrdude: Recv: T [54]
avrdude: Recv: K [4b]
avrdude: Recv: 5 [35]
avrdude: Recv: 0 [30]
avrdude: Recv: 0 [30]
avrdude: Recv: _ [5f]
avrdude: Recv: 2 [32]
avrdude: Recv: . [02]
avrdude: stk500v2_getsync(): found STK500 programmer
avrdude: Send: . [1b] . [02] . [00] . [02] . [0e] . [03] . [98] . [8e]
avrdude: Recv: . [1b]
avrdude: Recv: . [02]
avrdude: Recv: . [00]
avrdude: Recv: . [03]
avrdude: Recv: . [0e]
avrdude: Recv: . [03]
avrdude: Recv: . [00]
avrdude: Recv: . [08]
avrdude: Recv: . [1f]
avrdude: Skipping paramter write; parameter value already set.
         AVR Part                      : ATtiny45
         Chip Erase delay              : 4500 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : possible i/o
         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  Max
W   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ---
-- ---------
           eeprom        65     6     4    0 no        256    4      0 
4000  45
00 0xff 0xff
                                  Block Poll               Page
      Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  Max
W   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ---
-- ---------
           flash         65     6    32    0 yes      4096   64     64 
4500  45
00 0xff 0xff
                                  Block Poll               Page
      Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  Max
W   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ---
-- ---------
           signature      0     0     0    0 no          3    0      0 
0
 0 0x00 0x00
                                  Block Poll               Page
      Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  Max
W   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ---
-- ---------
           lock           0     0     0    0 no          1    0      0 
9000  90
00 0x00 0x00
                                  Block Poll               Page
      Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  Max
W   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ---
-- ---------
           lfuse          0     0     0    0 no          1    0      0 
9000  90
00 0x00 0x00
                                  Block Poll               Page
      Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  Max
W   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ---
-- ---------
           hfuse          0     0     0    0 no          1    0      0 
9000  90
00 0x00 0x00
                                  Block Poll               Page
      Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  Max
W   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ---
-- ---------
           efuse          0     0     0    0 no          1    0      0 
9000  90
00 0x00 0x00
                                  Block Poll               Page
      Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  Max
W   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ---
-- ---------
           calibration    0     0     0    0 no          2    0      0 
0
 0 0x00 0x00

         Programmer Type : STK500V2
         Description     : Atmel STK500 Version 2.x firmware
         Programmer Model: STK500
avrdude: Send: . [1b] . [03] . [00] . [02] . [0e] . [03] . [90] . [87]
avrdude: Recv: . [1b]
avrdude: Recv: . [03]
avrdude: Recv: . [00]
avrdude: Recv: . [03]
avrdude: Recv: . [0e]
avrdude: Recv: . [03]
avrdude: Recv: . [00]
avrdude: Recv: . [0a]
avrdude: Recv: . [1c]
avrdude: Send: . [1b] . [04] . [00] . [02] . [0e] . [03] . [91] . [81]
avrdude: Recv: . [1b]
avrdude: Recv: . [04]
avrdude: Recv: . [00]
avrdude: Recv: . [03]
avrdude: Recv: . [0e]
avrdude: Recv: . [03]
avrdude: Recv: . [00]
avrdude: Recv: . [02]
avrdude: Recv: . [13]
avrdude: Send: . [1b] . [05] . [00] . [02] . [0e] . [03] . [92] . [83]
avrdude: Recv: . [1b]
avrdude: Recv: . [05]
avrdude: Recv: . [00]
avrdude: Recv: . [03]
avrdude: Recv: . [0e]
avrdude: Recv: . [03]
avrdude: Recv: . [00]
avrdude: Recv: . [0a]
avrdude: Recv: . [1a]
         Hardware Version: 10
         Firmware Version Master : 2.10
avrdude: Send: . [1b] . [06] . [00] . [02] . [0e] . [03] . [9a] . [88]
avrdude: Recv: . [1b]
avrdude: Recv: . [06]
avrdude: Recv: . [00]
avrdude: Recv: . [02]
avrdude: Recv: . [0e]
avrdude: Recv: . [03]
avrdude: Recv: . [c0]
avrdude: Recv: . [d2]
avrdude: stk500v2_command(): command failed
avrdude: stk500v2_getparm(): failed to get parameter 0x9a
         Topcard         : Unknown
avrdude: Send: . [1b] . [07] . [00] . [02] . [0e] . [03] . [94] . [87]
avrdude: Recv: . [1b]
avrdude: Recv: . [07]
avrdude: Recv: . [00]
avrdude: Recv: . [03]
avrdude: Recv: . [0e]
avrdude: Recv: . [03]
avrdude: Recv: . [00]
avrdude: Recv: 2 [32]
avrdude: Recv:   [20]
         Vtarget         : 5.0 V
avrdude: Send: . [1b] . [08] . [00] . [02] . [0e] . [03] . [98] . [84]
avrdude: Recv: . [1b]
avrdude: Recv: . [08]
avrdude: Recv: . [00]
avrdude: Recv: . [03]
avrdude: Recv: . [0e]
avrdude: Recv: . [03]
avrdude: Recv: . [00]
avrdude: Recv: . [08]
avrdude: Recv: . [15]
avrdude: Send: . [1b] . [09] . [00] . [02] . [0e] . [03] . [95] . [88]
avrdude: Recv: . [1b]
avrdude: Recv: . [09]
avrdude: Recv: . [00]
avrdude: Recv: . [03]
avrdude: Recv: . [0e]
avrdude: Recv: . [03]
avrdude: Recv: . [00]
avrdude: Recv: 2 [32]
avrdude: Recv: . [2e]
avrdude: Send: . [1b] . [0a] . [00] . [02] . [0e] . [03] . [96] . [88]
avrdude: Recv: . [1b]
avrdude: Recv: . [0a]
avrdude: Recv: . [00]
avrdude: Recv: . [03]
avrdude: Recv: . [0e]
avrdude: Recv: . [03]
avrdude: Recv: . [00]
avrdude: Recv: . [00]
avrdude: Recv: . [1f]
avrdude: Send: . [1b] . [0b] . [00] . [02] . [0e] . [03] . [97] . [88]
avrdude: Recv: . [1b]
avrdude: Recv: . [0b]
avrdude: Recv: . [00]
avrdude: Recv: . [03]
avrdude: Recv: . [0e]
avrdude: Recv: . [03]
avrdude: Recv: . [00]
avrdude: Recv: . [00]
avrdude: Recv: . [1e]
         SCK period      : 8.7 us
         Varef           : 5.0 V
         Oscillator      : Off

avrdude: Send: . [1b] . [0c] . [00] . [03] . [0e] . [02] . [9e] . [01] . 
[87]
avrdude: Recv: . [1b]
avrdude: Recv: . [0c]
avrdude: Recv: . [00]
avrdude: Recv: . [02]
avrdude: Recv: . [0e]
avrdude: Recv: . [02]
avrdude: Recv: . [00]
avrdude: Recv: . [19]
avrdude: Send: . [1b] . [0d] . [00] . [0c] . [0e] . [10] . [c8] d [64] . 
[19]
[20] . [00] S [53] . [03] . [ac] S [53] . [00] . [00] > [3e]
avrdude: Recv: . [1b]
avrdude: Recv: . [0d]
avrdude: Recv: . [00]
avrdude: Recv: . [02]
avrdude: Recv: . [0e]
avrdude: Recv: . [10]
avrdude: Recv: . [c0]
avrdude: Recv: . [ca]
avrdude: stk500v2_command(): command failed
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: Send: . [1b] . [0e] . [00] . [03] . [0e] . [11] . [01] . [01] . 
[09]
avrdude: Recv: . [1b]
avrdude: Recv: . [0e]
avrdude: Recv: . [00]
avrdude: Recv: . [02]
avrdude: Recv: . [0e]
avrdude: Recv: . [11]
avrdude: Recv: . [00]
avrdude: Recv: . [08]

avrdude done.  Thank you.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dein Programmer redet mit dir, aber dein AVR redet nicht (mehr) mit
deinem Programmer.

Du kannst mal probieren, ihn mit -B20 oder so aufzurufen, um die
ISP-Kommunikation langsamer zu machen.  Wenn das auch nichts hilft,
dann kontrollier nochmal die Verkabelung, nicht dass sich das was
gelöst hat.

Wenn all das nicht geht, ist natürlich immer noch eine Chance, dass
du den AVR in einen Zustand gedreht hast, in dem er entweder keinen
CPU-Takt mehr hat oder aber der /RESET-Pin abgeklemmt ist.  Da müsstest
du aber mal in dich gehen und nachdenken, was deine letzten Aktionen
mit dem Controller waren, bevor er dann nicht mehr reagiert hat.

von Mark (Gast)


Lesenswert?

Faszinierend, jetzt macht er es wieder, allerdings macht der den code 
nicht mehr richtig
1
#define F_CPU 1000000UL
2
#include <avr/interrupt.h>
3
#include <util/delay.
4
5
int main(void) {
6
  DDRB |= (1<<PB0);   
7
  PORTB &= ~(1<<PB0); 
8
9
  while(1){
10
  PORTB |= (1<<PB0);
11
  _delay_ms(100);
12
  PORTB &= ~(1<<PB0);
13
  _delay_ms(100);
14
  }
15
}

vorher hatte ich stehen
1
#define F_CPU 8000000UL
2
_delay_ms(1000);

jetzt musste ich es umändern in
1
#define F_CPU 1000000UL
2
_delay_ms(100);

und es ist ein bisschen schneller als eine Sekunde.

Aber ersteinmal bin ich froh und dankbar für deine Antwort.

Mark

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Mark schrieb:
> und es ist ein bisschen schneller als eine Sekunde.

Überprüfe doch mal die Fuses für deine Takterzeugung (low fuse).

Ich hoffe mal, dass das nur Test- und Experimentiercode ist und du
nicht derartig lange Delays in Produktivcode benutzen willst. ;-)

von Mark (Gast)


Lesenswert?

lfuse: 0b11000100
-> Divide clock by 8
das heisst, dass mein Controller mit 1MHz läuft?

Nein, delay war ein kurzes Programm nur zum testen. das werde ich später 
mit einem timer austauschen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Mark schrieb:
> das heisst, dass mein Controller mit 1MHz läuft?

Nee, CKDIV8 hast du ja nicht aktiviert (Bit 7 ist '1'), aber du hast
den 128-kHz-Watchdog-Oszillator ausgewählt =:-) (Bit 3…0 = '0100').
Dann ist es natürlich kein Wunder, dass du im ISP-Takt weit runtergehen
musst …

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
Noch kein Account? Hier anmelden.