Author Topic: Модуль для Linux 2.6  (Read 3398 times)

0 Members and 1 Guest are viewing this topic.

Offline syantal

  • Newbie
  • *
  • Posts: 2
  • Karma: +0/-0
Модуль для Linux 2.6
« on: November 02, 2005, 02:02:17 »
Посчитал, что тема "написание драйвера под Linux" посвящена поиску литературы и решил создать новую.

Появилась необходимость срочно написать драйвер, прочитал книгу Linux Device Drivers 3ed. Там рассмотрен механизм создания драйвера для версии ядра 2.6, и чёрным по белому написано, что для получения старшего номера устройства необходимо использовать функцию alloc_chrdev_region (динамически) или register_chrdev_region (если номер заранее известен) вместо устаревшей register_chrdev. Но у меня возникли трудности с получением номера устройства.

При использовании функции register_chrdev_region всё вроде бы работает нормально, функция завершается без ошибок, но я не могу найти свой модуль в файле /proc/devices  :ujasnah:

При динамическом получении номера, в файле /proc/devices появляется новая строка с выделенным мне номером, но вместо имени модуля печатается всякая белиберда. К тому же при выгрузке модуля освобождения номера не происходит.

Помогите люди добрые. Я новичок в Линуксе (использую ASPLinux 10).Может быть чего-то недопонимаю. Заранее спасибо.