PIC18F:

 

1. Защита:

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

 

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

Основной механизм защиты в PIC18Fxxxx — это защита от чтения программной памяти. Это предотвращает считывание прошивки с устройства через программатор. Защита включается для разных блоков памяти отдельно. Если бит защиты установлен (запрограммирован в '0'), соответствующий блок памяти не может быть прочитан извне.

Биты защиты кода:

Бит Описание CP0...CPn Биты защиты от чтения для блоков программной памяти Flash. CPB Бит защиты от чтения для загрузочного блока (Boot Block). CPD Бит защиты от чтения для памяти данных EEPROM.

 

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

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

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

Бит Описание WRT0...WRTn Биты защиты от записи для блоков программной памяти Flash. WRTB Бит защиты от записи для загрузочного блока (Boot Block). WRTC Бит защиты от записи для регистров конфигурации. WRTD Бит защиты от записи для памяти данных EEPROM.

 

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

Для снятия защиты от чтения необходимо выполнить полное стирание микросхемы (Chip Erase) с помощью программатора. Эта операция необратимо удаляет всю программную память и память данных EEPROM. После стирания можно запрограммировать новые значения битов конфигурации, отключив защиту.

 

2. Биты конфигурации:

Биты конфигурации — это специальные ячейки памяти, которые определяют ключевые параметры работы микроконтроллера. Они считываются при сбросе и не могут быть изменены программно во время работы (если не снят бит WRTC).

Расположение регистров конфигурации:

Адрес Регистр 0x300000CONFIG1L 0x300001CONFIG1H 0x300002CONFIG2L 0x300003CONFIG2H 0x300004CONFIG3L 0x300005CONFIG3H 0x300006CONFIG4L 0x300008CONFIG5L 0x300009CONFIG5H 0x30000ACONFIG6L 0x30000BCONFIG6H 0x30000CCONFIG7L 0x30000DCONFIG7H

Ключевые биты конфигурации, влияющие на безопасность:

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

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

 

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

Микроконтроллеры PIC18Fxxxx имеют уникальные идентификаторы, которые можно использовать для серийных номеров, привязки прошивки к конкретному устройству или для криптографических целей.

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

Адрес Описание 0x200000 - 0x200007 User ID (8 байт, программируются пользователем) 0x3FFFFE - 0x3FFFFF Device ID (Идентификатор устройства и ревизии, только чтение)

Идентификаторы устройства (Device ID) уникальны для каждой модели PIC, а также содержат информацию о ревизии кристалла. Пользовательские идентификаторы (User ID) могут быть запрограммированы один раз для хранения любой информации, например, серийного номера.

 

Microchip Technology

 

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

 

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