Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Таймер в ядре


Автор: Orthenner 2.8.2006, 12:57
Добрый день.
Есть модуль ядра, который по таймеру производит запись в порт. Таймер классический - инициализируется функцией init_timer, добавляется функцией add_timer. Однако минимальная задержка в таком таймере - 1 системный тик. Максимальное количество системных тиков в секунду, которое позволяет ядро - 1000. то есть 1 мс. А нужно вызывать функцию с частотой 50 мксек. Подскажите, можно ли как-нибудь организовать такой таймер? И если можно, то где копать?

Автор: bsa 4.8.2006, 17:58
Как вариант можно использовать nanosleep.

Автор: Orthenner 5.8.2006, 23:47
Цитата(bsa @ 4.8.2006,  18:58)
Как вариант можно использовать nanosleep.

При написании модуля ядра такой функции нет... Есть функция udelay тока для рела-тайма как-то не очень кузяво... smile Сильно проц напрягает...

Автор: kirjanov 8.8.2006, 20:32
Orthenner,
гугли по UKA APIC, модуль ядра для таймера в микросекундном диапазоне 

Автор: Orthenner 9.8.2006, 13:26
Цитата(kirjanov @ 8.8.2006,  21:32)
Orthenner,
гугли по UKA APIC, модуль ядра для таймера в микросекундном диапазоне

Спасибо большое.... Похоже то, что нужно.... Щас поковыряюсь....

Автор: bsa 9.8.2006, 17:50
Цитата(Orthenner @ 5.8.2006,  23:47)
Цитата(bsa @ 4.8.2006,  18:58)
Как вариант можно использовать nanosleep.

При написании модуля ядра такой функции нет... Есть функция udelay тока для рела-тайма как-то не очень кузяво... smile Сильно проц напрягает...

Сорри. На слова "модуль ядра" внимание не обратил. smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)