Forum: Mikrocontroller und Digitale Elektronik Fuse und Lock Bits


von Engel (Gast)


Lesenswert?

Hi,

ich hab heute die ersten Versuche mit nem ATtiny 12 unternommen.
Mein Programm hat sofort funktioniert und danach wollte ich alle 6 IO
Pins benutzen, vorher hab ich 4 benutzt. Dafür wollte ich den Internen
Power-On-Reset aktivieren, bzw den externen abschalten, wie es im
Datenblatt stand.
Zum Programmieren benutz ich AVR-Studio und Pony Prog.
Bei Ponyprog hab ich auf ein Symbol geklickt, welches "Write Fuse &
Lock bits" heißt.
Bei Ponyprog waren zu dem Moment wo ich darauf geklickt hab, alle Haken
weg. Was laut google-recherchen invertiert ist.
Demnach hab ich warscheinlich alle Bits gesetzt, oder?
Löschen konnte ich den Chip noch, aber nichts anderes.
Also sind wohl die Lock-Bits gesetzt und es ist mir unmöglich das
rückgängig zu machen.

Hab ich das soweit richtig durchschaut?

Mfg
 S. Engel

von Winfried (Gast)


Lesenswert?

Lockbit kannst du ruhig setzen, der Chip kann danach wieder gelöscht
werden. Wenn du dir aber den Reset abklemmst, ist es aus mit serieller
Programmierung.

von Bernhard S. (bernhard)


Lesenswert?

Kannst Du die LOCK-Bits noch einlesen, sicherlich nicht ?

von xXx (Gast)


Lesenswert?

Oh man, wieder einer der nur wild drauf los programmiert und keine
Ahnung hat, was er da gerade macht.

HALLO!!! Erst denken, dann proggen!

BTW, kann sein, dass du deinen Tiny nicht mehr so einfach wieder flott
kriegst. Und kauf dir ein gutes Brenn-Gerät.

von Dennis Kleine-Beck (Gast)


Lesenswert?

> HALLO!!! Erst denken, dann proggen!

Nobody's perfect. Ich finde, sich bei den Fuses oder Locks zu
verhauen, ist keine Schande. Haken entspricht "0" also gesetzt
widerspricht ja zunächst mal etwas der konventionellen Denkweise...

Und was ist gegen Pony-Prog (gerade für nen Beginner) einzuwenden?


Zur zukünftigen Vermeidung von Probs mit Fuse Bits hilft:

http://www.mikrocontroller.net/forum/read-4-57883.html#new

Dennis

von Winfried (Gast)


Lesenswert?

Die, die sich am lautesten über die Fehler anderer aufregen, haben meist
ihre eigenen Fehler noch nicht verdaut ;-)

Lernen über Try&Error ist doch mitunter ganz sinnvoll. Grundlagenwissen
sollte natürlich auch nicht fehlen.

von Engel (Gast)


Lesenswert?

Danke für die flotten antworten.
(die von xXx ignorier ich einfach - no comment!)

Also liegt mein Problem nicht an den Lock-Bits sondern daran das ich
durch den internen reset das ding nicht mehr mit dem einfachen ISP
interface brennen kann.

Im Datenblatt steht: "If the RSTDISBL Fuse is programmed, then the
programming hardware should apply +12V to PB5 while the ATtiny12 is in
Power-on Reset. If not, the part can fail to enter programming mode
caused by drive contention on PB0 and/or PB5."

Ich Versteh das so, das ich, um den Tiny neu zu brennen 12V an PB5
(/reset) anschließen muss. Dürfen die 12V nur so lange anliegen, wie
der ATtiny die Power-on-reset funktion durchführt?

Mfg
 raDon

von Sebastian (Gast)


Lesenswert?

Ohne es zu wissen würde ich sagen: Mit seriellem Programmieren krigst du
den nicht mehr hin. Das geht glaub ich nur noch mit parallelem Proggen.
Wobei bei Parallel/Seriell nicht die Schnittstelle am PC gemeint is,
sondern der Anschluss am MC.
Schau dir da das Datenblatt nochmal genau an. Wenn's nicht mehr geht,
dann warn's alt ein paar Euro Lehrgeld. Das zahlt man immer wieder mal
in irgendeiner form.

Sebastian

von johnny.m (Gast)


Lesenswert?

Afaik sind die 8-Pin-Tinys nicht parallel programmierbar (wie sollen die
Daten auch über 6 IO-Pins reinkommen?). Das mit den 12 V scheint OK zu
sein, eine andere Möglichkeit gibts meines Wissens nicht...

von mh789 (Gast)


Lesenswert?

> Bei Ponyprog hab ich auf ein Symbol geklickt,
> welches "Write Fuse & Lock bits" heißt.
> Bei Ponyprog waren zu dem Moment wo ich darauf
> geklickt hab, alle Haken weg.

Ja, PonyProg ist da etwas umständlich. Man muss nämlich erst diesen
Dialog öffnen, dann auf Read klicken, die Fuses einlesen, das
entsprechende Bit abändern, dann auf Write klicken. Dazu sind die
Schaltflächen noch etwas komisch angeordnet. Wenn ich Dich richtig
verstanden habe, hast Du den Read-Schritt vergessen.

Trotzdem ist Deine Wortwahl noch etwas durcheinander (Fuses "setzen",
etc.). Ich zitiere mal den entsprechenden PonyProg-Dialog (trotz den
komischen Englischs sicherlich verständlich):

[x] Checked items means programmed (bit = 0)
[ ] UnChecked items means unprogrammed (bit = 1)

von Rolf Magnus (Gast)


Lesenswert?

> Haken entspricht "0" also gesetzt widerspricht ja zunächst mal
> etwas der konventionellen Denkweise...
> Und was ist gegen Pony-Prog (gerade für nen Beginner) einzuwenden?

Genau das.

> Afaik sind die 8-Pin-Tinys nicht parallel programmierbar (wie
> sollen die Daten auch über 6 IO-Pins reinkommen?). Das mit den 12
> V scheint OK zu sein, eine andere Möglichkeit gibts meines Wissens
> nicht...

Es gibt bei den kleinen AVRs deshalb statt des "parallel programming"
das "high voltage serial programming". Da reicht es aber nicht,
einfach 12V auf den Reset-Pin zu legen. Sowohl das Protokoll als auch
die Pinbelegung sind ganz anders. Wer den Reset ausschaltet, kommt mit
ISP nicht mehr ran. Es geht nur noch das HV-Programming.

von xXx (Gast)


Lesenswert?

>Danke für die flotten antworten.
>(die von xXx ignorier ich einfach - no comment!)

Wie war das mit dem ignorieren, hast doch schon was dazu gesagt.

Bin dann weg...

von Engel (Gast)


Lesenswert?

Also wenn ich das richtig verstehe, um bei nem ATtiny mit 8 pinnen, 6
I/O Pins, alle 6 zu benutzen hab ich mit low-budget mitteln nur eine
chance. Also ein definitiv funktionierendes programm schreiben,
fusebits setzen und fertig.
Danach was zu ändern ist nur mit teuren brennern möglich.

@xXx: Dein Beitrag war sowas von kontraproduktiv. Den hab ich
ignoriert, bis jetzt eben. Und wild drauf losprogrammieren ist bei mir
auch nicht. Durch schule und privates interesse hab ich ein solides
Grundwissen. Und das Programm hab ich innerhlab von 5 minuten
geschrieben ohne vorlage und es hat auf anhieb funktioniert.

von Rolf Magnus (Gast)


Lesenswert?

> Danach was zu ändern ist nur mit teuren brennern möglich.

Man kann sich auch selbst ein HV-Programmiergerät bauen. Das geht auch
mit relativ geringem Aufwand. Wenn's wichtig ist, daß es nur ein
Achtbeiner ist, dürfte sich das lohnen. Sonst nimm halt den
Nächstgrößeren.

> Und wild drauf losprogrammieren ist bei mir auch nicht.

Ich glaube, er meinte, daß du den Reset mal ausgeschaltet hast, um
einen Pin freizubekommen, ohne dich vorher über die Konsequenzen zu
informieren.

> Und das Programm hab ich innerhlab von 5 minuten geschrieben ohne
> vorlage und es hat auf anhieb funktioniert.

Naja, das ist aber schon das, was man als "mal so drauf los
programmieren" bezeichnen könnte ;-)

von Bernhard S. (bernhard)


Lesenswert?

@ROLF

>Man kann sich auch selbst ein HV-Programmiergerät bauen.


Scheint aber nicht ganz einfach zu sein, hatte mich mal kurz damit
beschäftigt, es aber wieder beiseite gelegt, erschien mir zu
kompliziert. Aufwand / Nutzen


Bernhard

von Engel (Gast)


Lesenswert?

Hmm, dann werd ich wohl zum ATtiny 2313 wechseln müssen.
Kostet ja nur 15 cent mehr als der ATtiny 12.

Eine frage noch: Könnte ich den ATtiny 12 mit nem professionellen
brenner wieder auf "kaufzustand" bringen?
So das ich den wieder mit nem ISP kabel brennen kann?

Mfg
 raDon

von Rahul (Gast)


Lesenswert?

>Könnte ich den ATtiny 12 mit nem professionellen brenner wieder auf
"kaufzustand" bringen
Mit dem STK500 sollte das gehen.
Es müsste sogar einen "Bastel"-Programmer geben, der das kann. Wie
das geht, ist im Datenblatt unter "Memory-Programming/High-voltage
Programming" beschrieben.

von Bernhard S. (bernhard)


Lesenswert?

@Rahul

>Wie das geht, ist im Datenblatt unter "Memory-Programming/High-
>voltage Programming" beschrieben.

Konntest Du Dich schon damit beschäftigen?

Bernhard

von Rahul (Gast)


Lesenswert?

Brauche ich nicht. Ich habe ein STK500...
Der Programmier-Algorithmus sieht aber nicht wirklich aufregend aus...
Es gibt aber irgendwo (im Internet; Hammer-info?) ein
HV-Programmieradapter.

von Rolf Magnus (Gast)


Lesenswert?

> Scheint aber nicht ganz einfach zu sein, hatte mich mal kurz damit
> beschäftigt, es aber wieder beiseite gelegt, erschien mir zu
> kompliziert. Aufwand / Nutzen

Naja, so arg kompliziert muß es gar nicht sein. Siehe:

http://elm-chan.org/works/avrx/report_e.html

von Bernhard S. (bernhard)


Lesenswert?

@Rolf

Danke für Deinen Link, er ist sehr interessant.

Bernhard

von Engel (Gast)


Lesenswert?

Nun noch ein Schlusswort: Jetzt läuft er wieder.

Lösung: Galeb III (schreibt sich der so?!). Ein Arbeitskollege hatte
ihn heute mitgebracht und hat bei meinem TINY die Fuse Bits
zurückgesetzt.

@ Rolf Magnus: Super link. der HV Programmer für 8 Pin AVR ist sehr
einfach aufzubauen. Nen paar Transistoren und Widerstände und ich kann
auch zu Hause den internen Reset nutzen.

Danke nochmal für die Hilfe
Mfg
 raDon

von Engel (Gast)


Lesenswert?

Hi, noch was.

hab den Tropfen gefunden (der mein Fass zum überlaufen brachte)

Ich hab als Grundlage für die Hardware ein Tutorial benutzt, welches
sich auf PonyProg200 2.06 bezog. ich hatte aber eine ältere Version
installiert. (Die neuen sind alle als BETA ausgezeichnet)

In der neuen Version hat eine Schaltfläche die Funktion Fuse Bits Menü
aufrufen, wo man diese lesen und schreiben kann.
In der alten Version brennt PonyProg sofort die aktuell eingestellten
Fuse Bits, was natürlich in die Hose gehen kann, wie beschrieben. :)

Also obacht bei der alten Version von PonyProg.

Mfg
   raDOn

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.