реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> AVR и защита чтения, Lock bits
pashkatarakashka
сообщение Jan 7 2013, 23:59
Сообщение #1





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



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

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

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

Правильно ли я предпологаю, что в моем случае никак невозмоно И дать возможность апгрейдить прошивку через бутлоадер И защитить флешку от чтения через ISP?
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jan 8 2013, 01:44
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 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.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 8 2013, 07:05
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 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)
Go to the top of the page
 
+Quote Post
pashkatarakashka
сообщение Jan 8 2013, 11:02
Сообщение #4





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



да, действительно LB1 и LB2 не влияют на самопрограммирование. Я почему-то пробовал в локбиты в савокупности с BLB...
Все получилось, спасибо!
Go to the top of the page
 
+Quote Post
Mildi
сообщение Jan 12 2016, 16:23
Сообщение #5





Группа: Участник
Сообщений: 5
Регистрация: 12-01-16
Пользователь №: 89 994



Подскажите можно ли настроить биты защиты так что бы контроллер мог работать следующим образом.
1. Загрузчик нельзя было бы прочитать не загруженной программой, не через интерфейс программирования.
2. Программа могла бы вызвать подпрограмму в области загрузчика.
3. Загрузчик мог бы спокойно писать код в ЕЕPROM и FLASH

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

Забыл еще 1 пункт.
4. программа могла бы спокойно читать и писать EEPROM.
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Jan 13 2016, 11:02
Сообщение #6


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



1, 2, 4 - выполняются при любом варианте включения защиты. А чтобы выполнялся пункт 3 (в части записи в память программы) - не запрещайте использование lpm/spm в битах защиты загрузчика.
Go to the top of the page
 
+Quote Post
Mildi
сообщение Jan 13 2016, 11:11
Сообщение #7





Группа: Участник
Сообщений: 5
Регистрация: 12-01-16
Пользователь №: 89 994



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


Спасибо. Конкретную конфигурацию можете подсказать?
Go to the top of the page
 
+Quote Post
pavel-pervomaysk
сообщение Jan 13 2016, 16:43
Сообщение #8


Местный
***

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



Так почитайте даташит внимательно, все описано.
Что-бы там не было написано, китайцы "делают" очень быстро.
Поэтому надо каждому устройству свой номер, потом банить нужные серийники.
Go to the top of the page
 
+Quote Post
Mildi
сообщение Jan 13 2016, 18:39
Сообщение #9





Группа: Участник
Сообщений: 5
Регистрация: 12-01-16
Пользователь №: 89 994



Цитата(pavel-pervomaysk @ Jan 13 2016, 17:43) *
Так почитайте даташит внимательно, все описано.


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

Сообщение отредактировал Mildi - Jan 13 2016, 18:41
Go to the top of the page
 
+Quote Post
pavel-pervomaysk
сообщение Jan 13 2016, 18:50
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 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 - установить
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Mildi
сообщение Jan 13 2016, 21:29
Сообщение #11





Группа: Участник
Сообщений: 5
Регистрация: 12-01-16
Пользователь №: 89 994



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

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

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

Сообщение отредактировал Mildi - Jan 13 2016, 20:35
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 22:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01524 секунд с 7
ELECTRONIX ©2004-2016