Цитата(Cosmojam @ Feb 5 2012, 19:52)

кормить (или всё же пинать?)
Пожалуй, правильно кормить.
Пинать он сам будет, если не покормить.
Цитата(Cosmojam @ Feb 5 2012, 19:52)

кормить (или всё же пинать?) дога в idle task ?
Имхо, правильней в прерывании, работающем с высокой частотой.
На не тупо watchdog_reset(), что нынче с watchdog-ами с оконным режимом бессмысленно, а по критериям/флагам зависящим от конкретной программы. Или в процессе с высоким приоритетом (если можно гарантировать регулярность активизации процесса).
Сброс в IdleTask, выходит что - совершенно не правильный метод, который иногда пригоден (например в megaavr, где собака примитивная), но в общем случает совершенно нельзя предсказать когда IdleTask получит управление и как регулярно он будет его получать(если программа не представляет собой моргание светодиодом в одном-двух процессах).
IdleTask больше подходит для организации энергосбережения:
Код
volatile unsigned char SleepEnabled=0;
void OS::IdleProcessUserHook()
{
cli();
unsigned char sleep_enabled=SleepEnabled;
sei();
if (sleep_enabled) {
sleep_enable();
sleep_cpu();
}
}
B то глубокий sleep так не организовать (или можно? зависит от цпу), нужно сильней изголятся.