Forum: Mikrocontroller und Digitale Elektronik ATmega644 ignoriert mein Image


von Peter H. (Gast)


Lesenswert?

Hallo hochgeschätztes Forum,

ein ganz konkretes Problem mit dem flashen eines HEX files (konkret ein 
Ethersex Kompilat) auf einen ATmega644P in einem NetIO:

Das flashen scheint erstmal zu funktionieren. Danach scheitert aber die 
Verifikation. Ich meine sogar gleich an der Adresse 0.
Es scheint immer noch das alte Image auf dem Controller zu sein. Dieses 
funktioniert aber so gut (oder schlecht) wie vor dem Programmierversuch.

Ich habe bereits:
-AVR Studio von 6.1 auf 6.2 aktualisiert. Verwendet habe ich hier einen 
AVR Dragon. Keine Besserung.
-Einen China USB ISP Programmierer mit avrdude verwendet. Gleiches 
Verhalten.
-Alle Leitungen des 6 poligen ISP Steckers bis zu den Controller PINs 
durchgemessen. Alles ok.

Signatur auslesen geht, Fuses scheinen aber auch nicht gesetzt zu 
werden.
Der Programmierjumper auf dem NetIO ist gesetzt.

Ist es wahrscheinlich, dass hier der ATmega schaden genommen hat und nun 
meine versuche konkret ignorierte?
Gibt es eine Schreibschutz Fuse die ich gesetzt haben könnte?

Oder hat evtl. mein HEX File / Kompilat einen Fehler der dazu führt, 
dass dieses vom Controller ignoriert wird?

Vielen Dank schonmal!

Peter

von Walter Tarpan (Gast)


Lesenswert?

Peter H. schrieb:
> Fuses scheinen aber auch nicht gesetzt zu
> werden.

Du kannst die Fuses auslesen. Du brauchst Dich nicht auf Vermutungen zu 
verlassen.

von Thomas E. (thomase)


Lesenswert?

Das, was du schilderst, klingt nach gesetzten Lockbits.
Hast du evtl. das Häkchen zum automatischen Löschen vor dem 
Programmieren nicht gesetzt?

Lösch ihn manuell. Dann müssen das alte Programm und auch evtl. Lockbits 
in jedem Fall gelöscht sein. Ist das nicht so, passt irgendwas an deiner 
Verbindung nicht oder der Controller ist i.A..

Ich hab sowal mal mit einem 1284 gehabt. Der lief, liess sich aber weder 
über JTAG noch über ISP programmieren.

Peter H. schrieb:
> Oder hat evtl. mein HEX File / Kompilat einen Fehler der dazu führt,
> dass dieses vom Controller ignoriert wird?
Nein. Der Controller ist dämlich. Der weiss gar nichts von einem 
Hexfile, sondern bekommt lediglich Binärdaten vom Programmer.

mfg.

: Bearbeitet durch User
von Peter H. (Gast)


Lesenswert?

Vielen Dank für die schnellen Antworten! Die lockbits klangen gut. 
Leider sind sie es scheinbar nicht. Sind laut AVR Studio nicht gesetzt.

Ich haben dann noch mal versucht den Controller im STK500 mit meinem 
Dragon zu programmieren. Gleiches Verhalten.
 Er ignoriert übrigens auch mein Versuche Fuses zu setzen.

Ich geben den Controller dann mal auf. Hoffentlich kommt der ersatzweise 
bestellte heute an.
Wenn mal ganz viel Zeit totschlagen werden muss werde ich den mal mit 
High Voltage programmier Methoden attackieren...

Gruss
Peter

von Peter D. (peda)


Lesenswert?

Peter H. schrieb:
> Er ignoriert übrigens auch mein Versuche Fuses zu setzen.

Der 1. Punkt bei Problemen ist, die Signatur zu lesen.
Solange das nicht klappt, sind alle weiteren Aktionen sinnlos.
Das SPI-Protokoll enthält keinerlei Bestätigung, ob eine Aktion geklappt 
hat.

Peter H. schrieb:
> Ich geben den Controller dann mal auf.

Warum?
Du kannst ihn im STK500 doch parallel programmieren.

von Paul Baumann (Gast)


Lesenswert?

Ich hatte vor einiger Zeit auch mal Probleme, auf neue Atmega8 zuzu-
greifen. Manche ließen sich "normal" ansprechen, andere stellten sich
tot. Das veranlaßte mich, diese Schaltung hier:
http://mdiy.pl/atmega-fusebit-doctor-hvpp/?lang=en

zu bauen. Ich habe es nicht bereut. Seitdem wird jeder neue Kontroller
erst mal dort drin "behandelt" und danach hatte ich keine 
Schwierigkeiten
mehr.

MfG Paul

von Peter H. (Gast)


Lesenswert?

Ich habe es nun auch mal mit HVPP im STK500 probiert. Gleiches Resultat. 
Es wird scheinbar geschrieben aber dann scheitert die Verifikation 
gleich an der ersten Adresse. Device-Erase wird ignoriert wie alles 
andere.

Der inzwischen eingetroffene neue 644P lässt sich wunderbar beschreiben.
Macht die Fuse-Doctor Schaltung etwas anderes als ein STK500 mit HVPP?

Gruss
Peter

von npn (Gast)


Lesenswert?

Peter Dannegger schrieb:
> Der 1. Punkt bei Problemen ist, die Signatur zu lesen.

Peter H. schrieb:
> Signatur auslesen geht


Peter H. schrieb:
> aber dann scheitert die Verifikation gleich an der ersten Adresse.
Bis hier klingt es nach gesetzten Lockbits. Da kann man auch die 
Signatur lesen, und die Lockbits und Fuses, aber nichts anderes 
(Speicherinhalte). Und das Chip erase muß eigentlich immer gehen...
> Device-Erase wird ignoriert wie alles andere.
Wenn auch das Erase nicht geht, würde ich tatsächlich auf eine Macke im 
µC tippen. Vor allem, wenn die gleiche Aktion mit einem neuen Chip 
funktioniert.

Eine Möglichkeit fällt mir gerade noch ein. Ist vielleicht der Reset-Pin 
wegprogrammiert? Also als normaler Pin genutzt?
Ach nee, dann würde ja auch das Auslesen der Signatur nicht gehen...
Also vermutlich doch irgendwas im µC selbst kaputt.

von Peter D. (peda)


Lesenswert?

Peter H. schrieb:
> Ich habe es nun auch mal mit HVPP im STK500 probiert. Gleiches Resultat.
> Es wird scheinbar geschrieben aber dann scheitert die Verifikation
> gleich an der ersten Adresse. Device-Erase wird ignoriert wie alles
> andere.

Natürlich auch da immer zuerst die Signatur lesen!

Ich hatte mich beim HVPP auchmal dumm angestellt und irgendein Käbelchen 
oder Jumper falsch gesteckt.
Aber kaum macht mans richtig, funktionierts.

von Peter H. (Gast)


Lesenswert?

Signatur lesen hat auch über HVPP mit dem STK500 geklappt. Bin mir nicht 
ganz sicher, ob ich evtl. zwischendurch das Flashen eines Image probiert 
habe oder gleich den Chip Erase...

Ich habe den Controller aufgegeben. Ein bisschen mache ich mir Sorgen, 
dass der neue Controller in der Schaltung und in seinem Einsatzgebiet 
wieder den selbe Schaden abbekommt... Ob da also z.B. eine Schutzdiode 
am Reset PIN zu empfehlen wäre...

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
Noch kein Account? Hier anmelden.