Forum: Mikrocontroller und Digitale Elektronik Write Flash->OK Read Flash -> Error mit komischem Flashinhal


von Benny (Gast)


Lesenswert?

Hallo!
Ich habe ein kleines Problem mit meiner Atmega8 Konstruktion!
Mit AVRStudio habe ich ein total kleines miniprogramm geschrieben (mit 
c) und
in die hex file umgewandelt. (hier dürfte der fehler nicht liegen, da 
ich auch nicht von mir generierte hex files ausprobiert hab). Mit Yaap 
öffne ich die hexdatei und drücke auf Write Flash. Kein Problem... macht 
er. Wenn ich jetzt aber auf Read Flash drücke, zeigt er mir einen Error 
und eine ziemlich komischen Flashinhalt an. und zwar so ungefähr...

!!""§§$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@AABBCCDD 
EEFF
usw usw
ich kann auch nicht mehr auf den atmega zugreifen. immer dieser Error in 
Yaap. Nur wenn ich die Stromversorgung kappe und wieder draufgeb erkennt 
yaap ihn wieder. wenn ich jetzt auf ReadFlash drücke, zeigt er mir einen 
leeren Flash an (alles voller FF).
An was könnte das liegen? Am ISP? vor ein paar monaten funktionierte 
noch alles bestens mit ihm. ich hab eigentlich nur die schaltung neu 
aufgebaut und
die software neu installiert, bzw. einen anderen PC benutzt(alter 
kaputt)

Bitte helft mir!

mfg Benny

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

ISP-Taktfrequenz zu hoch, wäre meine erste Vermutung.  Aktuelle
AVRs werden ,,aus der Dose raus'' mit 1 MHz getaktet (vom internen
RC-Oszillator), dafür darf der ISP-Takt nur kleiner als 250 kHz
sein.

von Benny (Gast)


Lesenswert?

Danke für deine Antwort!!!
Stimmt es muss irgendwas mit dem Takt sein. also ich den quarz 
abgesteckt hab, lief der atmega. aber als ich dann was drauf schreiben 
wollte ,kam wieder der error. Jetzt siehts also so aus, dass ich wenn 
ich ihn beschreiben will, den quarz einschalten muss, und wenn ich den 
atmega laufen lassen will, dass ich dann den quarz trennen muss. Jetzt 
würd ich gern die fusebits auf internen Takt schreiben, aber das geht 
auch nichtmehr...
Für mich ists sehr verwirrend, da der ISP Programmer und alles andere 
genau so wie ichs jetzt aufgebaut hab, vor 2-3monaten noch lief...

mfg Benny

von Benny (Gast)


Lesenswert?

Ok Also ich hab jetzt einen anderen ISP getestet... geht immernoch 
nicht. ich
denk mal der quarz ist irgendwie kaputt. Leider hab ich keinen 2.da zum 
testen. gibts noch andere Mäglichkeiten für den Fehler?

von Gast (Gast)


Lesenswert?

Ich habe auch schon öfter festgestellt, dass wenn man mit zu hoher 
ISP-Frequnz programmiert sich die Fuse-Bits dabei ganz gerne mal 
verstellen, so dass man danach nur noch mit externem Takt (Takt != 
Quarz) oder gar nicht mehr (wenn Resetpin disabled) programmieren kann.

von Benny (Gast)


Lesenswert?

Also heisst das, dass ich einen Atmega nicht beschreiben soll, wenn ich 
16Mhz dranhängen hab? Heisst das auch, das meine atmegas kaputt sind? 
Ich versteh nicht ganz ob es jetzt direkt an dem atmega, am ISP oder am 
quarz liegt

von Benny (Gast)


Lesenswert?

So ich hab mal Schaltung neu aufgebaut... geht immernoch nicht
Ich glaub jetzt hilft nur noch ein neuer atmega oder ein anderer 
Quarzosszilator. Ich weiss nciht mehr weiter.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Benny wrote:

> Also heisst das, dass ich einen Atmega nicht beschreiben soll, wenn ich
> 16Mhz dranhängen hab?

Es heißt, dass die Dinger ab Werk erst einmal mit 1 MHz laufen, und du
maximal mit 250 kHz ISP-Takt arbeiten darfst.  Wie du diesen
ISP-Takt einstellst, liest du bitte im Manual von Yaap nach -- ich
kenne das Programm nicht.  Wenn Yaap das nicht einstellen kann, dann
ist es hier einfach fehl am Platz, und du solltest dich nach was
anderem umgucken.

Damit der 16-MHz-Quarz auch wirklich in Betrieb geht, muss man den
eingebauten Quarzoszillator erst einmal per fusebit in Betrieb nehmen,
also erfolgreich programmieren können.

> Heisst das auch, das meine atmegas kaputt sind?

Wenn du mit diesem unpassenden ISP-Takt drauf zugreifst, dann
interpretiert der AVR irgendwas aus deinen ISP-Sequenzen.  Wenn dieses
,,irgendwas'' gerade wie eine gültige Anweisung zum Schreiben der
Fuses aussieht, dann kannst du damit die Taktoptionen des AVRs
komplett verbiegen.  Da die ISP-Schnittstelle ohne Takt nicht
funktioniert, hast du dir den Rückweg abgeschnitten.  Der einfache
Fall ist dabei, dass du einen externen Takt an XTAL1 einspeisen
kannst, um ihn wieder ISP-fähig zu bekommen.  Im schlimmsten Fall aber
kann man sich das auch soweit ,,zerfusen'', dass mittels ISP gar
nichts mehr geht.  Dann hilft nur noch die `high voltage'-
Programmierung, wie sie z. B. ein STK500, ein AVR Dragon oder auch der
AVR-Doper anbieten.  Bitte lies das Datenblatt für die Details.

von Benny (Gast)


Lesenswert?

Hmm Ok Dankeschön
Dann hab ich wohl beide µC geschrottet. Und das obwohl ich alles nach 
Anleitung gemacht habe. Schade

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Benny wrote:

> Und das obwohl ich alles nach
> Anleitung gemacht habe.

Falsche Anleitung?

Manche dieser Bitwackel-ISP-mach-ich-selbst-Programme (und ich
vermute mal, Yaap gehört dazu) stammen aus einer Zeit, wo die
Computer beim Zugriff auf die Schnittstellen ,,von sich aus''
eine genügend kleine ISP-Frequenz generiert haben.

Anyway, du wirst sie sehr wahrscheinlich nicht ,,geschrottet''
haben, sondern sie bräuchten nur mal einen externen Takt.  So um
die 1 MHz an XTAL1 einspeisen und die Fuses zurück drehen.

von Benny (Gast)


Lesenswert?

Hmm aber die Fusebits sind eigentilch richtig gesetzt für externen 
Quarzoszillator 16MHz. ich bestelle mal neue und versuchs dann. Aber 
verstehen tu ich die ganze sache immer noch nicht. Hab n anderen quarz 
versucht, geht nicht. komplett andere Bauteile ringsum, geht nicht. n 2. 
µC versucht, geht nicht. 1 MHz takt an XTAL1, geht nicht. sehr 
verwirrend das zeug. Mit anderem PC gehts auch nicht, aber übers we 
formatier ich mal.
Das komische ist, dass es vor 3 monaten einfach so ging wie ichs jetzt 
machen will. kein fehler, nix. Naja ich schreib mal nachm formatieren 
obs was gebracht hat und ob n anderen controller was bringt. Danke an 
alle die mir geholfen haben.

von Benny (Gast)


Lesenswert?

Oh hab ganz vergessen zu schreiben. Also formatieren hat nix gebracht. 
hab jetzt neu Controller da und alles passt wieder....endlich kanns 
losgehen
Vielen Dank an alle


Benny

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.