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

 
 
> Обработка длительных процессов в RTOS
Harvester
сообщение Dec 10 2014, 15:53
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846



Имеем простую RTOS (REX, если кому интересно).
Одна из особенностей этой оси - в ней есть системный процесс сторожевого таймера.
Соответственно, в каждом процессе создается таймер, по сигналу от которого процесс "пинает" сторожевой таймер. Этот сигнал вместе со всеми остальными мониторится в теле процесса.

Собственно, я не могу решить, как следует поступать, если в процессе вызывается функция, время выполнения которой может оказаться больше периода сторожевого таймера.
Что мне приходит в голову:
1. Увеличить период стор. таймера - непонятно на сколько, т.к. время выполнения функции неизвестно;
2. Отслеживать сигнал таймера процесса и "пинать" стор. таймер в этой долгой функции - как-то некрасиво и возможность такого решения зависит от алгоритма самой функции (есть в этой функции "суперлуп" или нет);
3. Отключать сторожевой таймер для данного процесса перед вызовом функции и включать после возврата (в ОС такие функции предусмотрены) - почему-то тоже не нравится wink.gif
В общем, все три варианта мне не нравятся. Посему прошу вашего совета и других идей.
Может я вообще велосипед изобретаю и уже все давно придумано?

Сообщение отредактировал Harvester - Dec 10 2014, 20:50


--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
Go to the top of the page
 
+Quote Post



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

 


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


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