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

 
 
 
Reply to this topicStart new topic
> Atmel AVR230: DES Bootloader, Защищённый загрузчик
Д_М
сообщение Dec 10 2012, 06:04
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 121
Регистрация: 15-04-05
Из: Краснодар
Пользователь №: 4 185



Здравствуйте!
В AVR я не новичок. Вот нужда заставила освоить безопасное обновление прошивок силами конечного потребителя. Оставил свой выбор на AVR230 http://microsin.net/programming/AVR/avr230...bootloader.html
Всё сделал согласно инструкции. Пока не исправил одну ошибку в исходнике (по моему мнению) программа на компе писала, что нет ответа от прибора. После внесения изменения в программу загрузка пошла, но загруженная программа (заведомо рабочая) не работает. Имел ли кто-нибудь дело с таким загрузчиком? Может быть кто-то использовал другие загрузчики такого класса? Буду благодарен за любые мысли!
Спасибо!
derischev@ya.ru
Go to the top of the page
 
+Quote Post
hd44780
сообщение Dec 10 2012, 09:22
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



Я загрузчики вообще не использовал, но Вы попробуйте считать программатором прошивку, которую залил загрузчик и сравнить её с тем, что должно быть.
Может у них там ещё глюки с этой DES дешифровкой sm.gif .


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 10 2012, 09:27
Сообщение #3


Гуру
******

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



Многие используют.

Попробуйте записать эту же прошивку в процессор вместе с загрузчиком программатором. Проверьте - работает она или нет. Если не работает - ищите ошибки в самой прошивке. Если работает - залейте ее загрузчиком, считайте программатором, сравните, делайте выводы. Вставляйте в программу махание ногой в разные места, выясните место, на котором программа подвисает.


--------------------
На любой вопрос даю любой ответ
"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
Д_М
сообщение Dec 10 2012, 13:09
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 121
Регистрация: 15-04-05
Из: Краснодар
Пользователь №: 4 185



Спасибо за поддержку!
Сложность в том, что задача загрузчика защитить прошивку от несанкционированного использования. Потому сам загрузчик устанавливает биты защиты. В программе я нашёл место где производится вызов функции установки битов защиты. Попробую заблокировать этот вызов.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Dec 10 2012, 14:22
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Д_М @ Dec 10 2012, 15:09) *
Сложность в том, что задача загрузчика защитить прошивку от несанкционированного использования. Потому сам загрузчик устанавливает биты защиты. В программе я нашёл место где производится вызов функции установки битов защиты.

Задача защиты может быть решена на этапе прошивки загрузчика. Для этого обычно достаточно установить Lock Bits в состояние Further programming and verification disabled. Так что вызов функции записи lock bits можно выкинуть.
Go to the top of the page
 
+Quote Post
Д_М
сообщение Dec 11 2012, 06:00
Сообщение #6


Частый гость
**

Группа: Участник
Сообщений: 121
Регистрация: 15-04-05
Из: Краснодар
Пользователь №: 4 185



Здравствуйте!
Загрузил я загрузчик без локбитов. Загрузил при помощи загрузчика шифрованную прошивку. Считал её. В считанной прошивке полностью незаписана вторая страница (256 байт) - сплошные FF. Далее различий между исходной и вытащенной прошивкой не обнаружено. Вот и гадай где ошибка - в верхней программе, или в загрузчике.
Go to the top of the page
 
+Quote Post
V_N
сообщение Dec 11 2012, 07:20
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 162
Регистрация: 12-01-09
Из: Харьков
Пользователь №: 43 270



Посмотрите здесь http://electronix.ru/forum/index.php?showt...%F2%EE%F0%20AVR
Это програматор с загрузчиком AES boot загрузчиком
там в посте за Nov 29 2008, 18:04 приводится ссылка на готовый проект
Go to the top of the page
 
+Quote Post
Д_М
сообщение Dec 11 2012, 07:50
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 121
Регистрация: 15-04-05
Из: Краснодар
Пользователь №: 4 185



Цитата(V_N @ Dec 11 2012, 11:20) *
Посмотрите здесь http://electronix.ru/forum/index.php?showt...%F2%EE%F0%20AVR
Это програматор с загрузчиком AES boot загрузчиком
там в посте за Nov 29 2008, 18:04 приводится ссылка на готовый проект


Спасибо за ссылку!
Но в этом топике нет упоминания о шифровании прошивки с целью её защиты от несанкционированного копирования. А мне нужно, как раз это.

Отправил запрос в Atmel.
http://support.atmel.no/bin/customer.exe?a...ticketId=705939
Аж любопытно - ответят, или нет?!
Go to the top of the page
 
+Quote Post
V_N
сообщение Dec 11 2012, 08:03
Сообщение #9


Частый гость
**

Группа: Свой
Сообщений: 162
Регистрация: 12-01-09
Из: Харьков
Пользователь №: 43 270



Цитата
Но в этом топике нет упоминания о шифровании прошивки с целью её защиты от несанкционированного копирования. А мне нужно, как раз это.

Прочитайте внимательно все там есть в свое время повторял этот проект все работает
Go to the top of the page
 
+Quote Post
Д_М
сообщение Dec 11 2012, 15:11
Сообщение #10


Частый гость
**

Группа: Участник
Сообщений: 121
Регистрация: 15-04-05
Из: Краснодар
Пользователь №: 4 185



Цитата(V_N @ Dec 11 2012, 11:20) *
Посмотрите здесь http://electronix.ru/forum/index.php?showt...%F2%EE%F0%20AVR
Это програматор с загрузчиком AES boot загрузчиком
там в посте за Nov 29 2008, 18:04 приводится ссылка на готовый проект


Скачал проект. Очень он похож на то, с чем работал я. Там было сказано, что проект заточен по IAR 5.11B, а у меня старенький 2.28. Эх бы кто подсобил!
Заранее благодарен!
derischev@ya.ru
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 12 2012, 07:38
Сообщение #11


Гуру
******

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



QUOTE (Д_М @ Dec 11 2012, 08:00) *
В считанной прошивке полностью незаписана вторая страница (256 байт) - сплошные FF. Далее различий между исходной и вытащенной прошивкой не обнаружено.
Вставьте в программу шифровальщика в то место, где формируется выходной файл, вывод отчета: какую страницу он закодировал. И посмотрите, кодирует ли он эту потеряную страницу. Если ваш проц имеет второй UART - вставьте в загрузчик вывод на него той же информации уже из расшифрованного входного потока. Если второго UARTа нет - сделайте зажигание светодиода, если во входном потоке обнаружены данные второй страницы. Так постепенно и локализуете.


--------------------
На любой вопрос даю любой ответ
"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
Д_М
сообщение Dec 12 2012, 09:15
Сообщение #12


Частый гость
**

Группа: Участник
Сообщений: 121
Регистрация: 15-04-05
Из: Краснодар
Пользователь №: 4 185



Решил попробовать другую версию загрузчика. В ней файл проекта имеет расширение ewp. Скачал IAR C AVR 5.11B, но никак не могу его установить... Вложенное средство убеждения не помогает. The specified license key could not be verified as belonging to this host.
Заранее благодарен за помощь!
derischev@ya.ru
Go to the top of the page
 
+Quote Post
Д_М
сообщение Dec 12 2012, 19:31
Сообщение #13


Частый гость
**

Группа: Участник
Сообщений: 121
Регистрация: 15-04-05
Из: Краснодар
Пользователь №: 4 185



Убедил IAR C AVR 5.11! Попробовал проект AVR231. Загруженная при помощи этого загрузчика программа не работает. Различий между исходной и выкаченной прошивкой не обнаружил (за исключением бутлоадера). После загрузки выкаченной прошивки, с теме же фузами и локами, программа также не работает. Могу предположить, что IAR вставляет кусок кода, который проверяет целостность памяти программ. Натыкается на бутлоадер и отказывается запускать исполнение пользовательского кода. Так ли это? Если да, то как это отключить?
Спасибо!
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Dec 12 2012, 20:31
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Д_М @ Dec 12 2012, 21:31) *
Убедил IAR C AVR 5.11! Попробовал проект AVR231. Загруженная при помощи этого загрузчика программа не работает.

А программа рабочая? Если её загрузуть программатором, то работает?

Цитата(Д_М @ Dec 12 2012, 21:31) *
Различий между исходной и выкаченной прошивкой не обнаружил (за исключением бутлоадера). После загрузки выкаченной прошивки, с теме же фузами и локами, программа также не работает.

Какие у вас фузы и локи?

Цитата(Д_М @ Dec 12 2012, 21:31) *
Могу предположить, что IAR вставляет кусок кода, который проверяет целостность памяти программ.

Сам по себе Иар ничего такого не вставляет. Вставляет то что ему скажут.

Цитата(Д_М @ Dec 12 2012, 21:31) *
Натыкается на бутлоадер и отказывается запускать исполнение пользовательского кода. Так ли это?

У вас же исходник есть - в нём и смотрите.

P.S. Возможность проверки в апноте заложена - зависит от макроса CRC_CHECK. Как он у вас определён?
Go to the top of the page
 
+Quote Post
Д_М
сообщение Dec 14 2012, 19:16
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 121
Регистрация: 15-04-05
Из: Краснодар
Пользователь №: 4 185



Получилось! Нашёл работоспособный проект в архиве сайта Atmel http://www.atmel.com/products/automotive/a...x?tab=documents точнее http://www.atmel.com/Images/AVR230.zip. На примере программы размером 3,5кБ ошибок не было. Всё работает чётко. Проверял на Mega64 и Mega128. Кстати пришёл ответ от поддержки Atmel. Уточняли некоторые вопросы. Им я посетовал на то, что загрузчик AVR231 тоже с глючком, что делает невозможным его использование. Но сам этот загрузчик компактней и быстрее. Если бы его довели бы до ума, то было бы замечательно. Atmel подтвердил свой статус солидной фирмы. Не многие фирмы имеют такую активную службу поддержки. Всем Вам большое спасибо за содействие! Если вдруг что-то у кого-то не получается, то обращайтесь derischev@ya.ru
Go to the top of the page
 
+Quote Post

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

 


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


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