PIC16F:

 

1. Защита:

Микроконтроллеры семейства PIC16F используют биты в специальном Слове Конфигурации для установки защиты. Эти биты программируются вместе с основным кодом и не могут быть изменены во время работы.

 

1.1 Защита от чтения:

Защита от чтения предотвращает несанкционированное считывание программного кода и данных из памяти микроконтроллера через программатор.

Биты защиты от чтения:

Бит Описание Состояние CP (Code Protection) Защищает всю программную память Flash от внешнего считывания. 1 = Выкл, 0 = Вкл CPD (Data Code Protection) Защищает память данных EEPROM от внешнего считывания. 1 = Выкл, 0 = Вкл

 

1.2 Защита от записи:

Защита от записи предотвращает программное изменение определенных областей памяти. Это полезно для защиты загрузчика или калибровочных данных.

Бит защиты от записи:

Бит Описание Состояние WRT (Write Protection) Позволяет защитить от записи часть программной памяти Flash. В зависимости от модели, может защищать верхнюю половину, четверть или только загрузочный блок. 1 = Выкл, 0 = Вкл

 

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

Единственный способ снять бит защиты от чтения (CP) — это выполнить команду полного стирания кристалла (Bulk Erase) с помощью программатора. Эта операция уничтожает все содержимое программной памяти и памяти данных EEPROM. После этого микроконтроллер можно перепрограммировать с новыми битами конфигурации.

 

2. Слово Конфигурации:

Все биты конфигурации, включая биты защиты, хранятся в одном или нескольких 14-битных Словах Конфигурации. Эти слова расположены в специальной области памяти конфигурации, недоступной для программного счетчика.

Расположение Слова Конфигурации (пример для PIC16F877A):

Адрес Регистр 0x2007Слово Конфигурации

Примечание: Для более новых семейств, таких как PIC16F1xxx, может быть два слова конфигурации по адресам 0x8007 и 0x8008.

Ключевые биты, влияющие на безопасность:

LVP (Low-Voltage Programming Enable): Разрешает режим низковольтного программирования. Если этот бит включен, для входа в режим программирования не требуется высокое напряжение Vpp на выводе MCLR/VPP. Для повышения безопасности рекомендуется отключать этот режим (LVP=0).

MCLRE (Master Clear Enable): Определяет функцию вывода MCLR. Если бит выключен, вывод MCLR становится обычным цифровым входом, что может затруднить сброс и перепрограммирование устройства.

 

3. Идентификаторы устройства:

Микроконтроллеры PIC16F имеют области памяти для хранения идентификаторов.

Адреса идентификаторов:

Адрес Описание 0x2000 - 0x2003 User ID (4 ячейки, программируются пользователем) 0x2006 Device ID (Идентификатор устройства и ревизии, только чтение)

 

Microchip Technology

 

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

 

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