Приветствую!
Имеется исходник модуля ядра под Линукс, требуется из него работать с серийным портом.
Немного прошарил тему, сколько удалось понять, что по простому работать с виртуальным терминалом ttyS можно только из под юзер спейс.
В теории можно собрать свой низкоуровневый драйвер, но это сложновато для моего уровня знаний.
Какие варианты решения посоветуете?
В гугле забанили?
> В гугле забанили?Про гугель не скажу а на ЛОРе - почти да :) Оно видимо это запостило везде куда смогло дотянуться, так что "Жги *же!" :)
> Приветствую!
> Имеется исходник модуля ядра под Линукс, требуется из него работать с серийным
> портом.
> Немного прошарил тему, сколько удалось понять, что по простому работать с виртуальным
> терминалом ttyS можно только из под юзер спейс.
> В теории можно собрать свой низкоуровневый драйвер, но это сложновато для моего
> уровня знаний.
> Какие варианты решения посоветуете?собрать свой драйвер, наверное.
а что конкретно надо делать-то ?
там вообще несколько слоев. драйвер уарта, line discipline и собссно /dev/ttyS*
мож тебе проще драйвер уарта пропатчить, например. проинициализировать девайс из юзерспэйса , но потом дергать из твоего модуля драйвер уарта напрямую, а /dev/ttyS не трогать вообще.
> собрать свой драйвер, наверное.
> а что конкретно надо делать-то ?
> там вообще несколько слоев. драйвер уарта, line discipline и
> собссно /dev/ttyS*
> мож тебе проще драйвер уарта пропатчить, например. проинициализировать девайс из
> юзерспэйса , но потом дергать из твоего модуля драйвер уарта напрямую,
> а /dev/ttyS не трогать вообще.Мда, в сабже я дал конечно, был очень не трезв ;)
Есть готовый драйвер LKM из которого нужно наладить коммуникацию с периферией по уарту.
В общем все сделал через /dev/ttyS, но работает не стабильно.
После пересборки модуля он периодический зависает после вызова filp_open(serial, O_RDWR | O_NOCTTY | O_NDELAY, 0);
Как отладить и с чего глючит не ясно...(
> Мда, в сабже я дал конечно, был очень не трезв ;)
> Есть готовый драйвер LKM из которого нужно наладить коммуникацию с периферией по
> уарту.
> В общем все сделал через /dev/ttyS, но работает не стабильно.
> После пересборки модуля он периодический зависает после вызова filp_open(serial, O_RDWR
> | O_NOCTTY | O_NDELAY, 0);
> Как отладить и с чего глючит не ясно...(Зря вы так, у вас же явное ОРЗ.
PS. ОРЗ(Очень Резко Завязал).
> мож тебе проще драйвер уарта пропатчить, например. проинициализировать девайс из
> юзерспэйса , но потом дергать из твоего модуля драйвер уарта напрямую,
> а /dev/ttyS не трогать вообще.С этого места можно чуть подробнее...?