[an error occurred while processing this directive]
путаница в понятиях... y кoгo? ;-)))
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено AK 27 сентября 2002 г. 08:47
В ответ на: У тебя путаница в понятияхи и отсутствие представления процессов (из всех твох писем). И задача (твои требования по переключениям/переходам) так и не ясна (+) отправлено Sergey Pinigin 27 сентября 2002 г. 07:54

>>Мне не подходит, чтобы задача "отстреливала" целиком.
:) Поясни
+++


void my_task_1(void) // задачa 1
{ ... // инициализируем задачу
while ( 1!=0) // далее - бесконечный цикл
{
... // делаем что-то полезное
delay(10); // возвращаем управление ядру на 10 тиков (suspend task)
... // опять делаем что-то полезное
delay(0); // возвращаем управление ядру на 0 тиков (ready to continue immediately)
... // опять делаем что-то полезное
// и т.д.
}
}

>>Ставить ради такого сервиса вытесняющую ОСРВ я тоже не вижу смысла, т.к.
>>ей потребуется больше времени на переключение контекста. Не говоря уж о
>>размерах, сложности, и пр.
Что за _сервис_ тебе нужен?

+++
void delay(int N); // suspends current task for N system ticks,
// returns control to RTOS kernel

Таймер? Дык он привязан во всех RTOS к системному тику, следовательно точной(точнее тик+1) привязки ты получить не сможешь. Это организуется за счет дополнительных прерываний...

+++
I need just one ISR to service timer interrupt. That ISR will set a "tick flag", that's all. The rest will be done in RTOS kernel. Kernel clears "tick flag", counts delay time for each task and invokes active tasks. Trivial.

>>В данном случае мне надо закрутить 4 задачи, из них две - связные,
>>где есть критические участки в несколько мс.
Требуется более полное описание что ты под этим подразумеваешь...
Если необходимо переключиться из одной задачи в другую, то это уже не round-robin...

+++
Blin! это round-robin!!!
example:

task_1
task_2
skip task_3 (it still in sleep mode)
skip task_4
continue task_1
continue task_2
... etc, round-robin

Книгу по uCOS листал?
+++
Briefly. Long time ago.


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru