Forum: Mikrocontroller und Digitale Elektronik AVR- Arduino ATmega8 Bootloader,can not write Fuses


von Jens Schröder (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

Ich habe ein Problem mit meinem Arduino ATmega8 Chip. Ich habe ihr ganz 
normal zum Ausprobieren mit der Windows umgebung genutzt, und jetzt 
funktioniert er nicht mehr.

Ich bekomme beim Upload folgende Fehlermeldung:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protoccol error, expect=0x14, reso=0x51


Ich wollte jetzt den Bootloader neu auf den ATmega8 schreiben und habe 
mir diesen Programmierer gebaut:
http://www.arduino.cc/en/Main/ParallelProgrammer

Ich habe es auch geschafft mit dem Arduino zu kommunizieren. Mein 
Problem ist jetzt, dass ich die Fuses nicht umändern kann, was ich aber 
machen muss bevor ich den Bootloader auf das Board laden kann.
Ich habe folgende Befehle im Terminal ausgeführt. Im Anhang ist der 
Output!



sudo avrdude -c dapa -p m8 -P /dev/parport0 -n -v
sudo avrdude -c dapa -p m8 -P /dev/parport0 -U hfuse:w:0xca:m -U 
lfuse:w:0xdf:m


Ich bekomme jetzt die Fehlermeldung:
avrdude: verifying ...
avrdude: verification error, first mismatch at byte 0x0000
         0xca != 0xff
avrdude: verification error; content mismatch

avrdude: safemode: hfuse changed! Was ca, and is now ff
Would you like this fuse to be changed back? [y/n]



Wenn ich jetzt y eingebe hängt er sich auf und bei n bricht er ab.
Könnt ihr mir hier noch einen Tipp geben, wie ich die Chips wieder zum 
laufen bekomme???

MfG Jens

von Hubert G. (hubertg)


Lesenswert?

Mit ff in hfuse hast du dich ausgesperrt.
Das kannst du nur mit HV-Programmierung reparieren. Da ist ein STK500 
oder sonst ein Board das das kann notwendig.

von Jens Schröder (Gast)


Lesenswert?

also mit ausgesperrt meinst du, dass ich die interne Clock (taktgeber) 
ausgestellt habe, richtig?
ich habe mich über die die einstellung auch schon gewundert, aber 
nachdem ich auf dem arduino board einen crystal gefunden habe

http://www.e-lioness.com/catalog/images/ArduinoUNO_Front.jpg

oben links neben dem USB Anschluss. Das heißt doch, dass der ATmega so 
oder so mit einem Externen Crystal gesteuert wird oder nicht? Würde 
gerne verstehen wie das funktioniert :)

könnt ihr mir ein Board empfehlen mit dem diese HV programmierung 
möglich ist?
mfg Jens

von Paul Baumann (Gast)


Lesenswert?

Hier ist der Schaltplan vom Arduino Uno:
http://arduino.cc/en/uploads/Main/arduino-uno-schematic.pdf

Der 16MHz-Quarz ist für den Atmega8U2 gedacht. Das ist der Kollege, der 
für
die USB-Anbindung sorgt. Der Atmega8 (in der DIL-Fassung) hat seinen 
eigenen
Quarz.

MfG Paul

von Hubert G. (hubertg)


Lesenswert?

Mit hfuse 0xff hast du SPIEN disabled und damit das serielle 
Programmieren unmöglich gemacht.

von Jens Schröder (Gast)


Lesenswert?

ok also sind sie nicht mehr mit meinem Programmier adapter 
programmierbar.

Aber was muss ich mir jetzt kaufen um wieder mit dem chip arbeiten zu 
können?

von Mike (Gast)


Lesenswert?

@Paul Baumann

Der aber auch mit 16MHz läuft, siehe Plan.

Auf dem Bild ist das der Fliegenschiss links neben dem Reset-Taster.

Ist imho ein Resonator wie "CSTCE 16,0" bei Reichelt.

von Hubert G. (hubertg)


Lesenswert?

Nach dem Schaltplan und deiner Beschreibung ist mir nicht klar welchen 
der beiden Kontroller du dir verfused hast.
Wenn es der Mega8 ist, dann ist es billiger du kaufst dir einen neuen 
oder suchst dir jemanden der einen HV-Prog hat.
Ansonst brauchst du einen Programmer der HV-Prog kann.
Ein STK500, AVR-Dragon z.B., und einige mehr können das.

von Mike (Gast)


Lesenswert?

@Hubert G.

Den ISP-Port über den man den Mega8U2 flashen kann findest Du auf dem 
Bild direkt über dem dem niedlichen MLF-Teil.

Er kann also nur den "Hauptcontroller" geschossen haben.
Dessen ISP-Port ist rechts das Teil mit dem Aufdruck "ICSP".

Eigentlich geht das Flashen so ziemlich ohne Problem direkt aus der 
Arduino-IDE, wenn man einen richtigen Brenner hat.
Die Fuses werden vom Programm selbst gesetzt, da muss man nix mehr 
selbst einstellen.
Ich benutze dazu den 6poligen Abgriff am STK500.

Watterott hatte mal fertige Mega328P mit Arduino-Bootloader.
Da es aber im Moment Probleme mit der Lieferbarkeit vieler AVRs gibt,
wird das ne Weile dauern bis er wieder verfügbar ist.

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.