Hallo Forum,
ich arbeite mit einem AT90CAN128 und möchte über die Lock bits folgendes
erreichen:
1. Erneutes Aufspielen eines Bootloaders soll nicht möglich sein
2. Bootloader soll Programm updaten können
3. Programm soll nicht ausgelesen werden können
4. EEPROM soll noch gelesen und geschrieben werden können (geht glaube
ich nicht)
Gesetzt habe ich im makefile folgendes:
1 | set "lock=0b00000100"
|
2 | REM Bit 7 6 5 4 3 2 1 0
|
3 | REM - - BLB12 BLB11 BLB02 BLB01 LB2 LB1
|
4 | REM 1=unprogrammed, 0=programmed
|
5 | REM unused bits 6 and 7 set to 0 to prevent veryfication error
|
Und nach dem Programmieren der Fuses, des BL und der FW per Batch kommt
dann noch das Setzen der Lock bits:
1 | avrdude -p %controller% -c %programmer% -P %port% -U lock:w:%lock%:m
|
Entspricht das meinen Forderungen, oder habe ich was übersehen?
Was ist mit dem EEPROM? So wie ich es verstehe, kann ich es nur komplett
sperren, wenn ich das Auslesen des Flashs verhindern will.
Die Fuses und Lock bits kann ich auslesen und sie stimmen.
Ich kann aber problemlos auch den Flash auslesen.
Sollte hier nicht eine Fehlermeldung kommen?
Wie realisiert man diese Anmerkung aus dem Datenblatt?
1 | Notes: 1. Program the Fuse bits and Boot Lock bits before programming the LB1 and LB2.
|
Danke für eure Hilfe!