|
|
  |
AVR и защита чтения, Lock bits |
|
|
|
Jan 7 2013, 23:59
|
Группа: Новичок
Сообщений: 2
Регистрация: 7-01-13
Пользователь №: 75 099

|
Сразу оговорюсь, что я в курсе про то что можно за баксы взломать AVR.
Есть бутлоадер, который загружает апликейшн. Тоесть клиент купивший дивайс, может дома обновлять прошивку. Но я бы хотел чтобы флешка не могла бы читаться с помощью ISP. Для этого конечно можно поставить LB1 и LB2. Но я попробовал, и не могу из бутлоадера писать в апликейшн флеш.
Еще есть BL0 и BL1 биты. Тоже пробовал ставить, но через ISP все же читает флешку. Не совсем понятно от чего защищают данные биты. Наверное от внутреннего чтения/записи, с помощью LPM/SPM комманд.
Правильно ли я предпологаю, что в моем случае никак невозмоно И дать возможность апгрейдить прошивку через бутлоадер И защитить флешку от чтения через ISP?
|
|
|
|
|
Jan 8 2013, 01:44
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(pashkatarakashka @ Jan 8 2013, 01:59)  Сразу оговорюсь, что я в курсе про то что можно за баксы взломать AVR. Интересно сколько стоит? А смысл? Цитата(pashkatarakashka @ Jan 8 2013, 01:59)  Есть бутлоадер, который загружает апликейшн. Тоесть клиент купивший дивайс, может дома обновлять прошивку. Но я бы хотел чтобы флешка не могла бы читаться с помощью ISP. Lockbits=FC. LB0:1=00. Цитата(pashkatarakashka @ Jan 8 2013, 01:59)  Правильно ли я предпологаю, что в моем случае никак невозмоно И дать возможность апгрейдить прошивку через бутлоадер И защитить флешку от чтения через ISP? Вопрос в том кто пишет application. Если вы - то защита обеспечивается LB. Если пользователь, то наверное (я не пробовал - не было такой задачи), установка Boot Lock Bit1 Protection Modes защитит ваш загрузчик от чтения из области application.
|
|
|
|
|
Jan 8 2013, 07:05
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (pashkatarakashka @ Jan 8 2013, 01:59)  Для этого конечно можно поставить LB1 и LB2. Но я попробовал, и не могу из бутлоадера писать в апликейшн флеш. Давайте конкретнее: что делали и что получилось. Эти биты никак не влияют на самопрограммирование. QUOTE (pashkatarakashka @ Jan 8 2013, 01:59)  Правильно ли я предпологаю, что в моем случае никак невозмоно И дать возможность апгрейдить прошивку через бутлоадер И защитить флешку от чтения через ISP? Нет, неправильно предполагаете, возможно.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jan 8 2013, 11:02
|
Группа: Новичок
Сообщений: 2
Регистрация: 7-01-13
Пользователь №: 75 099

|
да, действительно LB1 и LB2 не влияют на самопрограммирование. Я почему-то пробовал в локбиты в савокупности с BLB... Все получилось, спасибо!
|
|
|
|
|
Jan 12 2016, 16:23
|
Группа: Участник
Сообщений: 5
Регистрация: 12-01-16
Пользователь №: 89 994

|
Подскажите можно ли настроить биты защиты так что бы контроллер мог работать следующим образом. 1. Загрузчик нельзя было бы прочитать не загруженной программой, не через интерфейс программирования. 2. Программа могла бы вызвать подпрограмму в области загрузчика. 3. Загрузчик мог бы спокойно писать код в ЕЕPROM и FLASH
если так возможно подскажите как выставить биты.
Забыл еще 1 пункт. 4. программа могла бы спокойно читать и писать EEPROM.
|
|
|
|
|
Jan 13 2016, 11:11
|
Группа: Участник
Сообщений: 5
Регистрация: 12-01-16
Пользователь №: 89 994

|
Цитата(rx3apf @ Jan 13 2016, 11:02)  1, 2, 4 - выполняются при любом варианте включения защиты. А чтобы выполнялся пункт 3 (в части записи в память программы) - не запрещайте использование lpm/spm в битах защиты загрузчика. Спасибо. Конкретную конфигурацию можете подсказать?
|
|
|
|
|
Jan 13 2016, 18:39
|
Группа: Участник
Сообщений: 5
Регистрация: 12-01-16
Пользователь №: 89 994

|
Цитата(pavel-pervomaysk @ Jan 13 2016, 17:43)  Так почитайте даташит внимательно, все описано. Если бы я понял то описание, то не спрашивал бы тут. Для вас как программиста возможно там все понятно, я пишу 1-2 простейшие программы на мк в год, так что я далеко не программист которому там все понятно. А с битами защиты я вообще в первый раз сталкиваюсь, и то мера вынужденная.
Сообщение отредактировал Mildi - Jan 13 2016, 18:41
|
|
|
|
|
Jan 13 2016, 18:50
|

Местный
  
Группа: Свой
Сообщений: 253
Регистрация: 28-12-07
Из: Украина г. Первомайск
Пользователь №: 33 716

|
Цитата(Mildi @ Jan 13 2016, 20:39)  Если бы я понял то описание, то не спрашивал бы тут. Для вас как программиста возможно там все понятно, я пишу 1-2 простейшие программы на мк в год, так что я далеко не программист которому там все понятно. А с битами защиты я вообще в первый раз сталкиваюсь, и то мера вынужденная. Вообще-то, если делаете загрузчик, то это совсем не начальный уровень. Тогда рекомендую перевести 3 строчки через гугл переводчик. SPM - Store Program Memory (запись байта во флеш) LPM - Load Program Memory (чтение байта из флеш) LB - установить BLB0 - не устанавливать BLB1 - установить
Эскизы прикрепленных изображений
|
|
|
|
|
Jan 13 2016, 21:29
|
Группа: Участник
Сообщений: 5
Регистрация: 12-01-16
Пользователь №: 89 994

|
нет я загрузчик не делаю, я хочу привязать программу с возможностью ее обновления к конкретным физическим устройствам в которые прошью загрузчик сам. загрузчик будет стандартный просто часть программы (пока не решил или просто поуправлять пинами или пересчитать массив в оперативной памяти смотря сколько кода влезет в загрузчик) хочу переместить в загрузчик, для него этот код будет бесполезный и не будет влиять на функционал но программа будет работоспособна только с модернизированным загрузчиком, тут особого навыка и не надо. Это не супер защита а просто небольшой способ избежать тупого копирования, и позволит делать обновление пользователями самостоятельно (обновляться будет только блок данных в программе по мереих уточнения, алгоритм будет неизменный).
я так понял мне надо установить лок биты 0xCС?
или 0x0C (два старших байта не описаны в даташите)?
Сообщение отредактировал Mildi - Jan 13 2016, 20:35
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|