Nach dem FUSE-Bit programmieren kein Zugang (ATmega16)

Gast #2138867
Lesenswert?

Ich mache es kurz:

avrdude -p m16 -c stk200 -P lpt1 -U lfuse:w:0xe1:m -U hfuse:w:0xd9:m

aus WINAVR, also der WINDOWS XP Pro Commandline setzt die Fuses und 
danach kann ich den ATmega 16 nicht mehr mit dem SPI ansprechen.

Ich benutze an dem Laptop einen STK200 Programmer aus einem Starterkit 
und besitze auch ein STK500.

Meldungen kriege ich keine mehr, weil meine 5 ATmega16 nun nicht mehr 
ansprechbar sind.

Ich wollte eigentlich den JTAG abschalten, den internen Oszilator auf 1 
MHz stellen und dann mit dem Servo Teil aus dem AVR Tutorial arbeiten. 
Ausserdem hatte ich bis vor etwa 20 Minuten noch vor, auch mal PWM auf 
dem STK500 auszuprobieren.

Was stimmt mit den Fuse-Bit nicht ?
Habe ich mich etwa ausgesperrt oder muß ich an diesem ominösen Takt zum 
Programmieren etwas einstellen. (Wie mache ich das aus AVR Dude heraus?)

Gruß

Johannes
Gast #2138885
Lesenswert?

Danke, werde ich dann mal machen.

Reicht es, wenn ich so einen 3646800 Hz Kasten mit 4 Beinen dran neben 
den Mega 16 in das Breadboard stecke ?

Wenn ich Das richtig sehe, dann sollte doch bei der Fuse Einstellung 
wirklich nur das JTAG Interface ausgehen. Oder ist da schon ein Fehler ?

Google schickt mich nach Eingabe der Zeile ab "-U lfuse:w:0xe1:m -U 
hfuse:w:0xd9:m" auf div. Seiten mit FUSE Calculator und die sagen, das 
nur das JTAG ausgeht (Häkchen weg) und RC Osz 1 MHz gewählt wird.

Kann bitte für mich jemand mal die FUSE Einstellung prüfen ? Bitte, 
bitte, ... Sonst bin ich morgen noch dran nach Datenblatt die Register 
auf ein Blatt Papier zu malen und die Bitmuster von HEX nach Binär 
umzurechnen und dann zu rätseln in welcher Richtung High-Byte und 
Low-Byte gelesen werden.

Es ist nicht so, das ich die Datenblätter nicht gelesen hätte ... 
Vielleicht habe ich ja nur ein Verständnisproblem. Schließlich hat es ja 
auch mehr als 3 Stunden gedauert, bis ich alle Beiträge zu "LED Flackern 
am AT Mega 16" hier im Forum gelesen und verstanden hatte. Dann kam erst 
der Versuch, das JTAG auszuschalten.

Johannes
#2138909
Lesenswert?

Hallo Johannes,

Abundzu muss ich mal wieder ein neuse Batch schreiben,
für den Serien-Programmier-PC bei mir im Betrieb.
Also hatte ich auch Bedarf an Berechnung und wurde Fündig:

http://www.engbedded.com/fusecalc

Dieser Fuses-Rechner kann beide Richtungen berechen.
Und die bisherigen Erfahrungen haben ihm recht gegeben.

Ansonsten noch:
Beitrag "AT90CAN128 verfust"

MFG:MBP
Markus
#2139015
Lesenswert?

es kommt drauf an was man verfused hat, wenn man auf externen 
Quarzoszillator umgestellt hat geht es mit dem externen Takt wenn man 
auf Quarz umgestellt hat, muss man halt die Quarzschaltung mit 
Kondenstoren entsprechend aufbauen.

Geh mal im AVR Studio auf die Hilfe AVR Tools->STK 500 User 
Guide->Hardware Description->Target Socket Section->Parallel High 
Voltage Programming dort ist alles zur Verkabelung beschrieben.
Gast #2139844
Lesenswert?

Laut dem verlinkten Fuse-Bit Calculator und auch mit dem AVR Studio (Man 
ist das umständlich. So eine Menge Programm. Das geht mit WINAVR besser) 
kommt der gleiche HEX-Wert für die Fuses raus.

Ich habe mal einen Mega 16 wieder in den "Werkszustand" geflashed mit 
diesem HV Prog Gedöhne. Danach konnte ich den wieder mit dem AVR Studio 
lesen.

Fuses geklickt: JTAG disable, Internal RC 1 MHz.

Mit dem ISP Anschluß auf dem STK 500 den Mega 16 auf dem STK500 gefused 
und schon wieder nicht mehr ranzukommen.

Was passiert da ???

Die ATmega 16 sind ca. 1 Jahr alt, lagen auf leitfähigem Schaumstoff im 
Teileregal und wenn ich nur einen Quarz mit 1MHz dranmache und den JTAG 
eingeschaltet lasse, dann klappen die.

Irgendwie komme ich mir von der Technik verladen vor.

Johannes
#2139866
Lesenswert?

Hallo Johannes,

Wenn ich im AVR-Studio auf den Fuses-Tab klicke,
OHNE, dass ein AVR am ISP-Kabel hängt, so bekomme ich eine 
Fehlermeldung.
Soweit OK,

ABER:

Das was dann in der Fuses-Übersicht passiert ist kompletter "Blödsinn".
Wenn man nun Fuses umstellt und flasht, so gäbe das also Mist.

Fazit:

1.)
Immer auf dem Main-TAB den gewünschten Controler einstellen,
dann "Read Signature" anklicken.
--> Meldung "Signature matches selected device"
    (oder so ähnlich) erscheint dann irgendwo.
==> Programmierverbindung erfolgreich geprüft.

2.)
Nur an den Fuses im AVR-Studio umstellen bzw. flashen,
wenn einem angesteckten Controller die Fuses ordentlich ausgelesen 
wurden.

3.)
Ggf. hilft es auch noch, einfach den Controller nach einem Auslesen,
vor dem Programmieren spannungslos zu machen.
(STK500 ISP-Kabel zur Schaltung abziehen, bzw. Board ausschalten nicht 
vergessen - das STK liefet ja selbst Spannung.)

Villeicht hilft das bei Deinem Problem.

MFG:MBP
Markus.
Gast #2147854
Lesenswert?

So, ich habe das Problem mit Hilfe meines Physiklehrers lösen können ...

Der hat noch so einen uralten PC von Highscreen mit "echter 
Parallelschnittstelle", wie er sagt.

Nun hat der natürlich auf den uralten Pentium mit 166MHz kein Windows, 
sondern so eine CD von tuxgraphics wo alle nötigen Sachen für die AVR 
Programmierung drauf sind.

Der hat dann auf meinem Steckbrett mit dem STK200 Programmer und

avrdude -p m16 -c stk200 -U lfuse:w:0xe1:m -U hfuse:w:0xd9:m

die Fuses gesetzt.

Nun kommt der Hammer ...
Das flackern der LED am JTAG Port war gleich danach aus und der ATmega16 
ist noch ansprechbar.

Auch die anderen 4 sind nun mit 1 MHz intern RC und JTAG aus geflashed 
... und funktionieren immer noch.

Keine Ahnung, was da der Unterschied zwischen meinem MSI-6380 Ver. 2 
Motherboard und seinem Uralt PC ist. Aber die ATmega 16 laufen wie sie 
sollen auf meinem Steckbrett und ich hoffe das ich nun in den Ferien 
nach dem Lernen für die 2. Mathearbeit (Klasse 9 Realschule) auch mal 
endlich rausfinde wie das Zeitmessen für die Servoimpulse aus dem 
Empfänger geht. Ich will nur einen Kanal wissen und nicht 8 wie in den 
ganzen Beispielen.

Johannes
#2148629
Lesenswert?

Hallo Johannes,

noob schrieb:
> So, ich habe das Problem mit Hilfe meines Physiklehrers lösen können ...
>
> Der hat noch so einen uralten PC von Highscreen mit "echter
> Parallelschnittstelle", wie er sagt.

Die meisten neuen Parallelports basieren mittlerweile auf 3,3V.
Villeicht meint er dass es sich bei seinem noch um einen mit 5V-Pegel 
handelt.

Dieses Problem ist mir begegnet, als ich versucht habe,
einen ICD2-Nachbau Programmer für PIC18 zu bauen.
Ein leerer PIC benötigt dazu genau 1x eine Firmware,
um ihn danach auf dem gebauten Programmmer einzusetzen.
Leider klappte ein Quick&Dirty-Brenner nicht.
Auf http://sprut.de/electronic/pic/brenner/index.htm
habe ich dann die Ursache mit den 3,3V gelesen.

Wenn Dein Problem aber auch mit dem STK500 auftritt,
so kann das nicht die Ursache sein, denn das STK500 ist ja seriell.

Abblockkondensatoren verwendest du ja hoffentlich auch auf Deinem 
Steckbrett.

MFG:MBP
Markus.

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