LINUX.ORG.RU

pit (который 8254) и HR Timers в ядре


0

0

тема такая:
есть старенький одноплатный промышленный комп и ISA плата со счётчиками, которая не умеет делать прерывания. её надо опрашивать с частотой 20кГц, или хотя бы 10кГц. для этого я буду писать модуль ядра.

Процессор там (мне сказали) пентиум 200+МГц. В остальном люди не разбираются, т.е., есть ли поддержка HPET и прочего, сказать не могут. Что за плата внутри - тоже не могут сказать, бумаги давно куда-то заныканы.

ящик мне отдадут этот только на следующей неделе, а решать как быть надо уже сейчас.

собсно, 2 пути:

1) пропатчить и пересобрать ядро, чтоб было HZ=10000
2) сделать всё на hrtimer_

отсюда два вопроса:
1) потянет ли планировщик такое HZ на 200МГц
2) при отсутствии HPET (что весьма вероятно), включится ли PIT в режиме источника для hrtimer ?

★★

Могу сказать наверняка, что когда был молодым и зелёным аспирантом, делал ISA плату АЦП, тоже была на 20кГц, но только прерывания умела. Компьютер успевал в обычном DOS и был... обычным 286-ым.
Так, к чему это я... Скорее, чтобы, наверное, приободрить насчёт 200МГц пня. Может быть глянуть в сторону -RT патчей, MontaVista или RTLinux? Не знаю наколько он живой.

Жаль, что нет схемы платы. Приделать прерывания на ISA -- сопля из одной микросхемы и, при наличии двухканального осциллографа, всё делается за час.

Lumi ★★★★★
()
Ответ на: комментарий от Lumi

плата для ФЭУ hamamatsu7284, там на альтере сделано.

scaldov ★★
() автор топика
Ответ на: комментарий от Lumi

насчёт RT - там hrtimer, она же встроена уже и в обычные ядра, начиная с 2.6.какой-то.

сильно не разбирался - в документации смутно написано, что PIT вроде бы питает систему hrtimer, и разрешение вроде бы 700 с чем-то ns. и вроде бы опробовано на i386.

всё-же подожду ящик, а пока напишу тестовый модуль.

scaldov ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.