Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Atmel AVR230: DES Bootloader
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Д_М
Здравствуйте!
В AVR я не новичок. Вот нужда заставила освоить безопасное обновление прошивок силами конечного потребителя. Оставил свой выбор на AVR230 http://microsin.net/programming/AVR/avr230...bootloader.html
Всё сделал согласно инструкции. Пока не исправил одну ошибку в исходнике (по моему мнению) программа на компе писала, что нет ответа от прибора. После внесения изменения в программу загрузка пошла, но загруженная программа (заведомо рабочая) не работает. Имел ли кто-нибудь дело с таким загрузчиком? Может быть кто-то использовал другие загрузчики такого класса? Буду благодарен за любые мысли!
Спасибо!
derischev@ya.ru
hd44780
Я загрузчики вообще не использовал, но Вы попробуйте считать программатором прошивку, которую залил загрузчик и сравнить её с тем, что должно быть.
Может у них там ещё глюки с этой DES дешифровкой sm.gif .
Сергей Борщ
Многие используют.

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

Задача защиты может быть решена на этапе прошивки загрузчика. Для этого обычно достаточно установить Lock Bits в состояние Further programming and verification disabled. Так что вызов функции записи lock bits можно выкинуть.
Д_М
Здравствуйте!
Загрузил я загрузчик без локбитов. Загрузил при помощи загрузчика шифрованную прошивку. Считал её. В считанной прошивке полностью незаписана вторая страница (256 байт) - сплошные FF. Далее различий между исходной и вытащенной прошивкой не обнаружено. Вот и гадай где ошибка - в верхней программе, или в загрузчике.
V_N
Посмотрите здесь http://electronix.ru/forum/index.php?showt...%F2%EE%F0%20AVR
Это програматор с загрузчиком AES boot загрузчиком
там в посте за Nov 29 2008, 18:04 приводится ссылка на готовый проект
Д_М
Цитата(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
Аж любопытно - ответят, или нет?!
V_N
Цитата
Но в этом топике нет упоминания о шифровании прошивки с целью её защиты от несанкционированного копирования. А мне нужно, как раз это.

Прочитайте внимательно все там есть в свое время повторял этот проект все работает
Д_М
Цитата(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
Сергей Борщ
QUOTE (Д_М @ Dec 11 2012, 08:00) *
В считанной прошивке полностью незаписана вторая страница (256 байт) - сплошные FF. Далее различий между исходной и вытащенной прошивкой не обнаружено.
Вставьте в программу шифровальщика в то место, где формируется выходной файл, вывод отчета: какую страницу он закодировал. И посмотрите, кодирует ли он эту потеряную страницу. Если ваш проц имеет второй UART - вставьте в загрузчик вывод на него той же информации уже из расшифрованного входного потока. Если второго UARTа нет - сделайте зажигание светодиода, если во входном потоке обнаружены данные второй страницы. Так постепенно и локализуете.
Д_М
Решил попробовать другую версию загрузчика. В ней файл проекта имеет расширение ewp. Скачал IAR C AVR 5.11B, но никак не могу его установить... Вложенное средство убеждения не помогает. The specified license key could not be verified as belonging to this host.
Заранее благодарен за помощь!
derischev@ya.ru
Д_М
Убедил IAR C AVR 5.11! Попробовал проект AVR231. Загруженная при помощи этого загрузчика программа не работает. Различий между исходной и выкаченной прошивкой не обнаружил (за исключением бутлоадера). После загрузки выкаченной прошивки, с теме же фузами и локами, программа также не работает. Могу предположить, что IAR вставляет кусок кода, который проверяет целостность памяти программ. Натыкается на бутлоадер и отказывается запускать исполнение пользовательского кода. Так ли это? Если да, то как это отключить?
Спасибо!
_Артём_
Цитата(Д_М @ 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. Как он у вас определён?
Д_М
Получилось! Нашёл работоспособный проект в архиве сайта 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
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.