Script - Страница 43

МИКРОКОНТРОЛЛЕРЫ СЕМЕЙСТВА 8051 - Script

Чтобы ввести микроконтроллер в режим программирования, необходимо подать высокий уровень сигнала на вход RESET, низкий уровень сигнала на вход _PSEN и установить высокий уровень на входе ALE, который будет переключаться при поступлении команды на запись данных. В приведенной ниже таблице представлен ряд режимов, используемых при программировании

В первую очередь рассмотрим область байтов шифрования. Это 64 байта, записываемые в EPROM, которые изменяют при чтении содержимое памяти программ таким образом, чтобы программу было трудно понять, не зная байтов шифрования. При чтении программного кода реализуется следующий алгоритм:

Output = Control(Address) ^ !Encrypt( Address & 3Fh ),

где «Output» — считываемый байт, «Control» — адресуемый байт программного кода, «Encrypt» - байт шифрования, последовательно выбираемый из 64-байтной области, при выборке которых используются только 6 младших разрядов адреса от OOh до 3Fh), A! — обозначение логической операции эквивалентности (отрицание Исключающего ИЛИ). Если область байтов шифрования осталась незапрограммированной (при этом все биты сохраняют значение 1), то содержимое зашифрованной EPROM может быть считано в исходном виде (без шифрования). Чтобы избежать этого, необходимо записать значения байтов шифрования, отличные от OFFh. Чтобы затруднить расшифровку, байты шифрования не должны иметь одно и то же значение. Чтобы получить случайные значения этих байтов можно использовать произвольные источники кода, фрагменты из посланий по электронной почте, конечные части программ. Можно, например, повторить последнюю часть кода, записанного в память программ, или предварительно записать его в алгоритмической форме (это можно легко выполнить, используя приложение «Основные команды Ассемблера»).

Go to Top