Цитата(Igor26 @ Apr 22 2008, 10:02)

Молодец! Хорошая работа!

Думаю насчёт защиты от копирования работа не очень хорошая. Это оттуда:
Цитата
Шифрование - производится шифрование прошивки по алгоритму Z=255-(X xor Y) исключающее ИЛИ с инверсией, расшифровка производится в программе загрузчика по обратному алгоритму X=(255-Z) xor Y
X- байт прошивки
Y- байт таблицы
Z- зашифрованый байт
Прошивка шифруется блоками по 256 байт,тоесть первым байтом с первым байтом таблицы,второй со вторым и т.д. ,начиная с 257-го байта прошивки опять берется первый байт из таблицы ,258-ой со вторым и т.д. Если компилятор генерирует свободную область памяти и заполняет ее значениями $FF или $00 ,и она не используется программой ,ее рекомендуется заполнить случайными значениями для более надежного шифрования. Если компилятор не генерирует свободную область памяти ,при компиляции следует в конце исходника добавить случайных данных чтобы размер прошивки был кратен 256.При соблюдении этих рекомендации прошивка будет зашифрована достаточно надежно.
Если во FLASH содержатся к.л. сообщения, или вообще что-либо выдаваемое наружу (в 95% применений это так), то такая защита ломается элементарно. Конечно это справедливо только в том случае, если основная программа не написана специальным "неломаемым" образом, но об этом тут ни слова.