Я разрабатываю драйвер ядра Linux для мультисенсорного устройства. Прямо сейчас я уже имею сенсорный вводимый к подсистеме ядра Linux, и она работает. Проблема состоит в том, что я также должен взаимодействовать с устройством для изменения настроек и так далее.
В то время как ядро захватывает устройство, я не могу захватить его в пространстве пользователя, таким образом, я должен найти способ взаимодействовать с драйвером ядра.
Мой первый тест драйвера начал некоторые дополнительные операции, которые я не могу найти на текущей модели, которую я использую. Это имело открытый, близко, чтение, запишите operatins, который я мог выполнить от пространства пользователя.
Как я могу сделать такие вещи с входными драйверами? Есть ли какой-либо официальный путь?
Заранее спасибо,
С наилучшими пожеланиями,
Nuno Santos
Необходимо реализовать устройство посимвольного ввода-вывода, введенное во входную подсистему стандарта ядра. Проверьте эту книгу. read()
, write()
, ioctl()
, и т.д. типичные символьные операции драйверов, любой символьный драйвер имеет, по крайней мере, open()
и close()
. Так или иначе, какую подсистему ядра Вы использовали в своей последней версии драйвера? Самый полезный путь к любой разработке ядра к связанным с чтением документам в Документации / исходного каталога ядра и прочитал код драйверов ядер области, связанной с Вашими задачами.
Можно объединить драйвер устройства ввода с символьным драйвером, и затем Вы получаете файл устройств, в который можно записать данные конфигурации и прочитать конфигурацию из. Взаимодействие между двумя разделенными драйверами в пространстве ядра не должно также быть сложным.
Я предполагаю, что Вы уже знаете эту книгу, она могла бы ответить на Ваш вопрос подробно: