Linux: Полное руководство
Шрифт:
При загрузке модуля вы увидите следующее сообщение:
Конечно, кроме этого сообщения будут и другие, но нас они не интересуют. Почему именно это сообщение так важно для нас? В первой части сообщения говорится, что наше устройство успешно зарегистрировано, а во второй сообщается старший номер устройства, который мы будем использовать для создания устройств /dev/device0 и /dev/device1.
Вы не забыли, что нам еще нужно создать два устройства типа device, чтобы программы могли работать с ними? Перейдите в каталог
Здесь 255 — это старший номер устройства (у вас он будет другим), 0 и 1 — младшие номера устройств. После выполнения данных команд будут созданы два файла устройств —
После регистрации устройства функцией register_chrdev мы пытаемся захватить диапазон портов. Для этого предназначена функция request_region, но перед ее вызовом мы должны убедиться, что нужный нам диапазон не используется (функция check_region). Затем, если нужно, мы резервируем память для нашего устройства. Для резервирования памяти используется функция request_mem_region, а для проверки возможности захвата памяти предназначена функция check_mem_region. После успешной регистрации памяти можно попытаться захватить IRQ — функция request_irq.
Предположим, что на каком-то этапе регистрации модуля произошла ошибка. Если мы не смогли зарегистрировать порты ввода/вывода, вряд ли имеет смысл продолжать работу. Если же ошибка произошла при резервировании памяти, то перед завершением работы модуля нам нужно освободить порты ввода/вывода, которые мы зарегистрировали на предыдущем этапе. Аналогично поступаем при ошибке захвата IRQ — освобождаем порты и память. Функции
Батальоны тьмы. Трилогия
18. Фантастический боевик
Фантастика:
боевая фантастика
рейтинг книги
Ведется следствие
Детективы:
прочие детективы
рейтинг книги
Герда
Детские:
детская проза
рейтинг книги
Волки Кальи
5. Темная Башня
Фантастика:
фэнтези
рейтинг книги
Дитя прибоя
Дитя прибоя
Фантастика:
боевая фантастика
попаданцы
фэнтези
рейтинг книги
На границе империй. Том 9. Часть 4
17. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
рейтинг книги
Егерь. Сердце стаи. Книга 5
5. Зверолов
Фантастика:
рпг
фэнтези
фантастика: прочее
попаданцы
рейтинг книги
Враг из прошлого тысячелетия
4. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
рейтинг книги
Проводник
2. Другая сторона
Фантастика:
боевая фантастика
рпг
рейтинг книги
Миры Источника. Трилогия
19. В одном томе
Фантастика:
фэнтези
рейтинг книги
Когда физики в цене
Документальная литература:
биографии и мемуары
рейтинг книги
Мир Лема - словарь и путеводитель
Фантастика:
научная фантастика
рейтинг книги