PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ATMEGA128L mit STK500/STK501 Probleme



barbapapa
16.07.2005, 18:31
Erst mal Hallo an alle hier im Forum!

Bin nach zwei Tagen erfolgloser Fehlersuche hier auf dieses Forum gestossen.
Ich habe bereits den Großteil der Beiträge gelesen und finde es sehr informativ und hilfreich.

Nun gleich zu meinem Problem:

Eins vorweg: Es gibt im Forum Beiträge, die auf ein ähnliches Verhalten hindeuten, allerdings haben jene Lösungsvorschläge nicht zum Erfolg geführt.

Ich habe für mein Projekt einen ATMEGA128L vorgesehen und mir dazu das STK500 und STK501 besorgt. Es ist ein AT90S8515 und ein ATMEGA128 dabei.
Das Beispielprogramm für den 8515 funktioniert; er läßt sich mit AVRStudio 4.11 + SP3 wunderbar programmieren, löschen, auslesen, etc.
Wenn ich es mit dem 128L versuche gibt es massive Probleme:

Signature Bytes auslesen:
Ich kann die Signatur immer nur - wenn überhaupt - das erste mal nach Einschalten des STK500 (Power-Schalter) so auslesen, daß sie richtig sind. Ansonsten lese ich 0x00 0x01 0x02. Dürcke ich oft auf "Read", so tritt ein richtiges Auslesen ***manchmal*** ein (- bei 30 Versuchen etwa ein mal).

Programmieren des Flash:
Geht auch nur beim ersten mal nach Einschalten offenbar gut, es wird alles mit OK bestätigt. Auch erscheint: "FLASH contents is equal to file.. OK"
Jeder weitere Versuch ergibt: "Programming FLASH .. FAILED!"
Versuche ich mit "Verify" Flash anschließend zu überprüfen geht es mit meiner Methode AUS/EIN wieder beim ersten mal scheinbar gut. Nochmal "Verify" geht wieder nicht mehr.

Auslesen des Flash zur Kontrolle:
Ich lese nach AUS/EIN mit "Read" Flash dieses in eine Datei, um es mit meinem Programmierfiele "test.hex" zu vergleichen.
Ergebnis: Stimmt überein, der Rest der Bits ist auf "1".

Das Testprogramm läuft aber NICHT!
Es ist das gleiche Testprogramm wie für den 8515, nur habe ich die Zeile:
.include "8515def.inc"
in
.include "m128def.inc"
geändert. Die Datei ist im Angang. Muß ich da noch was beachten?

-------------------
SW-Konfiguration:
- AVR Studio Version 4.11 Build 410 Service Pack 3
- "STK500 with V2 firmware found on COM1
Getting revisions.. HW: 0x02, SW Major: 0x02, SW Minor: 0x01 ..OK"

Jumper auf STK500:
VTARGET 1-2
RESET 1-2
XTAL1 1-2
OSCSEL 1-2
... alle anderen offen

Jumper/Schalter auf STK501:
RS232 spare #2 RTS/CTS verbunden
TOSC-Schalter auf XTAL
... alle anderen Jumper offen

ISP6PIN auf dem STK500 ist mit SPROG auf STK501 mit 6-poligem Kabel verbunden.
Ansonsten habe ich noch für das Exampleprogram PORTB mit LEDs und PORTD mit Switches verbunden.

Die Betriebsspannung habe ich mit dem Oszi gemessen und sie ist sauber und stabil.
-------------------

Ich bin über jede Hilfe dankbar.
Viele Grüße,
Alois

chr-mt
16.07.2005, 18:52
Hast du einen PC an den COM Port angeschlossen ?
Da der MEGA 128 ja über RXD/TXD programmiert wird, könnte das ein Problem sein, wenn parallel was an der Schnittstelle hängt.

Gruß
Christopher

barbapapa
16.07.2005, 22:48
Hallo Christopher,

Du meinst den RS232 SPARE #2 am STK501, oder? Nein der ist frei.
Auch der RS232 SPARE am STK500 ist frei.

Ich habe vorhin auch mal versucht über parallel high voltage zu programmieren, aber da geht ja schon mal überhapt nichts. Alles was ich auslesen kann (Signature Bytes, Flash Inhalte, ...) steht auf HIGH!?
Ohne das STK501 und mit dem AT90S8515 geht das übrigens schon.

Gruß,
Alois

chr-mt
17.07.2005, 00:42
Hi,
habe gerade mal mein STK 500 angeworfen..
War der erste Versuch mit dem STK 501 drauf und hat gleich problemlos funktioniert..
Auch mehrfaches programmieren läuft problemlos.
Ich verwende übrigens den ATMEGA 128 16 AI
Mit der seriellen Schnittstelle meinte ich Porte.0 und Porte.1


Gruß
Christopher