Hallo,
eins vorweg - ich hab keinerlei Erfahrungen mit einem STK500, aber evtl. helfen dir meine Erfahrungen mit dem AVRISP mkII.
Ich hab mir vor kurzem einen AVRISP mkII zugelegt und hatte eigentlich erwartet, dass die Inbetriebnahme problemlos laufen würde - aber weit gefehlt, erstmal ging gar nichts.
Die beigelegte CD ist nicht gerade hilfreich, bis der Programmer vom BASCOM erkannt wurde hat eine Weile gedauert, zusätzliche Treiber aus dem Internet besorgen usw.
An programmieren war aber nicht zu denken - nur Fehlermeldungen. Abhilfe schaffte dann die schrittweise Verringerung der der Taktfrequenz. Möglcherweise hast du ein ähnliches Problem, könnte ja sein, dass sich durch Softwareupdates die Timingverhältnisse geändert haben.
also das wichtigste ist
VOR dem anstecken vom AVRISPmk2 das AVR-Studio installieren. Sonst kann man alles nochmal runterschmeißen und neumachen. Am besten man besorgt sich die neueste Version vom AVR-Studio aus dem Internet um auch Treiber zu haben die mit den neuen Windows-Versionen (Win7, Win8, ... 32Bit/64Bit) zurecht kommen.
Dann muß die ISP-Frequenz (also der Datentakt vom Programmer zum Atmel)
kleiner als 1/4 der Oszillatorfrequenz vom Atmel sein.
Also 250kHz für ISP beim 1MHz CPU-Takt für neue Atmels ist zuviel. Das kann durch Toleranzen mal funktionieren aber manchmal auch nicht.
Dann muß der Atmel eine
stabile Versorgungsspannung haben. Das geht nur mit Elkos/Keramikkondensatoren an den Versorgungsanschlüssen. Es sollten auch sicherheitshalber
alle Versorgungsanschlüsse angeschlossen werden. GND und Vcc müssen mit dem Progger verbunden werden damit er die Targetspannung erkennen kann (er versorgt das Target, also den Atmel,
nicht).
Die Pins für PDI/PDO (MISO/MOSI), SCK, Reset müssen vom Programmer auch steuerbar sein. Wenn man da also Kondensatoren oder größere Lasten dransetzt die die Signale vom Programmer plattbügeln, dann wird das auch nicht laufen. Das muß man vorher beim Schaltungsdesign (Verteilung der Pins an die Pheripherie) entsprechend beachten.
Zum Testen kann man die Signatur vom Chip oder die Fuses
auslesen. Wenn das schon nicht geht, dann kann man sich den Rest auch sparen. Dann ist irgendwas faul.
Gern gesehen sind auch Wackelkontakte in Steckboards oder kalte bzw fehlende Lötstellen. Oder man hat die falsche Zählweise weil man beim Löten vom Chip von unten falschrum gezählt hat.
Es kann auch mal sein das der Progger durch den Resetpin das Loslaufen des Prozessors verhindert. Also einfach mal den Progger abziehen um zu sehen ob es dann läuft. Ist aber eher selten.
Das sind so die größten Fehler die immer gemacht werden.
Bei mir hat der Fehler eigentlich immer an irgendeiner dieser Punkte gelegen.
Gruß
Dino