Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AVR и защита чтения
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
pashkatarakashka
Сразу оговорюсь, что я в курсе про то что можно за баксы взломать AVR.

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

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

Правильно ли я предпологаю, что в моем случае никак невозмоно И дать возможность апгрейдить прошивку через бутлоадер И защитить флешку от чтения через ISP?
_Артём_
Цитата(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.
Сергей Борщ
QUOTE (pashkatarakashka @ Jan 8 2013, 01:59) *
Для этого конечно можно поставить LB1 и LB2. Но я попробовал, и не могу из бутлоадера писать в апликейшн флеш.
Давайте конкретнее: что делали и что получилось. Эти биты никак не влияют на самопрограммирование.
QUOTE (pashkatarakashka @ Jan 8 2013, 01:59) *
Правильно ли я предпологаю, что в моем случае никак невозмоно И дать возможность апгрейдить прошивку через бутлоадер И защитить флешку от чтения через ISP?
Нет, неправильно предполагаете, возможно.
pashkatarakashka
да, действительно LB1 и LB2 не влияют на самопрограммирование. Я почему-то пробовал в локбиты в савокупности с BLB...
Все получилось, спасибо!
Mildi
Подскажите можно ли настроить биты защиты так что бы контроллер мог работать следующим образом.
1. Загрузчик нельзя было бы прочитать не загруженной программой, не через интерфейс программирования.
2. Программа могла бы вызвать подпрограмму в области загрузчика.
3. Загрузчик мог бы спокойно писать код в ЕЕPROM и FLASH

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

Забыл еще 1 пункт.
4. программа могла бы спокойно читать и писать EEPROM.
rx3apf
1, 2, 4 - выполняются при любом варианте включения защиты. А чтобы выполнялся пункт 3 (в части записи в память программы) - не запрещайте использование lpm/spm в битах защиты загрузчика.
Mildi
Цитата(rx3apf @ Jan 13 2016, 11:02) *
1, 2, 4 - выполняются при любом варианте включения защиты. А чтобы выполнялся пункт 3 (в части записи в память программы) - не запрещайте использование lpm/spm в битах защиты загрузчика.


Спасибо. Конкретную конфигурацию можете подсказать?
pavel-pervomaysk
Так почитайте даташит внимательно, все описано.
Что-бы там не было написано, китайцы "делают" очень быстро.
Поэтому надо каждому устройству свой номер, потом банить нужные серийники.
Mildi
Цитата(pavel-pervomaysk @ Jan 13 2016, 17:43) *
Так почитайте даташит внимательно, все описано.


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



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

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


LB - установить
BLB0 - не устанавливать
BLB1 - установить
Mildi
нет я загрузчик не делаю, я хочу привязать программу с возможностью ее обновления к конкретным физическим устройствам в которые прошью загрузчик сам.
загрузчик будет стандартный просто часть программы (пока не решил или просто поуправлять пинами или пересчитать массив в оперативной памяти смотря сколько кода влезет в загрузчик) хочу переместить в загрузчик, для него этот код будет бесполезный и не будет влиять на функционал но программа будет работоспособна только с модернизированным загрузчиком, тут особого навыка и не надо.
Это не супер защита а просто небольшой способ избежать тупого копирования, и позволит делать обновление пользователями самостоятельно (обновляться будет только блок данных в программе по мереих уточнения, алгоритм будет неизменный).

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

или 0x0C (два старших байта не описаны в даташите)?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.