Как я могу сохранить данные в файл устройства? - PullRequest
0 голосов
/ 09 ноября 2018

В настоящее время я создаю модуль ядра, который создает устройство в / dev, и я хочу сохранить некоторые данные в файле устройства. Однако каждый раз, когда я пытаюсь записать файл устройства, в этот конкретный файл ничего не сохраняется.

В настоящее время я безуспешно пытался использовать device_write / device_read, поскольку записываемые мной данные не сохраняются в пространстве ядра после повторного запуска пользовательской программы. Я также пытался использовать вызовы ioctl из пользовательской программы и использовать copy_from_user и copy_to_user, но это также не сохраняет никаких данных.

1 Ответ

0 голосов
/ 09 ноября 2018

Простое создание узла устройства в / dev не означает, что у вас есть устройство, которое может читать / писать. Это просто ручка для общения с оборудованием из пользовательского пространства. Если вы создаете драйвер для какого-либо блочного устройства SD / USB, вам необходимо обратиться к конкретной структуре устройства.

Если вы просто создаете фиктивное устройство и хотите реализовать чтение / запись, вы можете просто выделить немного памяти ядра в probe и в device_write, скопировать в эту память и в device_read прочитать содержимое памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...