|
Как использовать Watchdog-таймер в RTOS, Ведь для многопоточных задач есть специфика |
|
|
|
 |
Ответов
|
Feb 11 2008, 19:03
|

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

|
Цитата(Непомнящий Евгений @ Feb 11 2008, 21:41)  По-идее, надо каким-то способом контролировать "правильность" поведения оборудования, а как в общем случае это сделать - хз... Ну в общем-то как раз и просто. Watcdog сбрасывает самая неприоритетная (можно специально созданная), но периодически запускаемая задача, она-же анализирует некотрые статистические параметры работы оборудования. Ну а в системном таймере сбрасывать, это, конечно, очень грубо.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Feb 12 2008, 04:55
|

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

|
Цитата(zltigo @ Feb 11 2008, 22:03)  Watcdog сбрасывает самая неприоритетная (можно специально созданная), но периодически запускаемая задача. Ну а в системном таймере сбрасывать, это, конечно, очень грубо. Цитата(zltigo @ Feb 11 2008, 22:03)  Ну а в системном таймере сбрасывать, это, конечно, очень грубо. А чем запуск этой "периодической задачи" менее "груб" чем сброс WDT в хандлере? Ведь она (эта задача) запускается всё равно по системному таймеру. Кстати, у меня так и сделано. Хандлер через определённые промежутки времени переводит в ready-состояние некий приодический поток. А уж он обслуживает WDT и прочие периодические проверки
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
|
Feb 12 2008, 11:50
|

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

|
Цитата(Alex B._ @ Feb 12 2008, 10:38)  Эта задача может тупо не запуститься, переполнение стека у вас, например, адрес возврата в контекст потерся... А системный таймер все равно будет тикать. Система не работоспособна а watchdog нормально сбрасывается... Согласен.. Правильный совет... Так как при сбое проги проц может и не достаться потоку, сбрасывющему WDT.. Благо я так и сделал("Кстати, у меня так и сделано. Хандлер через определённые промежутки времени переводит в ready-состояние некий приодический поток. А уж он обслуживает WDT и прочие периодические проверки")
--------------------
После устранения бага в программе она стала работать....хуже
|
|
|
|
Сообщений в этой теме
Дон Амброзио Как использовать Watchdog-таймер в RTOS Feb 11 2008, 18:10 jasper Поместить WDR в прерывание системного таймера. Feb 11 2008, 18:38 Дон Амброзио Цитата(jasper @ Feb 11 2008, 21:38) Помес... Feb 11 2008, 18:47 Cosmojam Сории за некропостинг, не хочу плодить новых тем
... Feb 5 2012, 17:52 _Артём_ Цитата(Cosmojam @ Feb 5 2012, 19:52) корм... Feb 5 2012, 18:28 maksimp Каждая задача кроме одной выставляет время от врем... Feb 5 2012, 18:41  _Артём_ Цитата(maksimp @ Feb 5 2012, 20:41) После... Feb 5 2012, 18:50   maksimp Цитата(_Артём_ @ Feb 5 2012, 22:50) После... Feb 6 2012, 02:55  sla000 Цитата(maksimp @ Feb 6 2012, 01:41) Кажда... Feb 6 2012, 02:21
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|