1

Здравствуйте, Немного предыстории: Долго разбирался с rt патчем для убунты. Вроде настроил таймер, работает ровно, сигнал на ЦАП выдает без претензий на 1кГц. Теперь занялся приемом сигнала с АЦП. Алгоритм работы хочу устроить следующий: поочередное считывание информации с канала по прерыванию о завершении преобразования Где-то вычитал что в Линукс прерывания никак не достать из пространства ядра. Не знаю как с этим дело когда работаешь на RT-ядре, может быть из него можно вынуть прерывания в RT приложение работающее в user-space? Или нужно писать модуль только теперь не к ядру Линукс а к ядру linuxrt. Информации в инете найти не могу, может кто подскажет как нужно правильно делать. Если писать модуль, то как из него потом все время быстро перебрасывать информацию в rt прогу, которая будет все обрабатывать. Запутался я немного.

2

Не понимаю, что Вам мешает написать драйвер в kernel-space с перехватом прерываний и т д?

3

мне ничего не мешает, я ищу путь наименьшего сопротивления.
я знаю как писать модуль для ядра Линукс но не знаю есть ли различия когда пишешь для rt ядра.
Если я смогу поймать прерывание в userspace мне нужно будет писать всего одну прогу как в QNX и не заморачиваться с модулями, не пересылать данные из модуля в user-space.
Мне очень понравиласть простота реализации реального времени в линукс, т.е. я написал обычный код, задал приоритет 49, скомпилировал с директивой -lrt и запустил из под РТ ядра. Работает как часы. А теперь впечатление портится из за гемора с обработкой прерываний