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

Помогите, пожалуйста, решить такую проблему: я прошиваю микроконтроллер ATmega48PA с помощью программатора AVR910, через программу CodeVisionAVR.
Ставлю галочки на фьюзах BODLEVEL1=0 и EESAVE=0. Лок биты не программирую. Также ставлю галочки на Check Erasure и Verify.
Далее стираю чип и прошиваю МК своей прошивкой. До прошивки я вычислил ее хэш-сумму (CRC32). Если сразу после прошивки я читаю флеш-память, то хэш-сумма совпадает.
Если я даю устройству некоторое время поработать и затем считываю прошивку, то обнаруживаю, что она изменилась. Никак не могу взять в толк в чем дело.
Функции самопрограммирования я не использовал (хотя код писал на Си, возможно компилятор самовольничает).
Есть работа с EEPROM памятью - но ведь это не должно повлиять на флеш-память.

Подскажите в чем проблема и как с этим бороться?
megajohn
проверьте через JTAG или SPI что прошивка реально изменилась. а то сомнения
Xenia
Цитата(Ashurbanipal @ Dec 24 2014, 12:35) *
До прошивки я вычислил ее хэш-сумму (CRC32). Если сразу после прошивки я читаю флеш-память, то хэш-сумма совпадает.
Если я даю устройству некоторое время поработать и затем считываю прошивку, то обнаруживаю, что она изменилась. Никак не могу взять в толк в чем дело.


Вы не хэш-суммы сравнивайте, а сравните обе прошивки! Побайтно, а bin-формате. Ту, которую прошивали, с той, которая якобы испортилась. Тогда и узнаете, в каком месте происходит эта порча.

Кто же, кроме вас, может это проверить? Да еще и заочно. Только вы сами!
alexeyv
Как конкретно вычисляете хэш-сумму?
Как вариант, перед прошивкой вычисляется хэш-сумма только Вашей программы, а после - всей флэш-памяти (4K).
Или при вычислении хэш-суммы также затрагивается память EEPROM.
Как сказали выше сравнивайте бинарные образы
Кондратьев Андрей
Цитата(alexeyv @ Jan 28 2015, 09:15) *
Как конкретно вычисляете хэш-сумму?
Как вариант, перед прошивкой вычисляется хэш-сумма только Вашей программы, а после - всей флэш-памяти (4K).

так и есть
pavel-pervomaysk
С каких это пор для контрольной суммы начали хэш применять?
Может CRC?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.