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

Куда исчезло поле владельца структуры proc_dir_entry? [Ядро Linux]
Согласно списку изменений API в серии ядра 2.6 на LWN поле .owner struct proc_dir_entry был удален в ядре 2.6.30. Итак, вот пара вопросов: Было ли действительно когда-либо необходимо или полезно устанавливать это поле? Поле было...
3982 просмотров
schedule 17.09.2022

Компиляция программы для пользовательского режима Linux
Я только что реализовал «псевдо» драйвер устройства и хочу его протестировать. Что я могу сделать в качестве теста, это просто: echo "something"> /dev/mydev cat /dev/mydev Мой драйвер поддерживает более продвинутый функционал и я...
638 просмотров

Отображение прерываний DMA в ядре Linux
Я пишу модуль ядра для PowerPC SoC, который содержит контроллер DMA. Я хочу сопоставить прерывания DMA в ядре Linux. моя структура DMA имеет два прерывания: struct dma { u32 dma1; u32 dma2; }*dma; Я сопоставил структуру памяти с DMA в...
3466 просмотров
schedule 17.10.2022

kmalloc снова и снова возвращает один и тот же адрес [Linux 2.4]
Я работаю над некоторым кодом в ядре Linux (2.4), и по какой-то причине kmalloc возвращает тот же адрес (я думаю, это происходит только после середины теста). Я проверил, что между вызовами kmalloc не было обращений к kfree (т.е. память все еще...
359 просмотров
schedule 10.12.2023

printk в драйвере
Я действительно новичок в программировании модулей Linux. Мне нужно как-то настроить драйвер ath9k в Linux. Наконец-то я получил исходный код ath9k для совместимости с беспроводной сетью для компиляции в Ubuntu 11.04 и попытался поиграть с кодом. Я...
649 просмотров
schedule 04.02.2024

Ошибка: Устройство или ресурс занят
Я пытаюсь написать простой модуль, который должен заменить обработчик irq 1. И все время я получаю следующую ошибку: «-1 Устройство или ресурс занят». Есть ли способ это исправить? Вот мой код: #include <linux/kernel.h> #include...
861 просмотров

Процедура регистрации драйвера устройства Linux
Я новичок в Linux, пытаюсь понять модель устройства Linux. Я просматривал кодовую базу Linux 3.1.6, особенно часть драйвера, и обнаружил, что некоторые из драйверов использовали (например, устройство i2c-bus: linux-3.1.6 / drivers / i2c /...
4686 просмотров
schedule 01.06.2024

Разница между файлами .o и .ko
Я пишу простой модуль Linux mod.c. Когда я компилирую файл mod.c, он создает два выходных файла mod.o и mod.ko . Поэтому я просто хочу знать, в чем разница между файлами mod.o и mod.ko?
58356 просмотров
schedule 09.01.2024

Как вызвать макрос module_init?
Я пишу простой драйвер устройства char. Функция, которую мы передаем в module_init(), вызывается во время установки модуля. Когда мы вставляем модуль с помощью команды insmod, вызывается функция, передаваемая в module_init(). Есть ли другой...
3556 просмотров
schedule 05.05.2024

Где в коде андроида хранится название/номер модели телефона и как он там хранится?
Я хочу знать, как телефон Android, подключенный как MTP , публикует свое имя, чтобы оно отображалось на моем компьютере. Я считаю, что драйверы mtp/usb получают значение от верхних уровней, таких как классы Java mtp/usb в слоях фреймворка. Я...
2467 просмотров

как упаковать структуру внутри структуры
Позвольте мне уточнить, я хочу дополнить внутреннюю структуру, как мне это сделать ..? Пример- где struct b struct b{ u_int32_t aa; u_int32_t bb; }; struct c{ u_int64_t cc; }; Теперь мой компилятор выполняет заполнение 8 байтов...
173 просмотров

Размер хранилища неизвестен
Это часть корпуса коммутатора IOCTL. Я получаю следующую ошибку? ошибка: размер хранилища «данных» неизвестен ошибка: «mesg» не объявлен (первое использование в этой функции) case PASS_STRUCT: struct mesg{ int pIDs[SIZE];...
5385 просмотров

Узел устройства в /dev/tty* не создается для последовательного драйвера uart
Я написал простой последовательный драйвер UART во встроенном Linux, работающем с busybox с правилами mdev. Я указал .dev_name как " ttyC2C " в своем коде драйвера. static struct uart_driver serial_omap_reg = { .owner = THIS_MODULE,...
6831 просмотров

Как создается файл .ko
Я пытаюсь перенести свой собственный драйвер на плату Beagle xm arm-cortex-A8 . Во время переноса я пытаюсь понять, как на самом деле создается файл .ko . В нашем Makefile у нас есть только команда для создания файла .o . Как создается .ko...
4067 просмотров

Как интерпретировать адреса в ядре упс
У меня есть ядро ​​​​упс в драйвере устройства Linux, которое я написал. Я хочу определить, какая строка отвечает за oops. У меня есть следующий вывод, но я не знаю, как его интерпретировать. Означает ли это, что мой код завис на инструкции...
16410 просмотров
schedule 21.02.2024

Как скомпилировать сетевые драйверы ixgbe на другой версии ядра Linux
Я использую версию ядра Linux 3.6.7. Я хочу скомпилировать сетевые драйверы ixgbe для версии 2.6.39.4. Уточните порядок действий
835 просмотров

Как Linux узнает об отложенной работе в драйвере и когда именно использовать данные, полученные от аппаратного устройства?
Когда ядро ​​пытается прочитать блок с жесткого диска, оно отправляет программное прерывание, которое будет обрабатываться драйвером устройства. Если драйвер устройства разделяет работу по обработке запроса на верхнюю и нижнюю половины с помощью...
348 просмотров
schedule 01.12.2022

Как несколько обработчиков прерываний совместно используют адрес 0x00000018
Я читаю о том, как обрабатываются прерывания в ARM, и узнал, что всякий раз, когда приходят какие-либо аппаратные прерывания, выполняется инструкция по адресу 0x00000018, что обычно является переходом к уважаемому обработчику прерывания, но для разных...
1164 просмотров

куда мы пишем в /proc/net/xt_qtaguid?
В android_net_TrafficStats.cpp и driver_wired.c читается файл /proc/net/xt_qtaguid . Я искал полностью, но я не нашел, откуда этот файл записывается. Помогите, пожалуйста, найти файл, в котором мы открываем файл /proc/net/xt_qtaguid в режиме...
2562 просмотров

Ошибка драйвера устройства I2C [расширитель ввода-вывода TCA6408]
Я хочу подключить TCA6408 IO Expander и получить ключевой ввод для моей встроенной системы. Я пытаюсь использовать SABRELite (iMX6Q) Boad, и моя среда разработки — LTIB (L3.0.35_4.1.0_130816_source.tar.gz). Я сделал следующие модификации 1.)...
2882 просмотров