Hallo zusammen,
ich versuche jetzt schon einige Zeite meinen avrisp mk2 unter Linux zum
Laufen zu bekommen.
Das rätselhafte an der ganzen Sache ist, dass das Flashen reibungslos
funktioniert, wenn der Atmega32 auf 1MHz (Werkseinstellungen) läuft.
Sobald ich den uC allerdings
auf 16MHz hochtakte (entsprechende Fusebits setzte) funktioniert das
Ganze nicht mehr. Ich kann dann nicht mehr mit dem uC kommunizieren
Ich habe noch ein altes Board in dem ich den uC über eine serielle
Schnittstelle abenfalls über ISP programmieren kann. Dort funktioniert
alles reibungslos, also sowohl bei 16 Mhz als auch bei 1 Mhz Taktrate.
Ich habe irgendwie den Verdacht, dass das Ganze mit der ISP
Geschwindigkeit zusammenhängt.
Hat vielleicht jemand eine Idee, an was das liegen könnte ?
avrdude -p m32 -B 9 -c avrispv2 -P usb -v
avrdude: Version 5.10, compiled on Jun 27 2010 at 00:21:42
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/etc/avrdude.conf"
User configuration file is "/root/.avrduderc"
User configuration file does not exist or is not a regular
file, skipping
Using Port : usb
Using Programmer : avrispv2
Setting bit clk period : 9.0
avrdude: usbdev_open(): Found AVRISP mkII, serno: 000200009009
AVR Part : ATMEGA32
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 10 64 0 no 1024 4 0
9000 9000 0xff 0xff
flash 33 6 64 0 yes 32768 128 256
4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0
2000 2000 0x00 0x00
hfuse 0 0 0 0 no 1 0 0
2000 2000 0x00 0x00
lock 0 0 0 0 no 1 0 0
2000 2000 0x00 0x00
signature 0 0 0 0 no 3 0 0
0 0 0x00 0x00
calibration 0 0 0 0 no 4 0 0
0 0 0x00 0x00
Programmer Type : STK500V2
Description : Atmel AVR ISP V2
Programmer Model: AVRISP mkII
Hardware Version: 1
Firmware Version Master : 1.10
Vtarget : 5.0 V
SCK period : 10.37 us
avrdude: stk500v2_command(): command failed
avrdude: stk500v2_command(): unknown status 0xc9
avrdude: stk500v2_program_enable(): cannot get connection status
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
avrdude done. Thank you.
Wenn es bei 1 Mhz geht sollte es bei 16 kein Problem sein. Bei der ISP-Geschwindigkeit gilt einzig die Regel: Die Geschwindigkeit darf maximal ein viertel der Taktrate betragen (oder weniger). Kann es denn sein, dass du im Eifer des Gefechts den 16 Mhz Quarz und 2 22pF Kondensatoren vergessen hast?
hallo schumi, vielen Dank für die schnelle Antwort. Der Quarz ist angelötet. Allerdings sind die Kondensatoren nicht genau 22pF sondern größer. Kann es an den Kondensatoren liegen ?
Heinz Busch schrieb: > Allerdings sind die Kondensatoren nicht genau > 22pF sondern größer. Was ist „etwas größer“? Geht es auch präziser? > Kann es an den Kondensatoren liegen ? Gegenfrage: Hältst Du die Spezifikation im Datenblatt für reine Schikane?
Hallo mitch, nein natürlich nicht. Ich habe die Kondensatoren ausgetauscht. Leider bringt das keine Abhilfe. Ich habe auf meinem Board eine LED an einen Pin gelötet und lasse diese LED blinken indem ich eine Schleife verwende. Bei 1 MHz Takt blinkt sie sehr langsam und bei 16 MHz entsprechend schneller. Der Quarz scheint zu funktionieren. Der uC lässt sich über die serielle Schnittstelle auch problemlos flashen bei 16MHz, aber leider nicht über den USB Flasher. Die Fusebits habe ich hier (http://www.engbedded.com/fusecalc) ergestellt und geflasht (-U lfuse:w:0xff:m -U hfuse:w:0x99:m ). Es sind die Werte 0xff und 0x99 im Moment gesetzt. Habe ich vielleicht bei den Fusebit Einstellungen etwas falsch gemacht ? Viele Grüße und Besten Dank im Vorraus
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.