mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVRs nicht flashbar


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Joachim B. (jar)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: c-hater (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ivo -. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Eugen T. (weaver)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Arduino Fanboy D. (ufuf)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Alexander S. (alesi)
Datum:

Bewertung
2 lesenswert
nicht 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.

Autor: Eugen T. (weaver)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Andreas B. (bitverdreher)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Eugen T. (weaver)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Rolf M. (rmagnus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Eugen T. (weaver)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rolf M. (rmagnus)
Datum:

Bewertung
2 lesenswert
nicht 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?

Autor: Stefanus F. (Firma: Äppel) (stefanus)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Eugen T. (weaver)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: P. P. (klatschnass)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Arduino Fanboy D. (ufuf)
Datum:

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

Autor: Stefanus F. (Firma: Äppel) (stefanus)
Datum:

Bewertung
1 lesenswert
nicht 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.

: Bearbeitet durch User
Autor: Eugen T. (weaver)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Stefanus F. (Firma: Äppel) (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich habe den Dragon

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

Autor: Eugen T. (weaver)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, ich weiss, gestern habe das Dragonbuch gelesen.... :-)

Autor: Eugen T. (weaver)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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.

Autor: Stefanus F. (Firma: Äppel) (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Kennt jemand noch eine Bezugsquelle?

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.