Forum: Mikrocontroller und Digitale Elektronik Arduino - ATtiny85 - AVR ISP-Stick


von Robert B. (nada_zero)


Lesenswert?

Hallo zusammen,

ich verwende die Arduino Umgebung für das erstellen von Programmen für
den ATtiny85.
Wenn ich über die Eingabeaufforderung den ATtiny85 programmieren will
funktioniert alles wunderbar.

Siehe Batchfile:
avrdude -p t85 -C c:\avrdude\avrdude.conf -c usbtiny -P usb -U 
flash:w:%1.hex:i 20
Das AVRDUDE verifying sagt, alles OK

Wenn ich die Arduino-Umgebung (1.0.4) zum Programmieren des ATtiny85 
verwende,dann schiebt er zwar das File rüber, jedoch kommt meistens, 
nicht immer, verifying error,first mismatch ... wobei die betroffene 
Adresse jedesmal eine andere ist.

Hier mal den Auszug:
************************************************************************
Binäre Sketchgröße: 1.002 Bytes (von einem Maximum von 8.192 Bytes)
D:\Graupner_CAP_SPG_TEMP\arduino-1.0.4-windows\hardware/tools/avr/bin/av 
rdude  -CD:\arduino-1.0.4-windows\hardware/tools/avr/etc/avrdude.conf -v 
-v -v -v -pattiny85 -cusbtiny 
-Uflash:w:C:\Users\Robert\AppData\Local\Temp\build6778120262430170771.tm 
p\Blink_einfacher.cpp.hex:i

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is 
"D:\arduino-1.0.4-windows\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : lpt1
         Using Programmer              : usbtiny
avrdude: usbdev_open(): Found USBtinyISP, bus:device: 
bus-0:\\.\libusb0-0001--0x1781-0x0c9f
         AVR Part                      : ATtiny85
         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  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ----- ---------
           eeprom        65     6     4    0 no        512    4      0 
4000  4500 0xff 0xff
                                  Block Poll               Page 
Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages 
MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ 
----- ----- ---------
           flash         65     6    32    0 yes      8192   64    128 
4500  4500 0xff 0xff
                                  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
                                  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 
9000  9000 0x00 0x00
                                  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 
9000  9000 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 
9000  9000 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 
9000  9000 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          2    0      0 
0     0 0x00 0x00

         Programmer Type : USBtiny
         Description     : USBtiny simple USB programmer, 
http://www.ladyada.net/make/usbtinyisp/
avrdude: programmer operation not supported

avrdude: Using SCK period of 10 usec
CMD: [ac 53 00 00] [00 00 53 00]
avrdude: AVR device initialized and ready to accept instructions

Reading | CMD: [30 00 00 00] [00 30 00 1e]
CMD: [30 00 01 00] [00 30 00 93]
################CMD: [30 00 02 00] [00 30 00 0b]
################################## | 100% 0.00s

avrdude: Device signature = 0x1e930b
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be 
performed
         To disable this feature, specify the -D option.
CMD: [a0 01 fc 00] [00 a0 01 ff]
CMD: [a0 01 fd 00] [00 a0 01 ff]
CMD: [a0 01 fe 00] [00 a0 01 ff]
CMD: [a0 01 ff 00] [00 a0 01 ff]
avrdude: erasing chip
CMD: [ac 80 00 00] [00 ac 80 00]
avrdude: Using SCK period of 10 usec
CMD: [ac 53 00 00] [00 ac 53 00]
avrdude: reading input file 
"C:\Users\Robert\AppData\Local\Temp\build6778120262430170771.tmp\Blink_e 
infacher.cpp.hex"
avrdude: writing flash (1002 bytes):

Writing | CMD: [4c 00 00 00] [20 4c 00 00]
###CMD: [4c 00 20 00] [f7 4c 00 20]
###CMD: [4c 00 40 00] [e0 4c 00 40]
###CMD: [4c 00 60 00] [e0 4c 00 60]
###CMD: [4c 00 80 00] [d0 4c 00 80]
###CMD: [4c 00 a0 00] [00 4c 00 a0]
####CMD: [4c 00 c0 00] [91 4c 00 c0]
###CMD: [4c 00 e0 00] [b7 4c 00 e0]
###CMD: [4c 01 00 00] [1f 4c 01 00]
###CMD: [4c 01 20 00] [1d 4c 01 20]
###CMD: [4c 01 40 00] [b7 4c 01 40]
####CMD: [4c 01 60 00] [91 4c 01 60]
###CMD: [4c 01 80 00] [91 4c 01 80]
###CMD: [4c 01 a0 00] [4f 4c 01 a0]
###CMD: [4c 01 c0 00] [23 4c 01 c0]
###CMD: [4c 01 e0 00] [00 4c 01 e0]
### | 100% 2.15s

avrdude: 1002 bytes of flash written
avrdude: verifying flash memory against 
C:\Users\Robert\AppData\Local\Temp\build6778120262430170771.tmp\Blink_ei 
nfacher.cpp.hex:
avrdude: load data flash data from input file 
C:\Users\Robert\AppData\Local\Temp\build6778120262430170771.tmp\Blink_ei 
nfacher.cpp.hex:
avrdude: input file 
C:\Users\Robert\AppData\Local\Temp\build6778120262430170771.tmp\Blink_ei 
nfacher.cpp.hex  contains 1002 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 
1.39s

avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0100
         0x31 != 0x61
avrdude: verification error; content mismatch

avrdude done.  Thank you.
************************************************************************ 
**

Kann es sein das es hier Timing-Probleme gibt?

die Option "i" also delay, wird von der Arduino Umgebung nicht 
berücksichtigt. Ich hab auch keine Einstellung gefunden wo ich das 
anpassen könnte.

Wäre über ein Hilfestellung dankbar, da mich dieses Problem schon eine 
ein Weile erfolglos beschäftigt.
Gruß
Robert

von Robert B. (nada_zero)


Lesenswert?

Hab den Fehler gefunden,

es ist ein Bug im AVRDUDE.
Verwendetet AVRDUDE Version im Arduino (1.0.4) ist 2011-08-26
diese hab ich durch die AVRDUDE 2010-01-15 ersetzt (ältere Version)

Jetzt funktioniert es.
Danke für die Unterstützung

von Ulrich H. (mcmusic)


Lesenswert?

Hallo Attiny-Nutzer,

ich hatte exakt dasselbe Fehlerbild wie das von Robert beschriebene. 
Allerdings verwende ich zum Upload den µISP Stick von eHaJo.de. Nachdem 
ich einige Zeit -erfolglos- damit verbracht habe, eine ältere (oder 
neuere) avrdude Version (Win7) zu finden, die dieselbe Filestruktur wie 
die in der Arduino IDE 1.0.5 verwendete hat, suchte ich nach anderen 
Abhilfen.

Hier
http://learn.adafruit.com/introducing-trinket/setting-up-with-arduino-ide
wurde ich fündig. Ich habe nach "Step 2" die dort erhältliche 
avrdude.conf wie beschrieben in meine 1.0.5 IDE eingebaut und die 
bereits vorhandene vorher umbenannt, um diese Änderung wieder rückgängig 
machen zu können. Dann die Arduino IDE neu gestartet (wichtig). 
Ergebnis: alle Uploads erfolgen jetzt ohne den bisher vorhandenen 
verification Error. Es scheint tatsächlich ein timing Problem gewesen 
zu sein, das durch die Änderungen in der .conf behoben wird.

Bei dieser Gelegenheit habe ich auch den "Id linker" von der adafruit 
Seite (Step 3) ausgetauscht. Dies soll einen weiteren Fehler beseitigen: 
ohne diese Änderung kann man angeblich keine Sketches > 4k uploaden.

Danke an adafruit! Ich hoffe, sie haben diese Änderungen gleich an die 
Arduino-Macher weitergeleitet, damit diese in der nächsten IDE Version 
beseitigt sind.

--
Viele Grüße
mcmusic

: Bearbeitet durch User
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.