Hallo zusammen
Beim Versuch bei meinem Atmega8515 den Timer0 richtig einzustellen und
die Taktquelle auf den internen Oszillator umzuschalten auf ein Problem
gestossen.
Nach der Umstellung kann ich keinen Controller mehr programmieren.
Nachdem ich alles geladen habe, bekomme ich beim download jeweils
folgende Meldung im Eclipse:
1
avrdude: initialization failed, rc=-1
2
Double check connections and try again, or use -F to override
3
this check.
Bei der online-Suche nach dem Fehler bin ich darauf gestossen, dass dies
die SPIEN Einstellung sein könnte, welche den Reset-Eingang
umkonfiguriert und so sperrt, so dass der Controller nicht mehr mittels
ISP geladen werden kann. Der Atmega8515 hat jedoch einen Reset-Eingang
welcher nicht umkonfiguriert werden kann. Was könnte es also noch sein?
Nachdem ich danach einen neuen Controller, diesmal einen Atmega8535,
angeschlossen habe, kam die Meldung bereits beim ersten Download. Werden
die Fuses gesetzt bevor das Programm geladen wird, oder geschieht dies
alles in einem mal? Kann ich die Controller noch retten?
Eine falsche Verbindung zum Controller oder eine fehlende Spannung kann
ich ausschliessen, da dies 1 min vor der Fuse Umstellung noch problemlos
laden konnte.
Hier die notwendigen Daten
1
Controller Atmega8515
2
Entwicklungsboard STK500
3
Entwicklungsumgebung Eclipse
Danke für die Hilfe, bin um jeden Tipp froh.
hafisch
Hi
>Danke für die Hilfe, bin um jeden Tipp froh.
Das STK500 (das originale) beherrscht HV-Programmierung. Damit kannst du
die Fuses wieder in die Reihe bringen.
MfG Spess
Hallo
Danke für die rasche Hilfe, werde dies versuchen. Mit welchen Registern
ist es den überhaupt möglich einen Atmega8515 oder Atmega8535 zu
verfusen?
Werden bei der Verwendung des AvrDude die Fuses vor dem eigentlichen
Download gesetzt, da beim Download auf einen komplett neuen Controller
nicht einmal das Programm downgeloadet werden konnte bevor der Fehler
auftrat.
Danke vielmals
Hafisch
Hi
>Mit welchen Registern>ist es den überhaupt möglich einen Atmega8515 oder Atmega8535 zu>verfusen?
Keine Register. Siehe Datenblatt -> Memory Programming -> Fuse bits
>Werden bei der Verwendung des AvrDude die Fuses vor dem eigentlichen>Download gesetzt, da beim Download auf einen komplett neuen Controller>nicht einmal das Programm downgeloadet werden konnte bevor der Fehler>auftrat.
Ich benutze AVR Studio.
Bevor du mit HV-Programmierung anfängst kannst du erst mal versuchen
einen externen Takt einzuspeisen. Also Jumper XTAL1 stecken und entweder
Jumper OSCSEL auf 1-2 oder Quarz stecken und OSCSEL auf 2-3.
MfG Spess
Hallo
Ich habs nun mal mit der HV-Programmierung versucht.
Das heisst:
1. STK500 gemäss Anleitung für den HV-Mode angeschlossen
2. Atmega8535 gesteckt
3. Im AVR Studio mit Controller verbunden und auf HV-Mode umgestellt.
Nun habe ich 2 Effekte welche ich nicht verstehe.
1.
Im Reiter Main kann ich auf den gesteckten Controller umstellen, und
versuchen die Signatur auszulesen. Fabei kommt, egal welcher Controller
gesteckt ist, immer die Signatur
1
0xFE 0xFF 0xFE
was zu einer Warnung führt, dass der Controller nicht zur gelesenen
Signatur passt.
2.
Im Reiter Fuses kann ich die erfolgreich die aktuelle Einstellung
auslesen und bekomme die bytes High 0xFE High 0xFE. Das Auslesen
geschieht ohne Warnung.
Wenn ich nun ein Bit ändere z.B das SPIEN Bit setze, damit ich wieder
über den ISP Mode programmieren kann, dann kommt jedes mal die Warnung
1
WARNING: Fuse bit verification.. FAILED.
Egal was ich ändere, bei jedem Schreiben der bits kommt dieser Fehler,
ausser wenn ich die gelesenen Werte wieder schreibe.
Wie kann ich die Fuses einstellen? Wo könnte noch ein Fehler liegen.
Danke für die Hilfe und beste Grüsse
hafisch
Hallo
Das Board ist mit 12V gespiesen. Die Verdrahtung ist gemäss Anleitung
für den HV-Betrieb umgesteckt.
Mit den 4 Brücken welche gesteckt werden müssen und der speziellen
Jumper-Eibstellung ist doch für den HV-Mode alles getan?
Und Auslesen kann ich ja Werte.
Danke für die Hilfe und Grüsse
Hafisch
Hi
>Das Board ist mit 12V gespiesen. Die Verdrahtung ist gemäss Anleitung>für den HV-Betrieb umgesteckt.
Zur Stromversorgung gehört auch die Strombelastbareit des Netzteils. Mit
0.5...1A bin ich immer ganz gut gefahren.
MfG Spess
Mein Netzteil liefert bis zu 0.5 A.
Habe nicht das Gefühl sass es mit dem Entwicklungsboard, der Versorgung
oder dem Controller zu tun hat.
was mich sehr itritiert ist: Dass ich den gelesenen Wert 0xFE 0xFE
lesen, und ohne Fehlermeldung wieder schreiben kann. Sobald ich das
kleinste Bit ändere, kommt die Meldung.
Liegt das an der Verdrahtung, dem Studio oder an mir ......
mfG
Hafisch
> Liegt das an der Verdrahtung, dem Studio oder an mir ......
Das liegt an dem veralterten Fusekram von den AVRs. Nimm eine moderne
Architektur und konzentriere dich aufs Programmieren und nicht auf die
Steinzeitwerkzeuge.
Hi
>Liegt das an der Verdrahtung, dem Studio oder an mir ......
Mach mal ein Foto von deiner Verdrahtung.
>Das liegt an dem veralterten Fusekram von den AVRs. Nimm eine moderne>Architektur und konzentriere dich aufs Programmieren und nicht auf die>Steinzeitwerkzeuge.
Dünnschiss.
MfG Spess
Hallo
Gemäss der Atmel Support-Seite verwende ich für den Atmega8515 und
Atmega8535 den High-voltage Parallel Programming mode.
http://support.atmel.no/knowledgebase/avrstudiohelp/mergedProjects/STK500/Html/HVProgramming.html
Die Anschlüsse sehen dann aus wie auf dem Foto IMAG0060.
Die Jumper sind gemäss Foto IMAG0061 gesteckt.
Laut der obigen Seite müsste dies s passen.
Danke und regnerische Grüsse
Hafisch
Hallo
Upps.. peinlich ...
Atmega8535 in den anderen Sockel gesteckt -> der Fehler bleibt.
1
WARNING: Fuse bits verification.. FAILED
Eigentlich können, bis auf HW-Settings mit der VTARGET und AREF
EInstellung, nur 0xFF gelesen werden. Dies beispielsweise bei der
Signatur, Fusebits, Lockbits usw.
Gruss
Hafisch
Hi
>Upps.. peinlich ...>Atmega8535 in den anderen Sockel gesteckt -> der Fehler bleibt.
Da die Sockel unterschiedliche Stromversorgungsanschlüsse haben, ist es
durchaus möglich, das du den ATMega gegrillt hast.
MfG Spess
Hi
Das habe ich auch vermutet, drum habe ich einen Controller gesteckt,
welchen ich noch nicht mittels HV-Programming versuchte.
doch auch da das gleiche Bild.
mfG
Hafisch
Hi
>Das habe ich auch vermutet, drum habe ich einen Controller gesteckt,>welchen ich noch nicht mittels HV-Programming versuchte.
Was für einen?
MfG Spess
Hallo Spess
Ich habe nun alle Controller welche nicht mehr programmierbar waren
versucht, und konnte bei einem mittels HV-Programming Mode die Fuses
rücksetzen.
Ich nehme an, dass ich die anderen verbraten habe.
Nun habe ich also im WinAvr die Fuses im HV Mode zurückgesetzt, und bin
wieder auf meine Eclipse-Umgebung mit AvrDude im Linux zurück.
Der Download dauert nun jedoch 64s, dies obwohl ich den Download der
Fusebits sowie der Lockbits deaktiviert habe, das heisst rein der
Download des Programms dauert so lange.
Ich werde mir einen Satz neue Controller bestellen. Habe das Gefühl dass
diese seit dem Anschluss am falschen Sockel alle defekt sind.
Danke für eure Hilfe und einen schönen Sonntag.
hafisch
Hallo
Ich habe jetzt einen Satz neuer Atmega8515 bestellt, in Socket
SCKT3000D3 gesteckt, ISP Schnittstelle verbunden und wollte das letzte
lauffähige Projekt wieder laden.
Doch beim Download, auch mit den neuen Controllern, habe ich nach wie
vor das Problem dass der Download mit einem Timeout() nach etwa einer
Minute abbricht.
Nur der Applikationsdownload funktioniert nicht.
Die Fehlermeldung lautet:
1
Operation timed out while trying to access the avrdude programmer "Stk500v2"
2
3
Check the programmer is connected and switched on.
Die Verbindung ist korrekt, da ich im Eclipse in den Properties des
AvrDude die den gesteckten Controllertyp, die Fuse- sowie die
Lockbit-Einstellungen korrekt auslesen kann.
Ich verwende:
Stk500 Entwicklungsboard
Atmega8515 über ISP Schnittstelle
Linux mit Eclipse 3.7.2
Hat jemand noch eine Idee was die Ursache sein könnte?
Danke für die Hilfe und Grüsse von
Hafisch