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

 
 
> Как использовать Watchdog-таймер в RTOS, Ведь для многопоточных задач есть специфика
Дон Амброзио
сообщение Feb 11 2008, 18:10
Сообщение #1


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Как использовать Watchdog-таймер в вытесняющей RTOS? Ведь там трудно просчитать в какой момент какой сегмент кода будет работать. Всё зависит от потока событий


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Непомнящий Евген...
сообщение Feb 11 2008, 18:41
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 16-07-07
Из: Волгодонск
Пользователь №: 29 153



to jasper - Вы серьезно?
Ведь даже если контроллер начнет работать неверно, высока вероятность, что прерывания таймера будут продолжать исполняться...
По-идее, надо каким-то способом контролировать "правильность" поведения оборудования, а как в общем случае это сделать - хз...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Feb 11 2008, 19:03
Сообщение #3


Гуру
******

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



Цитата(Непомнящий Евгений @ Feb 11 2008, 21:41) *
По-идее, надо каким-то способом контролировать "правильность" поведения оборудования, а как в общем случае это сделать - хз...

Ну в общем-то как раз и просто. Watcdog сбрасывает самая неприоритетная (можно специально созданная), но периодически запускаемая задача, она-же анализирует некотрые статистические параметры работы оборудования. Ну а в системном таймере сбрасывать, это, конечно, очень грубо.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Дон Амброзио
сообщение Feb 12 2008, 04:55
Сообщение #4


Местный
***

Группа: Участник*
Сообщений: 323
Регистрация: 11-02-08
Пользователь №: 34 947



Цитата(zltigo @ Feb 11 2008, 22:03) *
Watcdog сбрасывает самая неприоритетная (можно специально созданная), но периодически запускаемая задача. Ну а в системном таймере сбрасывать, это, конечно, очень грубо.


Цитата(zltigo @ Feb 11 2008, 22:03) *
Ну а в системном таймере сбрасывать, это, конечно, очень грубо.

А чем запуск этой "периодической задачи" менее "груб" чем сброс WDT в хандлере? Ведь она (эта задача) запускается всё равно по системному таймеру.
Кстати, у меня так и сделано. Хандлер через определённые промежутки времени переводит в ready-состояние некий приодический поток. А уж он обслуживает WDT и прочие периодические проверки


--------------------
После устранения бага в программе она стала работать....хуже
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 04:22
Рейтинг@Mail.ru


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