PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATMega88 auf STK500 (Fehler)



bin_wolf01
08.01.2005, 19:07
Suche Hilfe bei Programmierung ATMega88 auf STK500 ](*,)

Bei dem Versuch ein kleines Assemblerprogramm auf den ATMega88 zu laden erscheinen im unteren Fenster des STK500 folgende Meldung:

- Reading FLASH input file.. OK
- Setting device parameters, serial programming mode.. OK
- Entering programming mode.. FAILED!
- Leaving programming mode.. OK

Zusätzlich wird folgende Fehlermeldung angezeigt, die nur mit OK bestätigt werden kann:

"Problems occured when executing command(s). Please check the history window. See the troubleshooting section in help for information on what may cause the problems."

Ich benutze das AVRStudio 4.09 Build 338. Das STK500-Board ist erst 2 Wochen alt, ich habe trotzdem ein Firmwareupgrade gefahren.

Ich habe das STK500-Board mit einem AT90S8515 getestet -> alles ok. Nur der ATMega88 mag nicht.

Den ATMega88 habe ich auch schon getausch, da ich einen 2. hier hatte -> keine Verbesserung.

Die serielle Verbindung auf RS232 CTRL ist in Ordnung, der ATMega steckt im richtigen Sockel SCKT3200A2 (grün), das ISP6pin Kabel steckt auf SPROG1 (grün), alle Jumper sind in Ihren Defaultpositionen.

Die Programmierspannung habe ich zwischen einem der beiden GND-Pins und dem VTARGET-Jumper gemessen, sie liegt bei 4,96 Volt. Ob das in Ordnung ist, weiß ich nicht, denke aber schon, daß diese paßt). Im STK500 (Folder = Board) wird sie nach einem Read mit 5,1 Volt angegeben. In diesem Fenster wird die STK500-Version übrigens mit 1.46 angegeben.

Wenn ich mir die Lockbits oder Fuses ansehen möchte (READ), erscheint die gleiche Fehlermeldung wie oben angegeben.

Die Oszillatorfrequenz ist im SaveMode bei 3,69MHz.

Aufgefallen ist mir noch folgendes:

Wenn ich im STK500 (Folder = Advanced) die Signatur auslesen will, wird "0x00 0x00 0x00" agezeigt, die obere Fehlermeldung erscheint, und eine Zeile, daß die Signatur nicht zum eingestelten Device paßt. Anscheinend gehen alle Read-Befehle, die den Prozessor betreffen nicht, die Spannung und Oszilatorfrequenz haben sich problemlos lesen lassen. Das sind anscheinend die Eigenschaften des STK500-Boards.

Bei dem ATMega88 handelt es sich im übrigen um den ATMega88 20PI (28 Pin) mit 20MHz.

Langsam kommt Verzweiflung hoch.

Vor ca. 1 Stunde hatte ich es anscheinend auch einmal geschafft den Flashspeicher des Prozessors auszulesen. Dabei wurde laufend FF gelesen, dazwischen aber auch ein paarmal FE. Eine Logik habe ich hier nicht gefunden.

Sollte jemand Hilfe bringen können, wär ich saumäßig dankbar. Momentan macht es keinen Spaß mehr, ich hab mich festgefressen, ev. ist es auch nur eine kleine Einstellung.

Vorab schon mal vielen Dank für eine Antwort, in den Foren habe ich leider nichts gefunden, oder war ich mit Blindheit geschlagen.

Servus, Wolfram

PS: Ich weise fairerweise darauf hin, daß ich die Anfrage auch im mikrocontroller.net poste.

JanB
08.01.2005, 19:30
Hallo,
Sind deine Atmega88 neu ?
Wenn sie gebraucht, und schon mal programmiert sind,
dann kann es sein das das ISP-Programmieren disabled ist.
Das äussert sich dann so wie du beschreibst.
Probier es doch mal mit dem High-Voltage Programmiermodus.
Da könntest du auch die ISP-disable Fuse auch wieder löschen.

Wenn dein Chips neu sind, vergiss was ich gesagt habe.

Gruß Jan

bin_wolf01
08.01.2005, 21:05
Hallo,
Sind deine Atmega88 neu ?
Wenn sie gebraucht, und schon mal programmiert sind,
dann kann es sein das das ISP-Programmieren disabled ist.
Das äussert sich dann so wie du beschreibst.
Probier es doch mal mit dem High-Voltage Programmiermodus.
Da könntest du auch die ISP-disable Fuse auch wieder löschen.

Wenn dein Chips neu sind, vergiss was ich gesagt habe.

Gruß JanHallo Jan,

danke für deinen Tip, das wäre natürlich auch eine Möglichkeit gewesen.

Ich habe in der Zwischenzeit die Lösung in microcontroller.net von A.K. bekommen, die ich hier kurz beschreibe, es sollen ja alle was davon haben.

A.K. hatte das gleiche Problem mit einem Tiny2313. Der kommt
voreingestellt mit 4MHz/Div8, was dem STK500 irgendwie nicht recht
passt. Er hat dann per paralleler Programmierung (funktionierte) den
Prescaler Div8 rausgeworfen und schon ging es auch seriell.

Sein nächster Tip: Es wird evtl. ausreichen, den STK500 auf 0.5MHz einzustellen. Dazu beim Oscillator 500000 eintragen und "Write Osc".

Das war´s dann auch schon. Gott sei Dank - das Leben geht weiter. Kaum macht man´s richtig, geht´s.

Viel Erfolg bei deinen eigenen Sachen, Servus, Wolfram