Atmega:

 

1. Защита:

Микроконтроллеры семейства Atmel Atmega используют специальные биты конфигурации (Fuses) и биты блокировки (Lock Bits) для защиты программного кода и данных. Эти биты устанавливаются с помощью внешнего программатора и определяют уровни доступа к памяти и интерфейсам программирования.

Важно: Неправильная установка Fuses может привести к полной блокировке микроконтроллера, для восстановления которого потребуется высоковольтный программатор.

 

1.1 Биты блокировки (Lock Bits):

Биты блокировки являются основным средством защиты Flash и EEPROM памяти от считывания и записи через внешние интерфейсы программирования (ISP, JTAG).

Режимы защиты (биты LB2, LB1):

Режим LB2 LB1 Описание 1 (незащищенный) 1 1 Защита отключена. Чтение и запись памяти разрешены. 2 (защита от записи) 1 0 Запись Flash и EEPROM через программатор запрещена. Чтение разрешено. 3 (полная защита) 0 0 Запись и чтение Flash и EEPROM через программатор запрещены.

Примечание: "1" означает "не запрограммирован", "0" - "запрограммирован".

 

1.2 Защита загрузчика (Boot Lock Bits):

Эти биты (BLB01, BLB02, BLB11, BLB12) позволяют установить защиту на чтение или запись между секцией приложения и секцией загрузчика (Bootloader). Это позволяет безопасно обновлять прошивку, не опасаясь, что основная программа повредит загрузчик.

 

1.3 Биты конфигурации (Fuse Bits), влияющие на безопасность:

Некоторые Fuse-биты напрямую влияют на возможность доступа к микроконтроллеру.

Ключевые Fuse-биты:

Бит Описание SPIEN Разрешает последовательное программирование (ISP). Если этот бит снять (запрограммировать в '1'), стандартные программаторы не смогут получить доступ к чипу. RSTDISBL Отключает функцию сброса на выводе RESET, превращая его в обычный порт ввода-вывода. Это также блокирует доступ через ISP.

 

1.4 Снятие защиты:

Единственный способ сбросить биты блокировки (LB1/LB2) — это выполнить команду "Chip Erase" (Полное стирание) через программатор. Эта команда полностью стирает Flash-память и, как правило, EEPROM. После этого все биты блокировки и конфигурации возвращаются в исходное (незащищенное) состояние. Fuse-бит `EESAVE` позволяет сохранить данные EEPROM во время полного стирания.

 

2. Сигнатура устройства:

Микроконтроллеры Atmega имеют несколько байт для идентификации. В отличие от STM32, у них нет глобально уникального серийного номера.

Байты идентификации:

Имя Описание Signature Bytes Три байта, которые однозначно идентифицируют модель микроконтроллера (например, 0x1E950F для ATmega328P). Считываются программатором для верификации устройства. Calibration Byte Байт для калибровки внутреннего RC-генератора. Хранится в области сигнатур.

 

Microchip Technology (AVR)

 

Задать свой вопрос: RussianSemiResearch@ya.ru

 

 
RussianSemiResearch. © 2008-2025.E-mail: RussianSemiResearch@ya.ru