Троешник (12.01.2019 11:15, просмотров: 447) ответил Троешник на Спрошу глупость: можно программно установить фьюз в меге!? Ну например BODEN !?
Сегодня на трезвую голову осознал что стартует система с бутлоадера, а все мои изменения будут относиться к основной программе! Бутлоадер инициализирует пару блоков периферии, проверяет пару флагов и отдает управление основной программе. Я могу изменить код только этой основной программы.
Итак я сейчас попытаюсь собрать в кучу все что по этому вопросу понял:
1. Я ошибся и не поставил BODEN. Судя по всему и время задержки до старта теперь нужно будет более уважительно выбирать.
2. EEPROM портится в процессе плавного нарастания питания во время аппаратного рестарта.
3. Причины этого связаны с физ. устройством этой памяти и электроники которая с ней работает.
4. Уменьшить/избавиться от косяка можно
а) Правильно проектируя цепи рестарта проца
б) Правильно настраивая фьюзы задержки после рестартов и фьюзы BODEN, BODLEVEL
5. В моей ситуации (я пытаюсь избавиться от ошибки без перешивки устройства) теоретически могло бы быть полезным несколько вариантов но нужно понимать в какой именно момент происходит сбой. По версии некоторых авторов в EEPROM мусор пишет функция записи в EEPROM. Но у меня нет вообще работы с этой памятью в бутлоадере! По моей версии происходит следующее: Процессор рестартует, SUT задержка (4 ms в моем случае) и ядро включает периферию. Питания нормального еще нет и происходит сбой. Возможно добавляет вопросов большой цикл чтения из памяти EEPROM рядом с рестартом.