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
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.
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
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?
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.
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
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.
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.
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.
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.
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