www.mikrocontroller.net

Forum: Mikrocontroller und Elektronik Mega8 Problem nach Erstprogrammierung

Autor: Michael Hamacher (trinity4711)
Datum: 12.07.2007 08:45

Hallo Forengemeinde,
ich habe ein Problem. Habe einen neuen Mega8 in der Einstellung externer
Quarz programmiert und kann nach dem erstmaligem Schreiben nicht mehr
mit PonyProg via ISP auf den Controller zugreifen. Hat jemand eine Idee
?.
Schön habe ich gedacht nimmst du eben halt einen Neuen. Mit diesem
Baustein passierte das Gleiche. Nach der ersten Code Übertragung funtzte
gar nicht mehr, obwohl PonyProg keine Fehlermeldung ausgab.
Autor: Micha R. (steinadler)
Datum: 12.07.2007 08:48

Das sieht nach einer defekten ext. Quarz-Schaltung aus.
Überprüf mal alles und nimm, wenn du hast, ein Oszi und messe die ext.
Frequenz.
Autor: Karl heinz Buchegger (kbuchegg) (Moderator)
Datum: 12.07.2007 08:48

> Habe einen neuen Mega8 in der Einstellung externer
> Quarz programmiert

Ich vermute mal:
http://www.mikrocontroller.net/articles/AVR_Fuses#...
Autor: Johannes M. (johnny-m)
Datum: 12.07.2007 08:51

Michael Hamacher wrote:
> Hallo Forengemeinde,
> ich habe ein Problem. Habe einen neuen Mega8 in der Einstellung externer
> Quarz programmiert und kann nach dem erstmaligem Schreiben nicht mehr
> mit PonyProg via ISP auf den Controller zugreifen. Hat jemand eine Idee
> ?.
Hast Du denn überhaupt einen externen Quarz dran? Und ist es
sichergestellt, dass dieser auch schwingt (Kondensatoren dran?)? Und
hast Du darauf geachtet, dass ein Häkchen bei den Fusebits bedeutet,
dass die betreffende Fuse programmiert, also "0" ist? Und hast Du
vielleicht auch noch die RSTDISBL-Fuse programmiert? Im letzteren Fall
kann Dir nur noch ein HV-Parallel-Programmer helfen. In den anderen
Fällen solltest Du versuchen, zu rekonstruieren, was Du da genau
programmiert hast und evtl. mal versuchen, einen Quarzoszillator oder
einen Takt von einem FUnktionsgenerator an XTAL1 einzuspeisen.

> Schön habe ich gedacht nimmst du eben halt einen Neuen. Mit diesem
> Baustein passierte das Gleiche. Nach der ersten Code Übertragung funtzte
> gar nicht mehr, obwohl PonyProg keine Fehlermeldung ausgab.
Wieso sollte PonyProg auch ne Fehlermeldung rausgeben? Vom Standpunkt
von PP ist doch alles i.O. PP hat Deinen Mega8 programmiert, und das
offensichtlich mit Erfolg. Deshalb ist für PP die Welt i.O. und es gibt
ein "Write successful" zurück...
Autor: bascom (Gast)
Datum: 12.07.2007 08:52

du hast den externen reset per fusebits
ausgeschaltet jetzt hilft nur noch hochvolt programmierung
per STK500.
Fusebits und ihre Tücken
http://bascom-forum.de/index.php/topic,10.msg274.html#msg274
Autor: Johannes M. (johnny-m)
Datum: 12.07.2007 09:10

@bascom:
> du hast den externen reset per fusebits
> ausgeschaltet jetzt hilft nur noch hochvolt programmierung
> per STK500.
Woher willst Du das wissen? Es gibt mehrere Möglichkeiten, sich
"auszusperren", wobei beim Mega8 allerdings tatsächlich die
RSTDISBL-Fuse die gemeinste Falle ist. Lass den OP aber trotzdem erstmal
alle Möglichkeiten überprüfen. Es muss nicht unbedingt ein STK500 her,
auch wenn die Wahrscheinlichkeit dafür nicht gering ist.
Autor: Johannes M. (johnny-m)
Datum: 12.07.2007 09:12

Autor: Holger Krull (krulli) Benutzerseite
Datum: 12.07.2007 09:33

Wurden denn vor dem Verändern der Fusebits dieselben vorher mit read
eingelesen?
Autor: Michael Hamacher (trinity4711)
Datum: 12.07.2007 10:22

Holger Krull wrote:
> Wurden denn vor dem Verändern der Fusebits dieselben vorher mit read
> eingelesen?

Wie schon erwähnt wurden die Fuse, wie im Auslierferungsmodus nur
dahingehend geändert, das ich diese auf ext. Quarz gesetzt habe. Jetzt
sind alle Fusebits gesetz ohne mein dazutun

gruss trinity4711
Autor: Karl heinz Buchegger (kbuchegg) (Moderator)
Datum: 12.07.2007 10:30

Michael Hamacher wrote:
> Holger Krull wrote:
>> Wurden denn vor dem Verändern der Fusebits dieselben vorher mit read
>> eingelesen?
>
> Wie schon erwähnt wurden die Fuse, wie im Auslierferungsmodus nur
> dahingehend geändert, das ich diese auf ext. Quarz gesetzt habe. Jetzt
> sind alle Fusebits gesetz ohne mein dazutun
>

Genau darum geht es. Fuses werden alle in einem Rutsch gelesen
oder geschrieben.
Wenn du also nur den Fuse Dialog im PonyProg aufgemacht hast,
deine gewünschten Änderungen gemacht hast und das ganze dann
geschrieben hast, dann hast du einen wesentlichen Punkt vergessen:
Das vorherige Auslesen der Fuse Bits, damit alle anderen Fuses,
die du nicht verändern willst, beim Schreiben auch wieder denselben
Zustand bekommen, den sie vorher schon hatten.

Warum PonyProg das erstmalige Auslesen der Fuse Bits nicht gleich
beim Öffnen des Dialogs automatisch macht, ist mir ehrlich
gesagt ein Rätsel. Würde neben etwas Komfort auch mehr Sicherheit
bringen ohne grossartigen Programmieraufwand zu erfordern.
Autor: Stefan "stefb" B. (stefan) Benutzerseite
Datum: 12.07.2007 10:31

@ Michael Hamacher
Das beantwortet die Frage nicht ;-)

Vorm Ändern der Fuses sollte man die Fuses zuerst einlesen.

Manche Programme lesen automatisch ein, aber ich würde mich darauf aus 2
Gründen nicht verlassen:

1. Beim gezielten Einlesen sieht man, ob die Kommunikation "steht". Wenn
Lesen nicht klappt, macht Schreiben keinen Sinn.

2. Man kann die gelesenen Fuses mit dem Datenblatt vergleichen und die
0-steht-für-gesetzt-Logik verinnerlichen.
Autor: Holger Krull (krulli) Benutzerseite
Datum: 12.07.2007 11:38

Ich hab das eben probiert. Ohne vorheriges Einlesen der Fuses, ist der
Mega8 nach dem schreiben der Fuses (schein)tot.....
Autor: Wal-Koch (Gast)
Datum: 07.09.2007 12:49

Das Problem kann ein zu schneller Quarz sein.
Einfach mal einen 4 Mhz Quarz ausprobieren.
Ich hatte die gleichen Probleme bei einem 12 Mhz Takt.
Nach austausch mit dem erwähnten 4Mhz Quarz war alles Ok

Antwort schreiben

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

Wichtige Regeln - erst lesen, dann posten!

  • Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
  • Aussagekräftigen Betreff wählen
  • Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
  • JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel





Hinweis: der Originalbeitrag ist mehr als 6 Monate alt.

webmaster@mikrocontroller.netImpressumWerbung auf Mikrocontroller.net