Перейти к содержанию
    

Глюки watchdoga в меге 2560

Как проблема то разрешилась?

 

Получил точно такую же проблему на меге1281.

 

Происходит ресет по вачдогу, а затем контроллер стоит мёртвый, на внешний ресет не реагирует. Помогает только передёргивание питания.

 

Что самое интересное, так только в некотороых преложениях, а в некоторых работает.

При попытке подебажить в авр студии, после ресета, программа остаётся на нулевом адресе, а при попытке сделать шаг или просто стартовать до точки останова дебаггер слетает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я ничего подобного не наблюдал. Может от ревизии кристалла что-то зависит?

Был проект, где были AtMega128/1251/2561. Проблем не было, делал тесты с вечными циклами, все корректно сбрасывалось и перезапускалось.

Использовал WinAVR-20071221 со следующим кодом

void avr_init (void) __attribute__ ((naked)) __attribute__ ((section (".init3")));

void avr_init(void)
{
/* Конфигурирование AtMega128/1251/2561*/
/* куча инициализации*/

        /* WatchDog */
    wdt_enable(WDTO_2S);
    
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если кому интересно, то разобрал проблему.

 

Всё дело было в ошибке в makefile. Был неправильный путь при линковке стартовой секции, где происходила остановка WDT после ресета. В итоге процессор стартовал с копирования данных в озу и очистки bss секции, пока происходила очистка, wdt успевал сработать ещё раз и так до бесконечности.

 

После того, как правильно собрал проект, проблема исчезла. :yeah:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Столкнулся с точно такой же проблемой в Меге2560 правда под IAR, см. http://electronix.ru/forum/index.php?showtopic=48161.

Добавил в функцию __low_level_init() остановку watchdog - помогло.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...