Произошло несколько случаев самопроизвольного стирания одной страницы памяти программ (flash) на ATMega16. Подобная проблема обсуждалась только с EEPROM, и все грехи сводились к помехам по питанию проца, наличия супервизора и правильной разводки земли...
Были ил у кого подобные случаи и как вы их решали?
по процу...
ATMega16 питание +5В частота 14.74МГц, супервизор внутренний, закольцованных земель нет. Генерирует двух канальный ШИМ 1Кгц, силовые цепи и цепи управления развязаны оптроном.
arttab
Feb 26 2007, 10:44
А у Вас есть в проге код который стирает (ну и пишит) flash? В случае сбоев (питания, наведенные помехи...) код может быть исполнен с произвольного адреса. например с функции стирания страници.
Цитата(arttab @ Feb 26 2007, 10:44)

А у Вас есть в проге код который стирает (ну и пишит) flash? В случае сбоев (питания, наведенные помехи...) код может быть исполнен с произвольного адреса. например с функции стирания страници.
согласен что может. у меня есть загрузчик который предназначен для программирования процессора. Загрузчик написан на Asm, сама прога на WinAvr. биты защиты установлены только на секцию загрущика. Просто как-то невериться что может так сбоить проц. Причем подобных ситуаций я нигде не нашел... Это одна из возможных причин, может еще какие идеи будут...
arttab
Feb 26 2007, 11:27
убери функцию самопрогаммирования и проверь на этот же косяк.
не так то просто удаленность объекта уж очень большая, да и возникает эта ситуация довольно редко... у меня заложенна возможность установки битов защиты от записи (LockBits) с ВУ в загрущике. Так что если это происходит по команде SPM то должно помочь...
DAndy_boy
Feb 26 2007, 11:47
Таже ситуация была на устройствах на MSP430. Косяк нашли именно из-за помех в питании... Внешний Супервизор все проблемы решил... А на счет внутреннего - много раз замечал на форумах далеко не лестные отзывы... Для полной уверенности нужно ставить внешний....
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.