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.
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
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
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.
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...
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
@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.
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.
> 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.
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'.
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?
> 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!
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