запись драйвера устройства в linux - обработчик interupt

Я пытаюсь написать загружаемый драйвер устройства, который способен воздействовать на внешнее событие. уточните следующие моменты.

1> modprob command is used to add remove modules to kernel. Does it applies to static modules ? can modprobe or rmmod --- remove static module of linux kernel.

2> If interrupt comes i will save data & schedule the bottom half. Now when the bottom half completes its task how shall i inform application at user space that data is available.

3> I am thinking to use entry in debugfs to transfer data between application & driver. So is it feasible that my device driver & my user space application -- by using MAP() system call map same area of an file in debufs & exchange data between each other ?

0
nl ja de

1 ответы

Команда modprob используется для добавления модулей удаления в ядро. Это относится к статическим модулям? может modprobe или rmmod - удалить статический модуль ядра linux.

Если вы имеете в виду статический модуль = модуль, который скомпилирован как часть ядра linux (а не как отдельный загружаемый модуль), тогда ответ будет; нет, ты не можешь.

If interrupt comes i will save data & schedule the bottom half. Now when the bottom half completes its task how shall i inform application at user space that data is available.

Если приложение пользовательского пространства работает в режиме опроса, вы можете уведомить об этом файл ioctl или sysfs/procfs. но если приложение пользовательского пространства должно быть уведомлено в драйвере событий, используйте сетевой сокет.

I am thinking to use entry in debugfs to transfer data between application & driver. So is it feasible that my device driver & my user space application -- by using MAP() system call map same area of an file in debufs & exchange data between each other ?

как приложение для чтения/записи в пользовательском пространстве читает/записывает debugfs, просто прочитав/записав файл debugfs (он находится под/proc/.. или/sys/.., поэтому вы можете «открыть» файл, получить дескриптор файла, затем прочитать/write - как будто это обычный файл).

0
добавлено
Файлы sysfs могут иметь гораздо больше, чем одно значение. Каждый файл sysfs тесно связан с функциями show/store (зависит от разрешений файла, если он доступен только для чтения, он не будет иметь функцию сохранения). Функция чтения находится в пространстве ядра, и она заполняет содержимое sysfs, за которое отвечает, это может быть любой текст, который вы хотите показать, не обязательно одно значение. Вы можете узнать больше о sysfs api здесь: kernel.org/doc/Documentation/filesystems /sysfs.txt
добавлено автор LIUB, источник
спасибо за ваш четкий ответ. Просто добавьте в/sysfs --- что мы понимаем под sysfs за одно значение для файла? Означает ли это, что в нем может быть только один int или один символ или одна структура?
добавлено автор user1871987, источник
Linux Help
Linux Help
2 686 участник(ов)

Правила: https://telegra.ph/Pravila-Linux-Help-10-15

Linux Security
Linux Security
652 участник(ов)

Данная группа принципиально про безопасность и в частности про безопасность Linux. Прочие темы просим обсуждать в профильных чатах.

Linux Gaming RUS
Linux Gaming RUS
28 участник(ов)

Русскоязычный чатик, посвящённый играм на различных дистрибутивах Linux, а также wine, proton Arch Linux RU @ArchLinuxChatRU Gnome RU @gnome_ru