ATtiny vor Auslesen schützen

AVR Neuling

Mitglied
31. Juli 2013
38
0
6
Sprachen
Ich habe eine eher theoretische Frage. Ich habe gelesen, dass es möglich ist, einen Tiny auszulesen und das Programm auf einen anderen Tiny zu kopieren. Gibt es eine Möglichkeit das über das Setzen von Fuses zu verhindern? Falls ja, welche sind das? Der Tiny muss danach noch programmierbar sein. Ich habe zum ATtiny85 dazu leider nichts passendes gefunden.
 
Gibt's, die Dinger heißen Lockbits
(Im Datenblatt bei Memory Programming zu finden)
Einmal gelockt, kann dann nur noch nach'nem Chiperase-Command programmiert aund ausgelesen werden (auch HighVoltage).

Anekdote am Rande: Bei irgend'nem Tiny gab's mal'n Bug - sinnigerweise sollte der Versuch, den Lock-Level zu reduzieren ja ignoriert werden (sonst könnt man ja gleich den Schlüssel steckenlassen), bei dem Tiny wurde aber nicht ignoriert, sondern eine zufällige Adresse im Flash mit irgendwas (zufälligem(?)) beschrieben. Der Lock-Level blieb unverändert...
Bug?
Feature?

Edit: Attiny20, RevisionA

26.1 Rev. A

Issue: Lock bits re-programming

Resolution:
Attempt to re-program Lock bits to present, or lower protection level (tampering attempt), causes erroneously one, random line of Flash program memory to get erased. The Lock bits will not get changed, as they should not.
 
Zuletzt bearbeitet:
So, nun möchte ich wirklich mal einen ATtiny85 vor dem Auslesen schützen. Atmel Studio 6 gibt mir dazu zwei Möglichkeiten.
1) PROG_VER_DISABLED
2) PROG_DISABLED

Welche Option hat denn nun welche Auswirkung?
 

Anhänge

  • Lock Bit1.jpg
    Lock Bit1.jpg
    106 KB · Aufrufe: 9
Welche Option hat denn nun welche Auswirkung?

Wie die Bezeichnung der Auswahl vermuten läßt:
1. Keine Programmierung und kein Auslesen mehr möglich
2. Keine Programmierung mehr möglich

Wähle also 1.

Zuvor stellst du die Fusebits ein, falls für dein Projekt notwendig. In jedem Fall muss debugWire (DWEN) deaktivieren sein, damit man nichts mehr auslesen kann, das ist bereits von Werk aus deaktiviert.
 
Die Bedeutung von PROG_DISABLED habe ich mir so gedacht. Aber was das VER bedeutet, kann ich nur erahnen (verify? )
DWEN ist in der Übersicht nicht mit einem Haken versehen. Das bedeutet dann wohl, dass es nicht aktiviert ist.
Danke für die Infos.
 
DWEN = Debug Wire ENabled...
ohne Haken sollte es also disabled sein...

Die Programmiersperre schließt auch die Fusebits mit ein, deswegen Dirks Hinweis.

P.S.: schau mal ins Controllerdatenblatt. S. 151
Dann wird das mit den drei Möglichkeiten (Nolock, readonly, lock) klarer...
 
Zuletzt bearbeitet:

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)