Forum: Mikrocontroller und Digitale Elektronik Problem bei bootloader flash ATMega128 (AVRDUDE + usbtinyISP))


von Mark R. (stevestrong)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,
bin schon am Verzweifeln...
Es geht hier um ein ähnlisches Problem wie bei diesem Beitrag : 
Beitrag "Problem bei flash ATMega128 (AVRDUDE + avrispmkII)"
Der Unterschied ist der Programmer, bei mir im Einsatz ist ein uISP von 
eHajo 
(http://www.ehajo.de/baus%C3%A4tze/smd-baus%C3%A4tze/%C2%B5isp-stick.html).
Der nächste Unterschied ist, dass die Programmierung grundsätzlich 
funkzioniert im Bank 0 (0..64kB), leider Bootloader zu flashen (im Bank 
1) klappt es nicht. Eigentlich der ganze Bank 1 (64k..128k) ist gar 
nicht ansprechbar.

Ausdruck vom avrdude:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
D:\avrdude-6.1-mingw32>avrdude.exe -C avrdude.conf -p m128 -P usb -c 
usbtiny -v -v -U flash:w:atmega128_boot
_1.hex:i

avrdude.exe: Version 6.1, compiled on Mar 13 2014 at 00:09:49
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
             Copyright (c) 2007-2014 Joerg Wunsch

             System wide configuration file is "avrdude.conf"

             Using Port                    : usb
             Using Programmer              : usbtiny
avrdude.exe: usbdev_open(): Found USBtinyISP, bus:device: 
bus-0:\\.\libusb0-0001--0x1781-0x0c9f
             AVR Part                      : ATmega128
             Chip Erase delay              : 9000 us
             PAGEL                         : PD7
             BS2                           : PA0
             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         4    12    64    0 no       4096    8 
0  9000  9000 0xff 0xff
               flash         33     6   128    0 yes    131072  256 
512  4500  4500 0xff 0xff
               lfuse          0     0     0    0 no          1    0 
0  9000  9000 0x00 0x00
               hfuse          0     0     0    0 no          1    0 
0  9000  9000 0x00 0x00
               efuse          0     0     0    0 no          1    0 
0  9000  9000 0x00 0x00
               lock           0     0     0    0 no          1    0 
0  9000  9000 0x00 0x00
               calibration    0     0     0    0 no          4    0 
0     0     0 0x00 0x00
               signature      0     0     0    0 no          3    0 
0     0     0 0x00 0x00

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

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

Reading |                                                    | 0% 
0.00sCMD: [30 00 00 00] [00 30 00 1e]
CMD: [30 00 01 00] [00 30 00 97]
Reading | #################                                  | 33% 
0.00sCMD: [30 00 02 00] [00 30 00 02]
Reading | ################################################## | 100% 
0.02s

avrdude.exe: Device signature = 0x1e9702
CMD: [50 00 00 00] [00 50 00 ff]
CMD: [50 00 00 00] [00 50 00 ff]
CMD: [50 00 00 00] [00 50 00 ff]
avrdude.exe: safemode: lfuse reads as FF
CMD: [58 08 00 00] [00 58 08 c0]
CMD: [58 08 00 00] [00 58 08 c0]
CMD: [58 08 00 00] [00 58 08 c0]
avrdude.exe: safemode: hfuse reads as C0
CMD: [50 08 00 00] [00 50 08 ff]
CMD: [50 08 00 00] [00 50 08 ff]
CMD: [50 08 00 00] [00 50 08 ff]
avrdude.exe: safemode: efuse reads as FF
avrdude.exe: NOTE: "flash" memory has been specified, an erase cycle 
will be performed
             To disable this feature, specify the -D option.
avrdude.exe: erasing chip
CMD: [ac 80 00 00] [00 ac 80 00]
avrdude.exe: Using SCK period of 10 usec
CMD: [ac 53 00 00] [00 ac 53 00]
avrdude.exe: reading input file "atmega128_boot_1.hex"
avrdude.exe: writing flash (129432 bytes):

Writing | ################################################## | 100% 
0.02s

CMD: [4c f8 00 00] [95 4c f8 00]
CMD: [4c f8 80 00] [93 4c f8 80]
CMD: [4c f9 00 00] [e0 4c f9 00]
CMD: [4c f9 80 00] [94 4c f9 80]
CMD: [4c fa 00 00] [f4 4c fa 00]
CMD: [4c fa 80 00] [ce 4c fa 80]
CMD: [4c fb 00 00] [c0 4c fb 00]
CMD: [4c fb 80 00] [00 4c fb 80]
CMD: [4c fc 00 00] [91 4c fc 00]
CMD: [4c fc 80 00] [ff 4c fc 80]
avrdude.exe: 129432 bytes of flash written
avrdude.exe: verifying flash memory against atmega128_boot_1.hex:
avrdude.exe: load data flash data from input file atmega128_boot_1.hex:
avrdude.exe: input file atmega128_boot_1.hex contains 129432 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 
0.02s

avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x1f000
             0xff != 0x0c
avrdude.exe: verification error; content mismatch

CMD: [50 00 00 00] [ff 50 00 ff]
CMD: [50 00 00 00] [00 50 00 ff]
CMD: [50 00 00 00] [00 50 00 ff]
avrdude.exe: safemode: lfuse reads as FF
CMD: [58 08 00 00] [00 58 08 c0]
CMD: [58 08 00 00] [00 58 08 c0]
CMD: [58 08 00 00] [00 58 08 c0]
avrdude.exe: safemode: hfuse reads as C0
CMD: [50 08 00 00] [00 50 08 ff]
CMD: [50 08 00 00] [00 50 08 ff]
CMD: [50 08 00 00] [00 50 08 ff]
avrdude.exe: safemode: efuse reads as FF
avrdude.exe: safemode: Fuses OK (E:FF, H:C0, L:FF)

avrdude.exe done.  Thank you.
------------------------------------------------------------------------

Die Datei ist auch nicht 128kB groß, nur ein bischen mehr als 2kB.

Hab ich hier ein Denkfehler? Kann der uISP Stick überhaupt mehr als 64kB 
handhaben? Oder liegt es an avrdude?
Hat jemand eine Idee welche Alternative hätte ich noch ausser uISP zum 
flashen zu verwenden? Ich hab noch ein Arduin Pro Mini Board (aus China) 
in der Schublade.

Bin für jeden Vorschlag Idee offen.
Vielen Dank im Voraus.
VG,

: Bearbeitet durch User
von Alexander S. (alesi)


Lesenswert?

Mark R. schrieb:
> Kann der uISP Stick überhaupt mehr als 64kB
> handhaben?

http://www.ehajo.de/avr-isp-stick.html?

"... Kompatibel mit ALLEN AVR-Controllern mit 64kB Flash und weniger"

von Mark R. (stevestrong)


Lesenswert?

Tja, wer lesen kann ist klar im Vorteil... :o)

Wäre dann ArduinoISP eine Lösung für mich?
Bin gerade dabei das zu probieren, SW laden mit Arduino is ok, die ISP 
SW lauft aber irgendwie gar nicht:
avrdude: stk500_getsync(): not in sync: resp=0xdb
... und kein Signal an SPI pins...

: Bearbeitet durch User
von Mark R. (stevestrong)


Lesenswert?

Super, es hat geklappt!
Man muss nur direkt mit avrdude machen (nicht aber mit Arduino IDE) UND 
die Baudrate auf 38400 einstellen.

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.