embedded_c

1
README.md

Модули ядра 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

Демонстрация различных уровней логирования в ядре.

Сборка модулей

Для каждого модуля:

Удаление модулей

Примечание: Все модули требуют прав суперпользователя для установки и удаления.