Перейти к содержанию
    

AVR и защита чтения

Сразу оговорюсь, что я в курсе про то что можно за баксы взломать AVR.

 

Есть бутлоадер, который загружает апликейшн. Тоесть клиент купивший дивайс, может дома обновлять прошивку.

Но я бы хотел чтобы флешка не могла бы читаться с помощью ISP.

Для этого конечно можно поставить LB1 и LB2. Но я попробовал, и не могу из бутлоадера писать в апликейшн флеш.

 

Еще есть BL0 и BL1 биты. Тоже пробовал ставить, но через ISP все же читает флешку. Не совсем понятно от чего защищают данные биты. Наверное от внутреннего чтения/записи, с помощью LPM/SPM комманд.

 

Правильно ли я предпологаю, что в моем случае никак невозмоно И дать возможность апгрейдить прошивку через бутлоадер И защитить флешку от чтения через ISP?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сразу оговорюсь, что я в курсе про то что можно за баксы взломать AVR.

Интересно сколько стоит?

А смысл?

 

Есть бутлоадер, который загружает апликейшн. Тоесть клиент купивший дивайс, может дома обновлять прошивку.

Но я бы хотел чтобы флешка не могла бы читаться с помощью ISP.

Lockbits=FC.

LB0:1=00.

 

Правильно ли я предпологаю, что в моем случае никак невозмоно И дать возможность апгрейдить прошивку через бутлоадер И защитить флешку от чтения через ISP?

Вопрос в том кто пишет application. Если вы - то защита обеспечивается LB.

Если пользователь, то наверное (я не пробовал - не было такой задачи), установка Boot Lock Bit1 Protection Modes защитит ваш загрузчик от чтения из области application.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для этого конечно можно поставить LB1 и LB2. Но я попробовал, и не могу из бутлоадера писать в апликейшн флеш.
Давайте конкретнее: что делали и что получилось. Эти биты никак не влияют на самопрограммирование.

Правильно ли я предпологаю, что в моем случае никак невозмоно И дать возможность апгрейдить прошивку через бутлоадер И защитить флешку от чтения через ISP?
Нет, неправильно предполагаете, возможно.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да, действительно LB1 и LB2 не влияют на самопрограммирование. Я почему-то пробовал в локбиты в савокупности с BLB...

Все получилось, спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите можно ли настроить биты защиты так что бы контроллер мог работать следующим образом.

1. Загрузчик нельзя было бы прочитать не загруженной программой, не через интерфейс программирования.

2. Программа могла бы вызвать подпрограмму в области загрузчика.

3. Загрузчик мог бы спокойно писать код в ЕЕPROM и FLASH

 

если так возможно подскажите как выставить биты.

 

Забыл еще 1 пункт.

4. программа могла бы спокойно читать и писать EEPROM.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1, 2, 4 - выполняются при любом варианте включения защиты. А чтобы выполнялся пункт 3 (в части записи в память программы) - не запрещайте использование lpm/spm в битах защиты загрузчика.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1, 2, 4 - выполняются при любом варианте включения защиты. А чтобы выполнялся пункт 3 (в части записи в память программы) - не запрещайте использование lpm/spm в битах защиты загрузчика.

 

Спасибо. Конкретную конфигурацию можете подсказать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так почитайте даташит внимательно, все описано.

Что-бы там не было написано, китайцы "делают" очень быстро.

Поэтому надо каждому устройству свой номер, потом банить нужные серийники.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так почитайте даташит внимательно, все описано.

 

Если бы я понял то описание, то не спрашивал бы тут. Для вас как программиста возможно там все понятно, я пишу 1-2 простейшие программы на мк в год, так что я далеко не программист которому там все понятно. А с битами защиты я вообще в первый раз сталкиваюсь, и то мера вынужденная.

Изменено пользователем Mildi

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если бы я понял то описание, то не спрашивал бы тут. Для вас как программиста возможно там все понятно, я пишу 1-2 простейшие программы на мк в год, так что я далеко не программист которому там все понятно. А с битами защиты я вообще в первый раз сталкиваюсь, и то мера вынужденная.

 

 

Вообще-то, если делаете загрузчик, то это совсем не начальный уровень.

Тогда рекомендую перевести 3 строчки через гугл переводчик.

 

SPM - Store Program Memory (запись байта во флеш)

LPM - Load Program Memory (чтение байта из флеш)

 

 

LB - установить

BLB0 - не устанавливать

BLB1 - установить

post-33716-1452710821_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Это не супер защита а просто небольшой способ избежать тупого копирования, и позволит делать обновление пользователями самостоятельно (обновляться будет только блок данных в программе по мереих уточнения, алгоритм будет неизменный).

 

я так понял мне надо установить лок биты 0xCС?

 

или 0x0C (два старших байта не описаны в даташите)?

Изменено пользователем Mildi

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...