mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Lockbit-Frage trotz Bootloader


Autor: Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

vorweg ich habe schon die Suchfunze benutzt aber bin nicht zum 
gewünschten Ergebnis gekommen.

Folgende Problematik:
Ich habe ein Steuerprogramm für einen ATmega 32 Entwickelt und würde 
dieses gerne "im Chip" weitergeben. Das mit dem Ausleseschutz ist mir 
soweit klar. Ich hoffe ihr haltet mich nicht für einen Egoisten aber in 
das Programm habe ich mehr als 100h Arbeit hineingehängt und möchte 
dieses somit natürlich vor dem Kopieren schützen.
Das Problem ist daß ich ein Programmupdate über einen Bootloader machen 
möchte. Der Bootloader ist in C geschrieben und unterstützt kein Verify 
da dies ja eine möglichkeit zum Auslesen wäre. Die Firmware wird 
verschlüsselt zum AVR übertragen und vom Bootloader entschlüsselt und im 
Flash abgelegt.
Was mir nicht klar ist: Wie muß ich die  Lockbits einstellen, daß das 
auslesen der Firmware aus dem uC mit normalen Mitteln unmöglich ist 
(also kein ISP usw...) der Bootloader aber trotzdem in den 
Speicherbereich reinschreiben kann? Es sollte (muß aber nicht) auch 
möglich sein große Datenfelder die im Flash abgelegt werden in der 
Firmware auszulesen.

Wie gehe ich vor?
Falls was unklar ist, bitte posten ich versuche es dann zu erklären..

MfG
Müller

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Bootloader-Schreiben in den Flash hat nichts mit den Lock-Bits für 
den Modus 1-3 zu tun. Wenn Du diese so setzt, daß das Flash über die 
Programminterfaces nicht gelesen werden kann (Mode3: Further programming 
and verification disabled), dann kann der Bootloader trotzdem schreiben 
und lesen. Die Firmware kann nicht ausgelesen werden, es sei denn, Dein 
Bootloader kann a) lesend auf des Flash zugreifen und b) Du erlaubst 
ihm, diese Daten nach außen zu übermitteln. Tust Du dies nicht, ist Dein 
Programm im Chip und auch der Bootloader selbst sicher. Erlauben mußt Du 
SPM in der Applikations-Sektion; wenn Dein Programm Konstanten aus dem 
Flash lesen soll, mußt Du auch LPM in der Applikations-Sektion erlauben. 
Verhindern mußt Du SPM in der Bootloader-Sektion, damit der Bootloader 
durch einen Codefehler nicht selbst abgeschossen werden kann. Braucht 
der Bootloader Konstanten aus dem Flash, muß in der Bootloader-Sektion 
LPM erlaubt werden.

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst unterscheiden zwischen den Lockbits und den Boot-Lock-Bits. Das 
sind zwei völlig unterschiedliche Dinge. Die Lockbits regeln den Zugriff 
von außen (also über die Programmierschnittstellen ISP und JTAG/dW) und 
die Boot-Lock-Bits den Zugriff über den Bootloader. Du kannst über die 
Lock-Bits einstellen, dass keine Programmierung und Verification über 
die Standard-Programmierschnittstellen möglich sind. Das hat aber keinen 
Einfluss auf die Zugriffsrechte des Bootloaders, die über die 
Boot-Lock-Bits konfiguriert werden können. Schau Dir einfach im 
Datenblatt unter "Memory Programming" die Tabelle an. Die sollte 
eigentlich keinerlei Fragen offen lassen.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du setzt die Fuse für JTAG Disable und die Hardware-Lockbits.

Die Bootloaderlockbits setzt du auf Schreibschutz und die 
Applikationslockbits auf ungeschützt.

Damit ist JTAG, ISP und Parallel ausgesperrt und nur der Bootloader darf 
schreiben.


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.