embedded_c
Модули ядра Linux
01_simple_lkm
Простой загружаемый модуль ядра - базовый пример.
02_dev_nr
Модуль создает символьное устройство.
03_read_write
Модуль с реализацией операций чтения и записи для символьного устройства.
04_hrtimer
Модуль с использованием высокоточного таймера (High Resolution Timer).
05_ioctl
Модуль с поддержкой IOCTL команд.
Поддерживает команды:
- WR_VALUE: Запись значения
- RD_VALUE: Чтение значения
- GREETER: Пользовательская структура
06_kernel_threads
Демонстрация работы с потоками ядра.
07_waitqueue
Пример использования очередей ожидания.
08_procfs
Работа с файловой системой /proc.
09_sysfs
Работа с файловой системой /sys.
10_malloc
Демонстрация динамического выделения памяти в ядре.
11_misc_device
Пример создания misc-устройства.
12_mutex
Работа с мьютексами в ядре.
13_completion
Использование механизма завершения (completion).
14_dma_memcpy
Пример копирования памяти с использованием DMA.
15_file_access
Работа с файлами из пространства ядра.
16_mmap
Реализация отображения памяти (mmap).
17_list
Работа со связными списками в ядре.
18_my_cdev
Пример создания символьного устройства через cdev.
19_priv_data
Работа с приватными данными устройства.
20_i2c_driver
Драйвер для работы с I2C устройствами.
21_log_levels
Демонстрация различных уровней логирования в ядре.
Сборка модулей
Для каждого модуля:
Удаление модулей
Примечание: Все модули требуют прав суперпользователя для установки и удаления.