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