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.