Я получил драйвер (драйвер PCAN для PCI-карты, использующий rtdm), который создает / dev / pcan0 и / dev / pcan1 скомпилирован как драйвер netdev.
Существует множество средств, которые поставляются сэтот драйвер, но все они предназначены для программы уровня пользователя, читающей сообщения CAN.Однако мне нужно прочитать эти сообщения из модуля ядра.Драйвер PCAN не экспортирует никакие переменные / функции, а это значит, что он не предоставляет API уровня ядра, который я могу использовать.
Я кратко рассмотрел код, читал с устройства / dev и писал вон не использует copy_from_user
или copy_to_user
.Поэтому я подумал, что для меня было бы безопасно открыть / dev / pcan0 из моего модуля ядра и прочитать из него.
Теперь мой вопрос, как мне открыть / прочитать с устройства / dev смодуль ядра?
PS Я хочу читать с шины CAN из потока реального времени RTAI. Как вы думаете, это может вызвать проблемы (например, при каждом чтении, проходящем через ядро Linux и, следовательно, нарушающем условия реального времени)??)