Вопросы по теме 'linux-device-driver'

Изучение программирования ядра
Я хочу изучить программирование ядра Linux. Что может быть отправной точкой для этого? На какие из более простых проблем можно ориентироваться?
20459 просмотров

Чтение с блочного устройства в пространстве ядра
Я пишу модуль ядра, и мне нужно выполнить чтение с существующего блочного устройства. (/dev/что-то). Кто-нибудь знает какие-либо другие модули, которые делают это, которые я могу использовать в качестве ссылки? Любые указатели приветствуются...
2592 просмотров

Как написать драйвер блочного устройства Linux для пользовательского пространства?
Я хотел бы написать драйвер блочного устройства Linux. Драйверу не потребуется доступ к оборудованию, поэтому он может находиться в пользовательском пространстве. Для начала я попытался собрать пример драйвера блочного устройства с помощью этого...
6735 просмотров

Драйвер Linux phys_mem_access_prot не определен
У меня есть загружаемый модуль, который выдает предупреждение о phys_mem_access_prot при сборке под Ubuntu 9.10 (Linux 2.6.31-22-сервер). [664] make -C /lib/modules/`uname -r`/build M=`pwd` make: Entering directory...
634 просмотров
schedule 17.10.2022

Существуют ли какие-либо ограничения памяти для модулей ядра Linux?
Существуют ли какие-либо ограничения на использование памяти модулем ядра Linux, т. е. размер сегмента кода или объем глобальной памяти или что-то еще.
901 просмотров
schedule 09.08.2022

Как программно получить размер страницы ядра Linux
Я работаю над модулем Linux для IA64. Моя текущая проблема заключается в том, что драйвер использует макросы PAGE_SIZE и PAGE_SHIFT для распределения страниц dma. Проблема, с которой я сталкиваюсь, заключается в том, что машина, компилирующая...
56961 просмотров

Кконфиг и ЛКМ
Я работаю с LKM вне дерева ядра и хочу использовать некоторые параметры компиляции для своего модуля, например MYLKM_CONFIG_{что-то}. Я знаю, что это можно сделать с помощью предварительной обработки C (#define // #ifdef // #endif). Но я хочу знать,...
800 просмотров

Динамическое размещение в пространстве ядра
Я пытался выделить пространство, используя malloc в пространстве ядра для драйвера, над которым я работаю (использование malloc является ограничением; мне не разрешено выделять пространство каким-либо другим способом), но если я попытаюсь выделить...
3004 просмотров
schedule 29.10.2022

Является ли прерывание таймера независимым от того, находится ли система в режиме ядра или пользовательском режиме?
В однопроцессорной системе Linux прерывание таймера не зависит от того, находится ли система в режиме ядра или пользовательском режиме? Есть ли другое поведение для прерывания таймера, когда система находится в режиме ядра?
6201 просмотров
schedule 05.12.2023

Вызов flush_cache_range() ядра Linux, похоже, ничего не делает
Введение: У нас есть приложение, в котором Linux, работающий на ARM, принимает данные от внешнего процессора, который передает данные в пространство памяти ARM. Затем ARM необходимо получить доступ к этим данным из кода пользовательского режима....
1329 просмотров
schedule 15.11.2023

Чтение устройства из модуля ядра аналогично команде ls
Я хочу прочитать устройство из модуля ядра. Вывод должен быть похож на вывод команды «ls». Моя функция чтения: static void read_file(char *filename) { struct file *fd; char buf[1]; unsigned long long offset=0; mm_segment_t old_fs =...
361 просмотров
schedule 02.04.2024

для Linux нормально читать блок размером более 4 КБ (или несколько блоков по 4 КБ каждый) за раз?
Я пишу драйвер устройства для жесткого диска, подключенного к сети, и моя проблема заключается в том, что я вижу, что Linux отправляет запросы на мое блочное устройство, которые превышают типичные запросы 4 КБ. На самом деле, поведение, которое я...
686 просмотров
schedule 28.12.2023

Почему прототип вызова ioctl использует unsigned long в качестве третьего аргумента?
Ниже приведен прототип вызова ioctl. long ioctl(struct file *f, unsigned int cmd, unsigned long arg); Почему третий аргумент ioctl по умолчанию имеет длину без знака? Несколько раз мы передаем указатель на него. Но он использует unsigned...
1239 просмотров

Программирование драйвера устройства — USB
Я должен обсудить кодовый поток хост-контроллера USB. Этот хост-контроллер USB является интерфейсом между устройством и ОС. Существует множество USB-устройств (например, клавиатура, камера, мышь и т. д.). Где я могу найти код, чтобы увидеть, как...
1062 просмотров

Избегайте создания отладочной информации в LKM с помощью kbuild
Я собираю модуль ядра Linux (LKM) из больших файлов C (> 50 000 LOC). Это какой-то сгенерированный код вычисления RAID. Когда я пытаюсь собрать его из kbuild, gcc съедает всю память и вылетает, в то время как вызов gcc вручную работает нормально....
256 просмотров
schedule 17.02.2024

Просто черный экран после запуска Qemu
Я только что установил QEMU и скомпилировал ядро ​​Linux с поддержкой ARM, но когда я запускаю команду ниже qemu-system-arm -M versatilepb -m 128M -kernel /home/arit/QEMU/linux-3.8.4/arch/arm/boot/uImage -append "console=tty1" Я мог видеть...
10028 просмотров

Android Как сканировать скрытые точки доступа
как я могу программно сканировать скрытые точки беспроводного доступа в Android? getScanResults дайте мне только видимые точки доступа, но мне нужно обнаружить и скрытые. При программном сканировании сетей Wi-Fi (используя...
2079 просмотров

Интеграция WiFi Dongle с Beaglebone Black — проблема
Я работаю над beaglebone black, пытаясь интегрировать Wi-Fi-ключ TP link TL-WN721N, который использует драйвер atheros. Я использую ядро ​​Linux 3.2 с ti-sitara rootfs. Проблема в том, когда набирается команда wpa_supplicant -Dwext -i wlan0...
1734 просмотров

Почему заголовки ядра не хотят предоставлять прерывания модулям?
Я просто просматриваю нижеприведенную ветку, в которой говорится, что заголовки ядра не хотят предоставлять irq модулям. Доступ к массиву описания IRQ в модуле и отображение действия имена но я не уверен, почему это так? Кроме того, я вижу...
85 просмотров
schedule 24.12.2023

Установка внешнего модуля ядра Linux в каталог /lib/modules/`uname -r`/
У меня есть небольшой модуль ядра USB-драйвера. Теперь я хочу установить этот модуль в работающий каталог ядра, т.е. (/lib/modules/ uname -r /). Что также должно обновить файлы modules.alias и modules.usbmap. Доступен ли какой-нибудь скрипт для...
4526 просмотров