Ячейки защиты (Lock Bits) помогают защитить программное обеспечение от корыстного использования третьими лицами.
Ячейки бывают двух типов. К первому из них относятся биты LB1, LB2, которые имеются во всех без исключения AVR- микроконтроллерах. Их комбинация определяет степень доступа к памяти FLASH и EEPROM в соответствии с табл.3.
Табл.3. Ячейки защиты FLASH-памяти программ и EEPROM-памяти данных:
Номер режима защиты |
Ячейки защиты |
Описание |
||
LB1 |
LB2 |
|||
Защита FLASH и EEPROM |
||||
1 |
1 |
1 |
Защита FLASH и EEPROM отключена. |
|
2 |
0 |
1 |
Запись FLASH и EEPROM запрещена. |
|
3 |
0 |
0 |
Чтение и запись FLASH и EEPROM запрещены. |
Ячейки второго типа содержатся только в тех моделях AVR, которые имеют возможность самопрограммирования. Одна пара этих ячеек BLB02, BLB01 определяет режим защиты прикладной программы, а вторая пара BLB12, BLB11 – режим защиты секции загрузчика. Эти биты накладывают определенные ограничения на функционирование инструкций lpm/spm и не имеют слишком большого практического значения.
Все ячейки располагаются в одном байте и доступны на этапе программирования либо из Boot Loader Section. Подобно FUSE-битам, запрограммированному значению ячеек защиты соответствует уровень лог.0.
К программированию ячеек защиты нужно подходить с определенной долей осторожности. Механизм защиты активизируется сразу после изменения их содержимого! Например, установка комбинации
LB1:LB2=00 полностью заблокирует доступ к FLASH и EEPROM. При чтении этих областей, вместо реально записанных данных, в дампе памяти можно будет увидеть пустую последовательность байтов типа 0x00, 0x01…0xFE,0xFF, 0x00 и.д. Перепрограммирование ячеек защиты возможно только после полного стирания кристалла.
Перейти к следующей части: Калибровочные ячейки и ячейки идентификаторов
Комментарии (0)
|
Я собрал (0) |
Подписаться
Для добавления Вашей сборки необходима регистрация