реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> WDT где сбрасывать?
vasta
сообщение Feb 5 2011, 15:41
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 183
Регистрация: 3-02-09
Из: Нск
Пользователь №: 44 325



Доброго дня.
Доселе никогда не работал с ватчдогом на мсп, всегда усыплял в начале кода.
Но тут дошло дело до серийной партии и встал вопрос - может оно надо.
Боюсь, что реализую и как нибудь не так (ввиду отсутствия навыкоыв работы), то бишь благими намерениями вымощу себе ад)
Код простейший, инициализация, усыпление ядра в лпм3, и далее по прерываниям таймера измерение и дергание ногами в зависимости от результатов измерения. Нужен ли в такив вещах ватчдог. и если нужен то в каком месте его сбрасывать
Камень f2132, в будущем планируется переход на g2231
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Feb 5 2011, 16:52
Сообщение #2


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Сбрасывать периодически, период меньше интервала переполнения вочдога. Сбрасывать там, куда гарантированно придешь с периодом опять же меньше интервала переполнения вочдога. А где конкретно, ну кто ж его знает вашу программу sm.gif
Go to the top of the page
 
+Quote Post
kriv-73
сообщение Feb 6 2011, 14:15
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 15-01-11
Из: Киров
Пользователь №: 62 255



Сбрасывать можно только в main(), потому что прерывания продолжают вызываться и после разрушения стека.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 6 2011, 14:49
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (kriv-73 @ Feb 6 2011, 17:15) *
Сбрасывать можно только в main(), потому что прерывания продолжают вызываться и после разрушения стека.

Отлично sm.gif, а как вариант - прерывание накрылось медным тазом, а main() тупо крутиться.

В случае наличия операционной системы варианты сброса WD следует начинать рассматривать с варианта соэдания самой низкоприоритетной задачи в которой осуществляется контроль работоспособности и основных задач и обработчиков прерываний. В этой-же задаче могут приниматься и какие-либо мягкие меры, например, обресетить сначала переферийное обороудование, вместо того, что-бы собаку спускать.

Без операционки - в том-же main() хоть какой-то контроль за псевдопроцессами и только в случае их работоспособности сброс WD.



--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
kriv-73
сообщение Feb 6 2011, 16:18
Сообщение #5





Группа: Новичок
Сообщений: 5
Регистрация: 15-01-11
Из: Киров
Пользователь №: 62 255



Цитата(zltigo @ Feb 6 2011, 17:49) *
Отлично sm.gif, а как вариант - прерывание накрылось медным тазом, а main() тупо крутиться.

Обычно в main() ничего срочного не исполняется - в этом цикле повторяется инициализация периферии и настройка прерываний.

Цитата(zltigo @ Feb 6 2011, 17:49) *
В случае наличия операционной системы варианты сброса WD следует начинать рассматривать с варианта соэдания самой низкоприоритетной задачи в которой осуществляется контроль работоспособности и основных задач и обработчиков прерываний.

Человек же писал - код простой.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Feb 6 2011, 16:32
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(kriv-73 @ Feb 6 2011, 20:18) *
... в этом цикле повторяется инициализация периферии и настройка прерываний.

сколько же их можно настраивать? wink.gif

Цитата(kriv-73 @ Feb 6 2011, 20:18) *
Человек же писал - код простой.

Но прерывания то есть, раз их настраиваем постоянно?

Обычно в простых программах есть базовое прерывание таймера, в которое включаются фоновые сервисы периферии.
Вот оно и должно обязательно контролироваться. Если прерывание происходит, то сброс WDT в основном цикле.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 6 2011, 19:04
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (kriv-73 @ Feb 6 2011, 19:18) *
в этом цикле повторяется инициализация периферии и настройка прерываний.

Жутчайшая муть sad.gif sad.gif sad.gif - стучать по голове РАБОТАЮЩЕЙ периферии.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
firstvald
сообщение Feb 7 2011, 08:36
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 580
Регистрация: 3-06-08
Пользователь №: 38 041



Вообще накрывается все и работающая переферия и таймеры и main. Если удастся связать работу таймеров и main одним признаком и по нему глушить собаку- то будет хорошо.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 00:33
Рейтинг@Mail.ru


Страница сгенерированна за 0.01343 секунд с 7
ELECTRONIX ©2004-2016