2012-02-14 2 views
2

Я новичок в программировании ядра Linux. Я написал простой модуль ядра и устройство char. Я определил методы open(), release(), read() и write() устройства. Я инициализирую свой модуль с помощью insmod и удалил его с помощью rmmod, и все работает правильно. Теперь я хочу проверить мои методы read() write() устройства. Не могли бы вы рассказать мне, как написать программу пользователя, которая должна реализовать методы чтения/записи моего устройства char? Спасибо.Проверка функций чтения/записи простых символов в LINUX

ответ

3

Первый тест, который вы можете сделать, если у вас есть символьное устройство, и вы хотите, чтобы проверить выполнение read и write системных вызовов заключается в следующем:

  • записи с помощью команды echo оболочки: echo 42 > /dev/char_device
  • читать с cat команды или определенное количество байт с помощью команды head (или с dd) и преобразовать в шестнадцатеричное с od -x при необходимости: head -8 /dev/char_device | od -x

Теперь, чтобы написать программу на C, просто используйте fopen, чтобы открыть файл и использовать fread и fwrite для чтения и записи данных; вы также можете использовать read и write syscalls, но fread и fwrite являются стандартными библиотечными функциями C, которые обертывают read и write.

3

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

Смежные вопросы