Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Напрягаться нужно, когда ты делаешь дерьмо.(C) Лесь Подервянский

Отправлено Vit 24 февраля 2007 г. 12:19
В ответ на: Посоветуйте по узлам контроля работы процессора отправлено <font color=gray>Д.о.к.т.о.р..Т.у.а.м.О.с.е.с</font> 24 февраля 2007 г. 09:45

1)Сбрасывать сторож в прерывании есть моветон. Время для сброса сторожа не выбирается - сторож должен сбрасывться в контрольных точках программы - если их трудно увидеть - нанести визит к офтальмологу. Если критериев работоспособности программы нет, то решать где сторож сбрасывать - ненужная задача, потому как не имеет смысла.
Если выполняется ожидание, например, флаг BUSY от DATAFlash ждём, то глухо в одном месте стоять и нихрена не делать можно, а по времени на всякий случай дергать собаку, но такой программе сторож не поможет. В нормальных ОС есть такая штука, как события. По событию поднимается задача, ожидающая событие. Соответственно сторож относится к системе, а не к программе. Если программа (задача) работает равноприоритетно со всем остальным, ну или нет ОС, то в цикле ожидания можно получать флаги из прерываний таймера (я без прерываний беру значение таймера до входа в цикл и проверяю текущее время уже в цикле - больше ли модуль разницы, чем заданное время) и на этом основании сбрасывать сторож не более, чем N раз, на основании превышения N либо формировать ошибку и "заканчивать с вечностью", либо без ошибки, но тоже вываливаться.
2. Правильное железо (подтяжки на выводах для безмозглого состояния при ресете и пр.) не требует "радости от нашей гордости за нашу радость от нашей гордости..." - одного сторожа достаточно. Другое дело, что есть безмозглые вещи, типа дискретных выходов, которые после подачи питания и до старта проца должны находиться в "безопасном состоянии", поэтому до сих пор свободно конфигурируемое "безопасное состояние" нельзя (или очень накладно) корректно сделать без электромеханических реле. Если выходы управляются защёлками, то их сброс может потребоваться (но далеко не всегда это необходимо) при сбросе проца - тогда внешнего супервизора со сторожем на всех хватит и использование дополнительно встроенного в проц сторожа может только навредить (хотя в некоторых параноидальных случаях или когда системы разделены только так и можно).
Напомню, что у двери существует три состояния - открыта, закрыта и ...незакрыта.
Считаю, что на эту тему можно написать не одну докторскую.
А для "непрестанной борьбы" с защёлкиваниями, если уж так охота, просто врезать в питание polyswitch на маленький ток - и защита от дурака и маньячно.

Да, ещё. Вы уж извините, но, ИМХО, Вы бы не утомляли своей навязчивостью и флудовостью и Вам бы спокойно отвечали на Ваши злободневные вопросы. Оффтоп идёт под маркером Офф. Если явный офф, флейм, то их и так видно без маркера. И если они протираются, то и не жалко. А вот если Флуд, то он протирается имеющим соответствующее мнение (ну и право), а тех, кто ещё имеет такое мнение, это устраивает, а тех кто не имеет такого мнения - не должны спрашивть, потому как это члены клуба, у которого явные и неявные правила и традиции. Если пойти в шикарном смокинге в диско-клуб, то можно не пройти фейс-контроль, хоть трезв как стёклышко и Ролекс на руке, а если попытаться прорваться, то можно и по фейсу получить - и всё законно.



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
прибавьте тройку к двум:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru