Forum: Mikrocontroller und Digitale Elektronik AVRs nicht flashbar


von ich (Gast)


Lesenswert?

Hallo zusammen,

Nach längere Zeit wollte ich mal wieder etwas mit AVRs mache. Mein 
Setting ist der AVR910, vor 12 Jahren mal zusammengebastelt mit einem 
Atmega32 bzw. 8.

Mein Problem, die Rechner haben keine serielle Schnittstelle mehr. Als 
Maßnahme habe ich einen USB->Seriell-Wandler dazwischen geklemmt. Hat 
anfangs auch ganz gut geklappt. Nur nach zwei mal flashen (avrdude) 
reagiert der  Atmega32 nicht mehr, der Grund: Signatur 0xffffff.
Ich habe mit gedacht, kein Problem kann passieren. Dann habe ich den 
Atmega8 verwendet. Nach zwei mal Fuse Bits/Device Signatur Auslesen 
(AVRProg), habe ich plötzlich ein ähnliches Problem, uC reagiert nicht 
mehr Signatur 0x000000.

Ich bin jetzt total ratlos. Die Dinger haben Jahre durchgehalten und an 
einem Tag sind beide tot.

Ist die Kombination USB->Seriell-Wandler + AVR910 für die uCs tödlich? 
Es ist mir ein totales Rätsel wie mir der Atmega8 flöten gehen kann, 
wenn man nichts  auf den uC schreibt. Mit einer echten seriellen 
Schnittstelle hatte ich nie Probleme mit beiden Aufbauten.

von Joachim B. (jar)


Lesenswert?

ist doch mit einem nano o.ä. lösbar als ISP Programmer Ersatz

Ich kenne avrdude und deinen Programmer nicht, möglicherweise ist der ja 
der Fehler.

Ich nutze für ISP den USBprog2 von hier, aber seit Jahren nur noch einen 
Nachbau aus China für den NETIO als USB Teil ohne serielle Umsetzung 
dazwischen.

von c-hater (Gast)


Lesenswert?

ich schrieb:

> Ist die Kombination USB->Seriell-Wandler + AVR910 für die uCs tödlich?

Sollten sie zumindest nicht sein. Ich tippe auf ein anderes Problem, 
irgendwas mit der Stromversorgung des zu flashenden Controllers war wohl 
nicht in Ordnung. Wahrscheinlich: Betriebsspannung zu gering, deutlich 
niedriger als der Pegel der ISP-Signale.

> Es ist mir ein totales Rätsel wie mir der Atmega8 flöten gehen kann,
> wenn man nichts  auf den uC schreibt.

Sobald du mit ihm redest, "schreibst" du auch auf ihn. Schließlich gehen 
bei ISP drei Signale vom Programmer zum µC.

> Mit einer echten seriellen
> Schnittstelle hatte ich nie Probleme mit beiden Aufbauten.

Sehr wahrscheinlich war damals(tm) einfach nur das Design der 
Stromversorgung anders.

von ich (Gast)


Lesenswert?

Danke für die Hinweise. Ich habe den "losen" Aufbau vom Atmega 8 
gecheckt und es lag an der Spannungsversorgung, Kabel locker. Bei der 
Atmeta32-Platine konnte ich keine Probleme mit der Spannung 
feststellen...

Zumindest einer geht noch :) Es wird wohl Zeit des Equipment zu 
modernisieren.

von Ivo -. (Gast)


Lesenswert?

Hallo,
Equipment (hab ich wahrscheinlich mal wieder falsch geschrieben) 
modernisieren, ja gute Idee...
Ich würde dir einen ganz normalen Arduino als Programmer empfehlen, 
benutze ich auch, zuverlässig, günstig, ich bin rundum zufrieden.

Ivo

PS: Ich benutze Avrdude

von Eugen T. (weaver)


Lesenswert?

Ich habe auch ein Problem. Ich habe vergessen das über ISP ich nicht 
debuggen kann (AVR studio 4), und habe ich einen halbfertigen Kod ins 
ATmega328P (Pollin Baustein) eingespielt. Ein Teil des Programs 
funktioniert (Display) aber der ISP Port funktioniert nicht mehr. Der 
Dragon erkennt den Chip nicht mehr. Was kann ich jetzt machen?
Danke.

von Einer K. (Gast)


Lesenswert?

Eugen T. schrieb:
> Ein Teil des Programs
> funktioniert (Display) aber der ISP Port funktioniert nicht mehr. Der
> Dragon erkennt den Chip nicht mehr. Was kann ich jetzt machen?


Ein Programm kann das Flashen per ISP nicht verhindern.
Das kann nur durch die falsch eingestellten) Fuses verhindert werden.

von Alexander S. (alesi)


Lesenswert?

ich schrieb:
> Mein Problem, die Rechner haben keine serielle Schnittstelle mehr.

Nur zur Info, auch wenn es USB-zu-seriell Wandler und
Programmiergeräte mit USB gibt:
Auch moderne PCs haben auf dem Motherboard häufig noch
eine serielle (und paralle) Schnittstelle. Es fehlt nur das
Kabel und ein Slotblech mit Buchse, was man für ein paar Euro
nachrüsten kann. Das gilt natürlich nicht für Notebooks.

von Eugen T. (weaver)


Lesenswert?

Alle Fuse Bits sind ausgeschaltet, trotzdem erkennt der Dragon den Chip 
nicht mehr. Der Programm mit Fehler läuft, nur ich kann es nicht mehr 
ändern.

von Andreas B. (bitverdreher)


Lesenswert?

Eugen T. schrieb:
> Alle Fuse Bits sind ausgeschaltet, trotzdem erkennt der Dragon den Chip
> nicht mehr. Der Programm mit Fehler läuft, nur ich kann es nicht mehr
> ändern.

Ich verbessere mal:
Alle Fuse Bits sind ausgeschaltet, deshalb erkennt der Dragon den Chip
nicht mehr.

Wenn man das SPIEN löscht war es das mit programmieren.

von Eugen T. (weaver)


Lesenswert?

Danke.

Im Program war kein Befehl für SPIEN. Jetzt ist im SPIEN eine "?". 
Einschalten kann ich nicht.

Gibt es eine andere Lösung, den Chip zu löschen?

von Rolf M. (rmagnus)


Lesenswert?

Eugen T. schrieb:
> Im Program war kein Befehl für SPIEN.

SPIEN ist eine Fuse, kein "Befehl". Wenn du alle Fuses ausgeschaltet 
hast, hast du damit auch SPIEN ausgeschaltet. Das wird aber für die 
Programmierung per ISP benötigt.

> Jetzt ist im SPIEN eine "?".
> Einschalten kann ich nicht.

Wenn du ISP ausgeschaltet hast, kannst du es logischerweise nicht per 
ISP wieder einschalten. Wobei du laut Datenblatt per ISP sowieso nicht 
auf diese Fuse zugreifen kannst.

von Eugen T. (weaver)


Lesenswert?

Ich habe den SPIEN nicht ausgeschaltet! Ich habe den Chip programmiert 
über ISP (mit den falschen Code). Das Program im Chip läuft, nur nicht 
ganz gut. Seit Programierung ist der SPIEN grau mit "?". Ich habe keinen 
Fusebit weder ein noch ausgeschaltet.

von Rolf M. (rmagnus)


Lesenswert?

Eugen T. schrieb:
> Ich habe den SPIEN nicht ausgeschaltet!

Das hattest du oben aber behauptet:

Eugen T. schrieb:
> Alle Fuse Bits sind ausgeschaltet

Da das SPIEN standardmäßig an ist, wäre das nur möglich, wenn du es 
selbst ausgeschaltet hast.

> Ich habe den Chip programmiert über ISP (mit den falschen Code). Das
> Program im Chip läuft, nur nicht ganz gut. Seit Programierung ist der
> SPIEN grau mit "?". Ich habe keinen Fusebit weder ein noch ausgeschaltet.

Ok, dann liegt es also daran nicht. Dann muss es doch am Programmer 
liegen. Hast du evtl. die ISP-Geschwindigkeit zu hoch eingestellt?

von Stefan F. (Gast)


Lesenswert?

Manchmal hilft es, den start des fehlerhaften Programms zu verhindern, 
indem man die Reset Leitung fest mit GND verbindet und dann in diesem 
Zustand mit dem Programmer auf den Chip zugreift.

von Eugen T. (weaver)


Lesenswert?

Danke, das ist genau mein Problem. Ich habe den Chip einmal 
programmiert, es ist gegangen ( also der SPIEN musste eingeschaltet 
sein). Als die Programmierung fertig war blöderweise habe ich versucht 
den Code debuggen, dann sind verschiedene Meldungen über Debugwire 
gekommen, erst dann bin ich darauf gekommen, das mit ISP ich nicht 
debuggen kann. Seither funktioniert auf diesen Modul die ISP Verbindung 
nicht mehr. Auf einem anderem Modul ist alles in Ordnung.

von P. P. (Gast)


Lesenswert?

Wenn die Signatur nicht stimmt, liegt es meistens an der Baudrate.
Fang nochmal mit niedrigen Baudraten an. Kann sein, dass du beim Flashen 
die Frequenz umgestellt hast.

Hängt ein Quarz dran?

von Einer K. (Gast)


Lesenswert?

Wie wäre es mit einem HV Programmer?
Wenn man es sehr gründlich verbockt hat, ist das die letzte Rettung.

von Stefan F. (Gast)


Lesenswert?

Den Debug Wire kann man über die ISP Schnittstelle einschalten. Blöd ist 
nur, dass du dann keinen Reset Pin mehr hast.

Ausschalten kann man den Debug Modus mit einem Debugger, der Debugwire 
unterstützt. Danach kann man über das ISP Protokoll die Fuse wieder 
zurück setzen.

Alternativ geht wie gesagt ein HV Programmer - aber wer hat den schon?

Wenn du keinen geeigneten Debugger hast, würde ich erwägen, die Chips 
weg zu werfen. Das könnte billiger sein.

von Eugen T. (weaver)


Lesenswert?

Danke

Ich habe den Dragon, nur habe ich noch ausser ISP und JTAG keine andere 
Funktion verwendet. Ich werde sehen, vielleicht hilft mir hier jemand 
mit HV programming.
Quartz ist auf dem Module, aber brauche ich es nicht und deswegen ist 
kaum etwas diesbezüglich im Code.

Vielen Dank noch einmal. Gitt sei Dank habe ich weitere Module und ist 
schon ein JTAG Module unterwegs.

von Stefan F. (Gast)


Lesenswert?

> Ich habe den Dragon

Na super, der kann sowohl HV als auch Debug Wire! Lies das mal: 
https://www.mikrocontroller.net/articles/DebugWIRE

von Eugen T. (weaver)


Lesenswert?

Danke, ich weiss, gestern habe das Dragonbuch gelesen.... :-)

von Eugen T. (weaver)


Angehängte Dateien:

Lesenswert?

Irgendwie schaffe ich es nicht die Verbindung zwischen Dragon und den 
Chip zu herstellen. Ich habe einen anderen Modul, welcher funktioniert 
tadellos. Kann jemand mir helfen den Chip zu löschen?
Leider inzwischen ist der Board nicht mehr lieferbar und ich brauche 
noch 2-3 Stk für meine Projekte ( mechanisch muss passen). Ich suche 
noch einige solche Boards. Kennt jemand noch eine Bezugsquelle?

Danke.

von Stefan F. (Gast)


Lesenswert?

> Kennt jemand noch eine Bezugsquelle?

Auf der Platine ist die URL des Herstellers aufgedruckt. Dort würde ich 
mal nachfragen.

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.