-
- Он есть. Но при глухих зависаниях меандр на внешний ВДТ продолжает идти... Ппц короче, надо софт править... но как? - Андрей(05.08.2010 00:06, )
- Вы бы его хоть показали, софт-то. - testerplus(05.08.2010 10:54)
- Вам как лучше: 1500 строк Си или 7 кило асма? - Андрей(05.08.2010 20:34, )
- А каков у вас алгоритм формирования меандра для WatchDog-а? Традиционно его формируют в каком-либо таймерном прерывании. Это в принципе не есть плохо, но только если верно реализован алгоритм проверки условий для "ногодрыжества" WD. Я обычно пользуюсь rezident(630 знак., 05.08.2010 01:49)
- У меня он реализован инверсией ноги сброса ВДТ через N-ое число команд - от 1-ой до 10-ти в зависимости от времени выполнения. Реже чем раз в 0.1 мс инверсию делать нельзя, иначе сбросит ВДТ. Ваш вариант интересен, но мне кажется что его реально сделать Андрей(201 знак., 05.08.2010 02:06, )
- А заменить WDT на другой с бОльшим временем - не судьба? Пусть он сработает позже, но таки сработает же, сцуко! - Vladimir Ljaschko(05.08.2010 14:05)
- Рассматриваю этот вариант. Изначально ВДТ с бОльшим временем был внутренний ВДТ, но судя по всему на него надежды нет. - Андрей(05.08.2010 20:41, )
- while (true) CLRWDT(); -- классика жанра. - fk0(05.08.2010 13:18)
- Это самый неудачный способ формирования сигнала WDT какой только можно придумать. При т.н. "зависании" процессор не останавливается, он как правило выполняет в цикле определенную последовательность команд. - Shura(05.08.2010 10:00)
- Для WDT цикл не более 100 мкс?! О_о Вы случайно не контроллер ядерного реактора разрабатываете? :) Что значит "в зависимости от внешних условий"? Если у вас используются конечные автоматы, то кто мешает напихать установку флага в каждую ветку rezident(11 знак., 05.08.2010 02:30)
- А заменить WDT на другой с бОльшим временем - не судьба? Пусть он сработает позже, но таки сработает же, сцуко! - Vladimir Ljaschko(05.08.2010 14:05)
- У меня он реализован инверсией ноги сброса ВДТ через N-ое число команд - от 1-ой до 10-ти в зависимости от времени выполнения. Реже чем раз в 0.1 мс инверсию делать нельзя, иначе сбросит ВДТ. Ваш вариант интересен, но мне кажется что его реально сделать Андрей(201 знак., 05.08.2010 02:06, )
- Вы бы его хоть показали, софт-то. - testerplus(05.08.2010 10:54)
- Он есть. Но при глухих зависаниях меандр на внешний ВДТ продолжает идти... Ппц короче, надо софт править... но как? - Андрей(05.08.2010 00:06, )