Keine Fuse-Bits verändert, trotzdem geht er nicht mehr

OP #735775
Lesenswert?

Hi Leutz

Hab einen Atmega8 auf einem Board aufgebaut. 5V, externer 4MHz Takt, 
aber Fuse-Bits noch nicht geändert.(Siehe AVR-Tutorial)
Anschließend mit dem ISP-Progger ausgelesen. (Paralel)Geht. Anschließend 
Fuse-Bits ausgelesen. Geht. Die gleichen wieder reingeschrieben. Geht. 
Wieder ausgelesen. Geht auch. Danach ein Assemblerfile generiert 
(AVR-Tutorial) und mit PonyProg2000 auf den Controller geschrieben. 
Anschließen war er tot. (Fehler 24) An der Schaltung liegt es nicht. Ein 
anderer Controller kann wieder ausgelesen werden. Ich habe gelesen, dass 
ich das Reset-Bit abgeschaltet haben könnte. Ich weiß nur nicht wie. 
Brauche ich jetzt das Stk500 um ihn wiederzubeleben oder geht das auch 
anders? Wie kann ich es anders oder richtig machen, damit ich mir den 2. 
uC nicht auch noch einschläfere?

Gruß

c3b
#735879
Lesenswert?

Hi, Ich kann mir nicht vorstellen dass beim drauf Brutzeln der 
Controller abgeschossen wird.... Viel mehr vermute ich dass da doch 
etwas mit den Fuse Bits passiert ist und Du zB den Takteingang verändert 
hast. Wie wird der mega 8 denn getaktet ? Interner Takt oder Quarz an 
xtal 1 und 2 ?
Nimm mal einen Quarz Oszillator und verbinde den mal mit dem Externen 
Takteingang, vielleicht wurde ja dahin zB umgestellt. Hatte ich auch 
schon, dann geht nix mehr wenn kein gültiges Taktsignal mehr vorhanden 
ist. Was anderes kann ich mir nicht vorstellen. Wie gesagt dass der 
controller hin ist glaube ich nicht.
OP #735885
Lesenswert?

Hi Leutz

Hab mir das noch einmal genauer angeschaut.

Also:

Ich habe wie schon erwähnt keine Fuse-Bits geändert. Zumindest nicht mit 
"Write Fuse-Bit". Denoch muß irgendwie der externe Takt angewählt worden 
sein.

Denn:

Ich habe eine LED an den programmierten Ausgang gehängt und siehe da, 
der uC arbeitet. Die LED leuchtet. Ziehe ich den externen Takt ab, 
leuchtet sie nicht.

Weiterhin habe ich einen anderen uC mit PonyProg2000 ausgelesen und 
festgestellt,dass ich das Reset-Bit gar nicht einstellen kann. (grau 
hinterlegt).

Trotzdem erreiche ich den uC nicht mehr.

Ich habe folgendes als Assembler-File programmiert:

.include "m8def.inc"         ; Definitionsdatei für den Prozessortyp 
einbinden

         ldi r16, 0xFF       ; lade Arbeitsregister r16 mit der 
Konstanten 0xFF
         out DDRB, r16       ; Inhalt von r16 ins IO-Register DDRB 
ausgeben

         ldi r16, 0b11111100 ; 0b11111100 in r16 laden
         out PORTB, r16      ; r16 ins IO-Register PORTB ausgeben

ende:    rjmp ende           ; Sprung zur Marke "ende" -> Endlosschleife

Gruß   c3b
OP #735997
Lesenswert?

Hi Leutz

Ja,natürlich habe ich einen ext. Takt angehängt. Gehtaber trotzdem 
nicht.

Ich habe einen zweiten Controller genommen und ein fertiges Hex-File 
übertragen. Geht. Anschließend die Fuse-Bits ausgelesen und verändert. 
Geht.

Kann es sein, dass ich das ASM-File, welches ich selbst generiert habe, 
versaut hab?

Ich probiere halt noch mal ein bisschen rum.

Dank euch für eure Antworten.

Gruß

c3b
Gast #736021
Lesenswert?

/Ironie an
..Oma und Opa sind nämlich beim Setzen und Auslesen von Fuse-Bits
wahnsinnig geworden und sind nun in der Heilanstalt. Da möchte ich das
Geschenk schön eingepackt (mit PKZIP??) hinbringen.

\Ironie aus

Nicht hauen! ;-)
Paul

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren