Проясните ситуацию с Watchdog-ом в ATtiny13
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено CD_Eater 15 декабря 2004 г. 18:23

Раньше можно было сделать вид, что ничего не знаешь о существовании "смотрящей собаки", и она тебя не беспокоила. Так всегда и делал. Так хочу делать и дальше. Но на горизонте видны грабли.
Но вот в Tiny13 заложили такую фичу - если после перезагрузки МК в регистре MCUSR бит WDRF показывает, что причиной перезагрузки МК было гавканье этой собаки, то собака автоматически получает статус "при исполнении обязанностей". Само по себе это, конечно, хорошо, т.к. делает собаку более живучей.
Казалось бы, что для тех, кто с собакой не дружит, ничего не изменилось - если никогда не включать собаку, то и не произойдёт перезагрузки с собачьим флагом. Однако в даташите есть не очень понятное утверждение о том, что не дружащим с собакой при старте всё равно следует её отключать (отрывок - ниже). Процесс отключения собаки ещё более усложнён - при отключенных прерываниях нужно её покормить wdr-ом, чтобы случайно не залаяла, а затем произвести ритуальный танец из сложной серии отточенных приёмов и отвлекающих манёвров с финальным ударом пяткой в морду за 4 такта.

Вот отрывок (даташит, стр 37, внизу)
If the Watchdog is accidentally enabled, for example by a runaway pointer or brown-out condition, the device will be reset and the Watchdog Timer will stay enabled. If the code is not set up to handle the Watchgod, this might lead to an eternal loop of time-out resets. To avoid this situation, the application should always clear the Watchdog System Reset Flag (WDRF) and the WDE control bit in the initialisation routine, EVEN IF THE WATCHDOG IS NOT IN USE.

Объясните, как это brown-out condition может случайно включить собаку ? И что такое убегающий указатель ?

Выходит, что договор с собакой о взаимном ненападении нарушен ? Её обязательно отключать ? А я в душе добрый, между прочим,...

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru