Forum: Mikrocontroller und Digitale Elektronik Logbits im MEGA16


von udo (Gast)


Lesenswert?

Hallo,

habe mir bei Reichelt 10 MEGA16 bestellt. Die Lieferungen davor waren 
immer alle o.k. Bloß bei der jetzigen Lieferung sind alle MEGA16, aber 
wirklich bei allen die Logbits auf "Null" gesetzt, also Prog disable. Es 
sind brandneue MEGA16. Reichelt würde die zurücknehmen, falls ich die 
Fuses nicht zurücksetzen kann. Will aber zunächst versuchen, ob ein 
Rücksetzen möglich ist.

Konnte per AVRISP mkII diese Bits nicht auf "enable" setzen. Habe es in 
AVRStudio5 und AVRStudio4 probiert. Es geht nicht.

Meine Fragen:

Gibt es vielleicht doch einen Trick, um die Fuses per AVRISP wieder 
zurückzusetzen oder geht das am einfachsten?! mit dem STK500. Bevor ich 
lange rumexperimentiere, kann mir vielleicht jemand sagen, was zu tun 
ist.

von spess53 (Gast)


Lesenswert?

Hi

Welche Logbits? es gibt Fuse-Bits und Lock-Bits. Falls du letztere 
meinst, da hilft ein Erease.

MfG Spess

von udo (Gast)


Lesenswert?

Hallo Spess,

guck mal im Studio nach. Es gibt den Reiter "Logbits" und unter Lockbits 
sind die Fuses. Sie heißen LB, BLB0 und BLB1 und der Value ist 
"disable".

Genau diese Fuses sind von Haus aus auf "disable" gesetz. Und das 
verstehe ich nicht, weil die MEGAS frisch vom Händler sind.

Mit "erase" funktioniert das nicht. Habe ich etliche Male probiert. Alle 
Varianten habe ich durchgecheeckt.

Udo

von spess53 (Gast)


Lesenswert?

Hi

>Genau diese Fuses sind von Haus aus auf "disable" gesetz. Und das
>verstehe ich nicht, weil die MEGAS frisch vom Händler sind

Das ist doch richtig so. Enabled bei einem Lockbit heißt gsperrt.

>Es gibt den Reiter "Logbits"

Dumm nur, das der ATMega16 überhaupt keine Log-Bits besitzt. Ich kenne 
auch keinen anderen. Du hast wohl AVR-Studio 5. Wenn ja, dann melde 
Atmel den Bug.

MfG Spess

von udo (Gast)


Lesenswert?

Hi Spess,

sei mir nicht böse:

Kennst du dich aus oder nicht? Im Studio 4 und auch in 5!!! werden mir 
diese Lockbits, also die Fuses beim Atmega 16 angezeigt. In Worten 
"disable to programm the device" Steht im Klartext in der Box.

Guck mal im Datasheet vom MEGA16 Seite 254! ich nehme gerne hilfe an, 
aber ich galube du irrst, oder?

Unter anderem lies mal hier. Bin ich auf dem Holzweg oder du?

Der ATmega 16 stellt 6 Lockbits zur Verfügung, die, wie auch die 
Fusebits, bei 0 gesetzt und bei 1 nicht gesetzt sind. Lockbits finden 
dann Verwendung, wenn der Chip fertig programmiert ist, und sein Inhalt 
danach nicht mehr verändert werden darf. Werden dann diese Bits gesetzt, 
dann ist kein Schreibzugriff auf den Chip mehr möglich.
Die 6 Lockbits sind in 3 Gruppen aufgeteilt. Im Auslieferungszustand 
sind alle Bits auf 1 gesetzt.

LB2-LB1: LockBit Mode
Wird LB2 gesetzt (0), dann ist es nicht mehr möglich den Chip zu 
programmieren. Werden beide Bits gesetzt, dann kann auf den 
Mikrocontroller nicht mehr schreibend zugegriffen werden, und er kann 
auch nicht mehr verifiziert werden.

BLB02-BLB01: Boot0 LockBit Mode
Diese Bits betreffen den Zugriff über die Assemblerbefehle
SPM (Store Program Memory) und LPM (Load Program Memory)
auf den Speicherbereich des Flashs in dem das Anwendungsprogramm liegt.

BLB12-BLB11: Boot1 LockBit Mode
Diese Bits betreffen den Zugriff über die Assemblerbefehle
SPM (Store Program Memory) und LPM (Load Program Memory)
auf den Speicherbereich des Flashs in dem der Bootloader liegt.

von Martin N. (emsen)


Angehängte Dateien:

Lesenswert?

Seid mir nicht böse, aber hier ein beweisender Screenshot eines 
ungesperrten Mega32 zum Vergleich (AS5). Und jetzt schaut's euch an, 
seht die Werte, und manch einen wird's verwundern...

von spess53 (Gast)


Lesenswert?

Hi

>Kennst du dich aus oder nicht? Im Studio 4 und auch in 5!!!

Von AVR Studio 2.xx bis 4.19, ja. AVR Studio 5 nicht, da ich W2K 
benutze.

>Unter anderem lies mal hier. Bin ich auf dem Holzweg oder du?

Das kenne ich seit Jahren.

Vielleicht habe ich diesen Satz falsch verstanden:

>Genau diese Fuses sind von Haus aus auf "disable" gesetz. Und das
>verstehe ich nicht, weil die MEGAS frisch vom Händler sind.

Ist da nun beim Auslesen ein Haken gesetzt oder nicht?

Wie schon gesagt, lassen sich gesetzte Lock-Bits dir ein Chip-Erease 
wieder zurücksetzen:

The Lock bits can only be erased to “1” with the Chip Erase command.

Wenn das nicht geht, würde ich mal deine Programmierumgebung überprüfen. 
Defekte, neue AVRs sind mir bei ein paar tausend Stück noch nicht 
untergekommen. Kannst du die Signatur der ATMega korrekt lesen?

MfG Spess

von udo (Gast)


Angehängte Dateien:

Lesenswert?

@Martin,

alle anderen MEGAS, die im Einsatz sind, zeigen das gleiche Bild, wie du 
es gepostet hast. So soll es beim ersten Einsatz auch sein.

Wenn ich die Häkchen auf "No Lock" setze, kommt immer wieder die Meldung

"Logbits verification failed"

siehe Bild 1


Bei einem jungfräulichen MEGA16 werden mir diese Fuses wie in Bild 2 
angezeigt. Dieser Prozessor ist direkt aus der Schachtel vom Händler.

Wenn ich die Signatur auslese wird der Wert 0x00 0x00 0x00 angezeigt und 
die Meldung kommt:"Signature does not match selected device.

Hier wird der Fehler liegen. Aber was bedeutet das? Habe diese Meldung 
in den ganzen Jahren noch nicht gesehen.


Ich danke erst mal euch Helfern für eure Meldungen. Ich will das Thema 
nicht bis zum Abwinken in die Verlängerung ziehen. Werde, wenn es keine 
Erklärung gibt, die MEGAS bei Reichelt zurückgeben. Reichelt wird sie 
umtauschen.

Aber vielleicht hat jemand ja doch einen Hinweis.

von Dr. G. Reed (Gast)


Lesenswert?

Die Signatur kann man ebenfalls nicht lesen, wenn die ISP Frequenz zu 
hoch ist.
Setzte mal die ISP Frequenz von deinem STK500 runter, das geht auch 
irgendwo in dem Programmierdialog.

von Hans (Gast)


Lesenswert?

> Wenn ich die Signatur auslese wird der Wert 0x00 0x00 0x00 angezeigt und
> die Meldung kommt:"Signature does not match selected device.

Du hast keine "Verbindung" zum Chip. Eventuell Taktfrequenz herabsetzen.

von Sven P. (Gast)


Lesenswert?

udo schrieb:
> Hi Spess,
>
> sei mir nicht böse:
Ich denke, Spess wollte dich dezent darauf hinweisen, dass es LoCK-Bits 
sind, keine LoG-Bits. Mit CK, so von 'sperren'.

von Rudi Ratlos (Gast)


Lesenswert?

udo schrieb:
> "Logbits verification failed"

Als nicht-praktizierender Legastheniker vermag ich auf den Dialogen 
lediglich Hinweise auf "Lock"-Bits zu erkennen.

Treibts Du hier Dein Spiel, nahezu alternierend die Schreibweisen 
"Log"-Bits oder aber "Lock"-Bits zu verwenden zur gezielten Verwirrung, 
oder zur Dokumentation eines bemerkenswerten Unvermöges?

von Hans (Gast)


Lesenswert?

> Treibts Du hier Dein Spiel, nahezu alternierend die Schreibweisen
> "Log"-Bits oder aber "Lock"-Bits zu verwenden zur gezielten Verwirrung,
> oder zur Dokumentation eines bemerkenswerten Unvermöges?

Ach!

von Martin N. (emsen)



Lesenswert?

Hier nochmal der selbe Controller im AS4.18.

von udo (Gast)


Lesenswert?

VICTORY!

Abschließend Dank an alle, die sich die Zeit genommen haben zu 
schreiben.

Besonderen Dank an diejenigen, die mir den Hinweis gegeben haben, das 
die ISP-Frequenz zu hoch war. Konnte auch niemand anfangs der Diskussion 
von euch ahnen.

Mir war nicht klar, das in diesem Fall keine Kommunikation möglich ist.


Alle MEGAS werden wieder richtig erkannt.

Vielleicht ist dieser Beitrag für andere mal hilfreich.

Udo

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.